From 1de396363f4a8e0d9bb1634fc2d1043861e3eb71 Mon Sep 17 00:00:00 2001 From: Liang Yi Date: Tue, 19 Jan 2021 02:17:14 +0800 Subject: [PATCH] hv: modularization: avoid dependency of multiboot on zeropage.h. Split off definition of "struct efi_info" into a separate header file lib/efi.h. Tracked-On: #5661 Signed-off-by: Jason Chen CJ Reviewed-by: Jason Chen CJ --- hypervisor/arch/x86/trampoline.c | 1 + hypervisor/boot/include/multiboot.h | 2 +- hypervisor/include/arch/x86/zeropage.h | 12 +----------- hypervisor/include/lib/efi.h | 21 +++++++++++++++++++++ 4 files changed, 24 insertions(+), 12 deletions(-) create mode 100644 hypervisor/include/lib/efi.h diff --git a/hypervisor/arch/x86/trampoline.c b/hypervisor/arch/x86/trampoline.c index bc7721d8b..19139081a 100644 --- a/hypervisor/arch/x86/trampoline.c +++ b/hypervisor/arch/x86/trampoline.c @@ -10,6 +10,7 @@ #include #include #include +#include static uint64_t trampoline_start16_paddr; diff --git a/hypervisor/boot/include/multiboot.h b/hypervisor/boot/include/multiboot.h index 174ee17c8..cd929717c 100644 --- a/hypervisor/boot/include/multiboot.h +++ b/hypervisor/boot/include/multiboot.h @@ -41,7 +41,7 @@ #ifndef ASSEMBLER -#include +#include #include struct multiboot_mmap { diff --git a/hypervisor/include/arch/x86/zeropage.h b/hypervisor/include/arch/x86/zeropage.h index 935407754..746ce29ef 100644 --- a/hypervisor/include/arch/x86/zeropage.h +++ b/hypervisor/include/arch/x86/zeropage.h @@ -7,17 +7,7 @@ #ifndef ZEROPAGE_H #define ZEROPAGE_H #include - -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; +#include struct zero_page { uint8_t pad0[0x1c0]; /* 0x000 */ diff --git a/hypervisor/include/lib/efi.h b/hypervisor/include/lib/efi.h new file mode 100644 index 000000000..ab35da076 --- /dev/null +++ b/hypervisor/include/lib/efi.h @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020 Intel Corporation. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef EFI_H +#define EFI_H + +struct efi_info { + uint32_t efi_loader_signature; /* 0x1c0 */ + 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; + +#endif