mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-01-04 23:24:56 +00:00
hv:enable GVT-d for pre-launched linux guest in logical partion mode
When pass-thru GPU to pre-launched Linux guest, need to pass GPU OpRegion to the guest. Here's the detailed steps: 1. reserve a memory region in ve820 table for GPU OpRegion 2. build EPT mapping for GPU OpRegion to pass-thru OpRegion to guest 3. emulate the pci config register for OpRegion For the third step, here's detailed description: The address of OpRegion locates on PCI config space offset 0xFC, Normal Linux guest won't write this register, so we can regard this register as read-only. When guest reads this register, return the emulated value. When guest writes this register, ignore the operation. Tracked-On: #6387 Signed-off-by: Liu,Junming <junming.liu@intel.com>
This commit is contained in:
@@ -19,6 +19,11 @@ enum intx_ctlr {
|
||||
#define PTDEV_INTR_MSI (1U << 0U)
|
||||
#define PTDEV_INTR_INTX (1U << 1U)
|
||||
|
||||
#define GPU_OPREGION_SIZE 0x5000U
|
||||
#define GPU_OPREGION_GPA 0x40880000U
|
||||
#define PCIR_ASLS_CTL 0xfcU /* register offset in PCIe configuration space for Opregion base address */
|
||||
#define PCIM_ASLS_OPREGION_MASK 0xfffff000U /* opregion need 4KB aligned */
|
||||
|
||||
#define INVALID_PTDEV_ENTRY_ID 0xffffU
|
||||
|
||||
#define DEFINE_MSI_SID(name, a, b) \
|
||||
|
||||
Reference in New Issue
Block a user