mirror of https://gitee.com/openkylin/qemu.git
ee954280da
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: Gavin Shan <gwshan@linux.vnet.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de> |
||
---|---|---|
.. | ||
Makefile.objs | ||
e500-ccsr.h | ||
e500.c | ||
e500.h | ||
e500plat.c | ||
mac.h | ||
mac_newworld.c | ||
mac_oldworld.c | ||
mpc8544_guts.c | ||
mpc8544ds.c | ||
ppc.c | ||
ppc4xx_devs.c | ||
ppc4xx_pci.c | ||
ppc405.h | ||
ppc405_boards.c | ||
ppc405_uc.c | ||
ppc440_bamboo.c | ||
ppc_booke.c | ||
ppce500_spin.c | ||
prep.c | ||
spapr.c | ||
spapr_events.c | ||
spapr_hcall.c | ||
spapr_iommu.c | ||
spapr_pci.c | ||
spapr_pci_vfio.c | ||
spapr_rtas.c | ||
spapr_rtc.c | ||
spapr_vio.c | ||
virtex_ml507.c |