acrn-hypervisor/hypervisor/include/arch/x86
Yonghua Huang 4d13ad9d08 hv: enable NX in hypervisor
- enable NX feature in hypervisor:
  1. Set 'XD' bit for all pages, including pages for guests
     when initialize MMU tables in hypervisor.
  2. remove 'XD' bit for pages that contain hypervisor instructions.
  3. enable MSR EFER.NXE,which will enable page access restriction by
     preventing instruction fetches form pages with XD bit set.

- remove "-Wl -z noexecstack" GCC flag option in hypervisor
  Makefile as it would not affect stack attribute in hyervisor,
  which setup stack itself, instead of by loader.

Tracked-On: #1122
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2018-12-12 12:53:18 +08:00
..
boot move idt.S and idt.h out of boot component 2018-12-12 09:07:43 +08:00
guest HV: improve e820 interfaces and their usages 2018-12-12 09:12:12 +08:00
abl_seed_parse.h HV:treewide:rename vm data structure 2018-11-05 15:35:49 +08:00
apicreg.h hv: replace CPU_PAGE_SIZE with PAGE_SIZE 2018-12-03 15:14:57 +08:00
assign.h hv:Rename ptdev to ptirq for some APIs 2018-11-30 13:27:49 +08:00
cpu.h hv: x2APICv support on platforms without support for APICv reg virtualization 2018-12-05 09:21:27 +08:00
cpufeatures.h HV: add CPU capabilities detection for L1TF mitigation 2018-11-01 11:21:15 +08:00
cpuid.h hv: clear CPUID.07H.EBX[2] to disable SGX from guests 2018-11-30 15:03:16 +08:00
e820.h HV: improve e820 interfaces and their usages 2018-12-12 09:12:12 +08:00
gdt.h hv: remove unused MACROs 2018-09-18 09:43:43 +08:00
host_pm.h hv: fix included file not protected with #define 2018-12-07 16:39:58 +08:00
hv_arch.h hv: mmu: add static paging table allocation for hypervisor 2018-11-02 13:15:48 +08:00
idt.h move idt.S and idt.h out of boot component 2018-12-12 09:07:43 +08:00
io.h hv: change the param type of mmio_write** 2018-12-04 09:10:54 +08:00
ioapic.h hv: ioapic: clean up HV_DEBUG usage 2018-11-23 12:21:02 +08:00
ioreq.h doc: replace return with retval 2018-11-30 14:55:17 +08:00
irq.h hv: fixes related to unused API and uninitialized variable 2018-12-04 16:49:49 +08:00
lapic.h doc: hv: add comments to irq APIs for documentation 2018-11-02 15:34:36 -07:00
mmu.h hv: enable NX in hypervisor 2018-12-12 12:53:18 +08:00
msr.h hv: code cleanup: msr.h 2018-11-21 14:45:43 +08:00
mtrr.h doc: replace return with retval 2018-11-30 14:55:17 +08:00
multiboot.h HV: separate e820 related code as e820.c/h 2018-12-12 09:12:12 +08:00
page.h hv: fix 'Unused procedure parameter' 2018-12-04 18:28:32 +08:00
per_cpu.h hv: replace CPU_PAGE_SIZE with PAGE_SIZE 2018-12-03 15:14:57 +08:00
pgtable.h doc: replace return with retval 2018-11-30 14:55:17 +08:00
sbl_seed_parse.h HV:treewide:rename vm data structure 2018-11-05 15:35:49 +08:00
timer.h doc: hv: add comments to timer APIs for documentation 2018-12-04 15:09:47 +08:00
trampoline.h modularization: boot component -- move functions 2018-12-03 09:09:44 +08:00
trusty.h hv: trusty: refine trusty memory region mapping 2018-11-30 16:49:27 +08:00
vmexit.h hv: fixes related to unused API and uninitialized variable 2018-12-04 16:49:49 +08:00
vmx.h fix "Procedure is not pure assembler" 2018-11-13 16:28:58 +08:00
vtd.h hv: fix type conversion violations 2018-11-30 18:14:59 +08:00
zeropage.h hv: minimize the case of "identifier reuse" 2018-12-07 15:21:39 +08:00