HV: init efi info with multiboot2

Initialize efi info of acrn mbi when boot from multiboot2 protocol, with
this patch hypervisor could get host efi info and pass it to Linux zeropage,
then make guest Linux possible to boot with efi environment;

Tracked-On: #4419

Signed-off-by: Victor Sun <victor.sun@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Victor Sun
2020-02-19 16:12:55 +08:00
committed by wenlingz
parent 69da0243f5
commit da3d181f62
6 changed files with 97 additions and 3 deletions

View File

@@ -8,8 +8,23 @@
#define ZEROPAGE_H
#include <e820.h>
struct efi_info {
uint32_t efi_loader_signature; /* 0x1d0 */
uint32_t efi_systab; /* 0x1c4 */
uint32_t efi_memdesc_size; /* 0x1c8 */
uint32_t efi_memdesc_version; /* 0x1cc */
uint32_t efi_memmap; /* 0x1d0 */
uint32_t efi_memmap_size; /* 0x1d4 */
uint32_t efi_systab_hi; /* 0x1d8 */
uint32_t efi_memmap_hi; /* 0x1dc */
} __packed;
struct zero_page {
uint8_t pad1[0x1e8]; /* 0x000 */
uint8_t pad0[0x1c0]; /* 0x000 */
struct efi_info boot_efi_info;
uint8_t pad1[0x8]; /* 0x1e0 */
uint8_t e820_nentries; /* 0x1e8 */
uint8_t pad2[0x8]; /* 0x1e9 */