hv: Other preparation for trampoline code relocation

- For UEFI boot, allocate memory for trampoline code in ACRN EFI,
  and pass the pointer to HV through efi_ctx
- Correct LOW_RAM_SIZE and LOW_RAM_START in Kconfig and bsp_cfg.h
- use trampline_start16_paddr instead of the hardcoded
  CONFIG_LOW_RAM_START for initial guest GDT and page tables

Signed-off-by: Zheng, Gen <gen.zheng@intel.com>
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
Acked-by: Xu, Anthony <anthony.xu@intel.com>
This commit is contained in:
Zide Chen
2018-05-02 23:39:57 -07:00
committed by lijinxia
parent 40c8c4d3c3
commit 2a1a6ad0af
10 changed files with 24 additions and 21 deletions

View File

@@ -169,6 +169,7 @@ extern uint8_t trampline_pdpt_addr[];
extern uint8_t trampline_gdt_ptr[];
extern uint8_t trampline_start64_fixup[];
extern uint64_t trampline_start16_paddr;
extern int ibrs_type;
/*

View File

@@ -15,6 +15,7 @@ typedef struct {
struct efi_ctx {
uint64_t rip;
void *rsdp;
void *ap_trampline_buf;
dt_addr_t gdt;
dt_addr_t idt;
uint16_t tr_sel;
@@ -50,5 +51,6 @@ struct efi_ctx {
}__attribute__((packed));
void *get_rsdp_from_uefi(void);
void *get_ap_trampline_buf(void);
#endif /* UEFI_H*/