• G
    sPAPR: Implement EEH RTAS calls · ee954280
    Gavin Shan 提交于
    The emulation for EEH RTAS requests from guest isn't covered
    by QEMU yet and the patch implements them.
    
    The patch defines constants used by EEH RTAS calls and adds
    callbacks sPAPRPHBClass::{eeh_set_option, eeh_get_state, eeh_reset,
    eeh_configure}, which are going to be used as follows:
    
      * RTAS calls are received in spapr_pci.c, sanity check is done
        there.
      * RTAS handlers handle what they can. If there is something it
        cannot handle and the corresponding sPAPRPHBClass callback is
        defined, it is called.
      * Those callbacks are only implemented for VFIO now. They do ioctl()
        to the IOMMU container fd to complete the calls. Error codes from
        that ioctl() are transferred back to the guest.
    
    [aik: defined RTAS tokens for EEH RTAS calls]
    Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
    Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: NAlexander Graf <agraf@suse.de>
    ee954280
spapr_pci.c 39.9 KB