HV: re-arch boot component header

The patch re-arch boot component header files by:

- moving multiboot.h from include/arch/x86/ to boot/include/ and keep
  this header for multiboot1 protocol data struct only;

- moving multiboot related MACROs in cpu_primary.S to multiboot.h;

- creating an independent boot.h to store acrn specific boot information
  for other files' reference;

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-20 15:15:03 +08:00 committed by wenlingz
parent 708cae7c88
commit 520a0222d3
10 changed files with 36 additions and 16 deletions

View File

@ -21,9 +21,9 @@
* the macros involved are changed. * the macros involved are changed.
*/ */
#include <multiboot.h>
/* MULTIBOOT HEADER */ /* MULTIBOOT HEADER */
#define MULTIBOOT_HEADER_MAGIC 0x1badb002 #define MULTIBOOT_HEADER_FLAGS MULTIBOOT_HEADER_NEED_MEMINFO
#define MULTIBOOT_HEADER_FLAGS 0x00000002 /*flags bit 1 : enable mem_*, mmap_**/
.extern cpu_primary_save32 .extern cpu_primary_save32
.extern cpu_primary_save64 .extern cpu_primary_save64

View File

@ -9,7 +9,7 @@
#include <page.h> #include <page.h>
#include <e820.h> #include <e820.h>
#include <mmu.h> #include <mmu.h>
#include <multiboot.h> #include <boot.h>
#include <logmsg.h> #include <logmsg.h>
/* /*

View File

@ -11,7 +11,7 @@
#include <sprintf.h> #include <sprintf.h>
#include <ept.h> #include <ept.h>
#include <logmsg.h> #include <logmsg.h>
#include <multiboot.h> #include <boot.h>
#include <crypto_api.h> #include <crypto_api.h>
#include <seed.h> #include <seed.h>
#include "seed_abl.h" #include "seed_abl.h"

View File

@ -6,11 +6,10 @@
#include <types.h> #include <types.h>
#include <errno.h> #include <errno.h>
#include <multiboot.h> #include <boot.h>
#include <pgtable.h> #include <pgtable.h>
#include <dbg_cmd.h> #include <dbg_cmd.h>
#include <logmsg.h> #include <logmsg.h>
#include <vboot.h>
void parse_hv_cmdline(void) void parse_hv_cmdline(void)
{ {

View File

@ -15,7 +15,7 @@
#include <lapic.h> #include <lapic.h>
#include <per_cpu.h> #include <per_cpu.h>
#include <guest/vm.h> #include <guest/vm.h>
#include <multiboot.h> #include <boot.h>
#include <deprivilege_boot.h> #include <deprivilege_boot.h>
static struct depri_boot_context depri_boot_ctx; static struct depri_boot_context depri_boot_ctx;

View File

@ -10,7 +10,7 @@
#include <per_cpu.h> #include <per_cpu.h>
#include <irq.h> #include <irq.h>
#include <boot_context.h> #include <boot_context.h>
#include <multiboot.h> #include <boot.h>
#include <pgtable.h> #include <pgtable.h>
#include <zeropage.h> #include <zeropage.h>
#include <seed.h> #include <seed.h>

View File

@ -4,11 +4,11 @@
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
#include <multiboot.h>
#include <vm.h> #include <vm.h>
#include <types.h> #include <types.h>
#include <pgtable.h> #include <pgtable.h>
#include <acpi.h> #include <acpi.h>
#include <boot.h>
#include <vboot.h> #include <vboot.h>
#include <direct_boot.h> #include <direct_boot.h>
#include <deprivilege_boot.h> #include <deprivilege_boot.h>

View File

@ -0,0 +1,17 @@
/*
* Copyright (C) 2020 Intel Corporation. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef BOOT_H_
#define BOOT_H_
#include <multiboot.h>
#define MAX_BOOTARGS_SIZE 2048U
/* boot_regs store the multiboot info magic and address */
extern uint32_t boot_regs[2];
#endif /* BOOT_H_ */

View File

@ -7,16 +7,20 @@
#ifndef MULTIBOOT_H #ifndef MULTIBOOT_H
#define MULTIBOOT_H #define MULTIBOOT_H
#include <types.h> #define MULTIBOOT_HEADER_MAGIC 0x1BADB002
#define MULTIBOOT_INFO_MAGIC 0x2BADB002U #define MULTIBOOT_INFO_MAGIC 0x2BADB002U
/* MULTIBOOT HEADER FLAGS */
#define MULTIBOOT_HEADER_NEED_MEMINFO 0x00000002
/* MULTIBOOT INFO FLAGS */
#define MULTIBOOT_INFO_HAS_CMDLINE 0x00000004U #define MULTIBOOT_INFO_HAS_CMDLINE 0x00000004U
#define MULTIBOOT_INFO_HAS_MODS 0x00000008U #define MULTIBOOT_INFO_HAS_MODS 0x00000008U
#define MULTIBOOT_INFO_HAS_MMAP 0x00000040U #define MULTIBOOT_INFO_HAS_MMAP 0x00000040U
#define MULTIBOOT_INFO_HAS_DRIVES 0x00000080U #define MULTIBOOT_INFO_HAS_DRIVES 0x00000080U
#define MULTIBOOT_INFO_HAS_LOADER_NAME 0x00000200U #define MULTIBOOT_INFO_HAS_LOADER_NAME 0x00000200U
/* maximum lengt of the guest OS' command line parameter string */ #ifndef ASSEMBLER
#define MAX_BOOTARGS_SIZE 2048U
struct multiboot_info { struct multiboot_info {
uint32_t mi_flags; uint32_t mi_flags;
@ -83,6 +87,6 @@ struct multiboot_module {
uint32_t mm_reserved; uint32_t mm_reserved;
}; };
/* boot_regs store the multiboot header address */ #endif /* ASSEMBLER */
extern uint32_t boot_regs[2];
#endif #endif /* MULTIBOOT_H */

View File

@ -9,7 +9,7 @@
#include <types.h> #include <types.h>
#include <pci.h> #include <pci.h>
#include <multiboot.h> #include <boot.h>
#include <acrn_common.h> #include <acrn_common.h>
#include <vm_configurations.h> #include <vm_configurations.h>
#include <sgx.h> #include <sgx.h>