acrn-hypervisor/hypervisor/arch/x86
Liu,Junming 2c5c8754de 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>
2021-08-19 11:56:26 +08:00
..
boot HV: modularization: rename multiboot.h to boot.h 2021-06-11 10:06:02 +08:00
configs hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
guest hv:enable GVT-d for pre-launched linux guest in logical partion mode 2021-08-19 11:56:26 +08:00
lib HV: rewrite memcpy_s to be iso c11 compliant 2020-06-08 13:30:04 +08:00
seed HV: modularization: use cmdline char array in acrn boot info 2021-06-11 10:06:02 +08:00
cpu_caps.c hv: remove xsave dependence 2021-08-10 16:36:15 +08:00
cpu_state_tbl.c hv: dm: Use new power management data structures 2021-07-15 11:53:54 +08:00
cpu.c hv: remove xsave dependence 2021-08-10 16:36:15 +08:00
e820.c HV: init hv_e820 from efi mmap if boot from uefi 2021-06-11 10:06:02 +08:00
exception.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
gdt.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
idt.S hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
init.c HV: modularization: add boot.c to wrap multiboot module 2021-06-11 10:06:02 +08:00
ioapic.c hv: paging: rename ppt_set/clear_ATTR to set_paging_ATTR 2021-05-14 09:18:00 +08:00
irq.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
lapic.c hv/mod_timer: separate delay functions from the timer module 2021-05-18 16:43:28 +08:00
mmu.c hv: remove the constraint "MMU and EPT must both support large page or not" 2021-08-03 11:01:24 +08:00
nmi.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
notify.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
page.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
pagetable.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
platform_caps.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
pm.c hv: dm: Use new power management data structures 2021-07-15 11:53:54 +08:00
rdt.c hv: some coding style fixes 2021-05-12 16:50:34 +08:00
rtcm.c hv: update RTCT ACPI table detecting 2021-06-01 08:22:20 +08:00
sched.S hv: sched: rename schedule related structs and vars 2019-10-16 10:25:53 +08:00
security.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
sgx.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
trampoline.c hv: cache: wrap common APIs 2021-05-14 09:18:00 +08:00
tsc_deadline_timer.c hv/mod_timer: make timer into an arch-independent module 2021-05-18 16:43:28 +08:00
tsc.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
vmx.c hv: VMPTRLD and VMCLEAR VMCS with the common APIs 2021-05-26 11:22:26 +08:00
vtd.c hv: vtd: a minor refine about dmar_wait_completion 2021-08-10 16:36:15 +08:00
wakeup.S hv: pm: correct the function name 2019-09-11 17:30:24 +08:00