hv: remove CONFIG_PARTITION_MODE for pre-launched VM vE820 creation

Preparing for hybrid mode:

- create vE820 for pre-launched VMs and do other init code when the
  vm_config->type is PRE_LAUNCHED_VM.
- create ve820.c for each board because without wrapping by
  CONFIG_PARTITION_MODE, ve820_entry[] needs to be visible even when
  compiling target boards that haven't enabled pre-launched VMs.
- remove create_prelaunched_vm_e820() from vm.c and implement board
  specific function for each $(CONFIG_BOARD)/ve820.c. The reasons being:
  - don't need to define ve820_entry[32] for those boards that don't
    support pre-launched VMs.
  - more importantly, this makes it much easier to create different per-VM
    vE820 when it's needed.

Tracked-On: #2291
Signed-off-by: Zide Chen <zide.chen@intel.com>
This commit is contained in:
Zide Chen
2019-03-13 09:11:36 -07:00
committed by wenlingz
parent ca6e341147
commit 5398c901f6
9 changed files with 87 additions and 20 deletions

View File

@@ -8,6 +8,9 @@
#include <types.h>
/* forward declarations */
struct acrn_vm;
struct platform_clos_info {
uint32_t clos_mask;
uint32_t msr_index;
@@ -16,4 +19,7 @@ struct platform_clos_info {
extern struct platform_clos_info platform_clos_array[];
extern uint16_t platform_clos_num;
/* board specific functions */
void create_prelaunched_vm_e820(struct acrn_vm *vm);
#endif /* BOARD_H */

View File

@@ -34,8 +34,6 @@ struct e820_mem_params {
uint64_t total_mem_size;
};
extern const struct e820_entry ve820_entry[E820_MAX_ENTRIES];
/* HV read multiboot header to get e820 entries info and calc total RAM info */
void init_e820(void);