acrn-hypervisor/hypervisor/arch/x86
Zide Chen bc8b3a40f8 hv: fixup addresses in the assembly code for relocation
In cpu_primary.S
- Assign %rsp in cpu_primary_start_64(), so we can call _relocate()
  before any references to the symbols that need to be patched
- Move lidtq instruction and the IDT fixup code after _relocate() call
- In code64 part, replace 'mov' with 'lea' for correct addressing
- No relocation is needed in code32 part

In trampoline.S:
- add trampoline_spinlock_ptr pointer, so we may be able to fixup
  trampoline code in HV

Signed-off-by: Zheng Gen <gen.zheng@intel.com>
Signed-off-by: Zide Chen <zide.chen@intel.com>
Reviewed-by: Yin Fengwei <fengwei.yin@intel.com>
2018-07-11 10:25:16 +08:00
..
configs HV: config: add Kconfig and defconfigs for sbl & uefi 2018-06-08 17:21:13 +08:00
debug HV: further cleanup of header inclusions 2018-05-25 10:45:56 +08:00
guest hv:fix return value violation in prepare_vm0 2018-07-10 16:36:05 +08:00
assign.c hv:fix "missing for discarded return value" for memcpy_s and strcpy_s 2018-07-09 09:22:37 +08:00
cpu_primary.S hv: fixup addresses in the assembly code for relocation 2018-07-11 10:25:16 +08:00
cpu_state_tbl.c HV:CPU: Add 'U/UL' for unsigned const value 2018-07-09 10:27:21 +08:00
cpu.c [REVERT-ME]: disable turbo mode 2018-07-10 16:37:40 +08:00
cpuid.c HV: Assignment should not mix with operator 2018-07-10 11:56:36 +08:00
ept.c HV:MM:add 'U/UL' suffix for unsigned contant value 2018-07-11 09:23:03 +08:00
gdt.c HV:misc:add suffix U to the numeric constant 2018-07-05 11:29:46 +08:00
idt.S license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
io.c hv:fix "missing for discarded return value" for memset 2018-07-05 14:14:48 +08:00
ioapic.c HV: ioapic: clean up remaining integral-related violations 2018-07-10 10:28:03 +08:00
irq.c HV: Rename 'CPU_BOOT_ID' to 'BOOT_CPU_ID' 2018-07-10 11:51:12 +08:00
Kconfig HV: correct loglevel definitions and default values 2018-06-20 13:23:46 +08:00
lapic.c HV:treewide:Clean up field names of struct cpuinfo_x86 2018-07-10 13:24:55 +08:00
mmu.c HV:MM:add 'U/UL' suffix for unsigned contant value 2018-07-11 09:23:03 +08:00
mtrr.c HV:Treewide:Update the type of vcpu id as uint16_t 2018-07-04 14:28:52 +08:00
notify.c HV:misc:add suffix U to the numeric constant 2018-07-05 11:29:46 +08:00
pm.c HV: io: spell out explicit narrowing of integers 2018-07-10 13:10:10 +08:00
retpoline-thunk.S license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
softirq.c HV:misc:add suffix U to the numeric constant 2018-07-05 11:29:46 +08:00
timer.c HV: Moving operators out from conditions 2018-07-09 13:10:34 +08:00
trampoline.S hv: fixup addresses in the assembly code for relocation 2018-07-11 10:25:16 +08:00
trusty.c HV:MM:add 'U/UL' suffix for unsigned contant value 2018-07-11 09:23:03 +08:00
virq.c hv:fix return value violation in vmexit handler 2018-07-10 16:35:20 +08:00
vmexit.c hv:fix return value violation in vmexit handler 2018-07-10 16:35:20 +08:00
vmx_asm.S HV:CPU:Constant values replace with CPU MACRO 2018-07-09 09:24:56 +08:00
vmx.c hv: no need to return error when inject GP 2018-07-10 16:35:20 +08:00
vtd.c HV: Moving operators out from conditions 2018-07-09 13:10:34 +08:00
wakeup.S HV:CPU:Constant values replace with CPU MACRO 2018-07-09 09:24:56 +08:00