• Jack Morgenstein's avatar
    mlx4_core: Add support for secure-host and SMP firewall · 114840c3
    Jack Morgenstein authored
    Secure-host is the general term for the capability of a device
    to protect itself and the subnet from malicious host software.
    
    This is achieved by:
    1. Not allowing un-trusted entities to access device configuration
       registers, directly (through pci_cr or pci_conf) and indirectly
       (through MADs).
    
    2. Hiding M_Key from untrusted entities.
    
    3. Preventing the modification of GUID0 by un-trusted entities
    
    4. Not allowing drivers on untrusted hosts to receive nor to transmit
       packets over QP0 (SMP Firewall).
    
    The secure-host capability depends on firmware handling all QP0
    packets, and not passing these packets up to the driver. Any information
    required by the driver for proper operation (e.g., SM lid) is passed
    via events generated by the firmware while processing QP0 MADs.
    
    Driver support mainly requires using the MAD_DEMUX FW command at startup,
    where the feature is enabled/disabled through a procedure described in
    the Mellanox HCA tools package.
    Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    
    [ Fix error path in mlx4_setup_hca to go to err_mcg_table_free. - Roland ]
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    114840c3
fw.c 69.3 KB