diff --git a/hypervisor/arch/x86/configs/apl-mrb/partition_config.h b/hypervisor/arch/x86/configs/apl-mrb/partition_config.h index 04af8a3cb..fabe46052 100644 --- a/hypervisor/arch/x86/configs/apl-mrb/partition_config.h +++ b/hypervisor/arch/x86/configs/apl-mrb/partition_config.h @@ -7,8 +7,6 @@ #ifndef PARTITION_CONFIG_H #define PARTITION_CONFIG_H -#define PRE_LAUNCH_VM_NUM 2 - #define VM0_CONFIGURED #define VM0_CONFIG_NAME "PRE-LAUNCHED VM1 for APL-MRB" diff --git a/hypervisor/arch/x86/configs/apl-mrb/pt_dev.c b/hypervisor/arch/x86/configs/apl-mrb/pt_dev.c index 20a36793e..94af133e7 100644 --- a/hypervisor/arch/x86/configs/apl-mrb/pt_dev.c +++ b/hypervisor/arch/x86/configs/apl-mrb/pt_dev.c @@ -5,8 +5,9 @@ */ #include +#include -struct acrn_vm_pci_ptdev_config vm0_pci_ptdevs[2] = { +struct acrn_vm_pci_ptdev_config vm0_pci_ptdevs[VM0_CONFIG_PCI_PTDEV_NUM] = { { .vbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U}, .pbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U}, @@ -17,7 +18,7 @@ struct acrn_vm_pci_ptdev_config vm0_pci_ptdevs[2] = { }, }; -struct acrn_vm_pci_ptdev_config vm1_pci_ptdevs[3] = { +struct acrn_vm_pci_ptdev_config vm1_pci_ptdevs[VM1_CONFIG_PCI_PTDEV_NUM] = { { .vbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U}, .pbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U}, diff --git a/hypervisor/arch/x86/configs/apl-mrb/ve820.c b/hypervisor/arch/x86/configs/apl-mrb/ve820.c index aa75582dc..90576f1ea 100644 --- a/hypervisor/arch/x86/configs/apl-mrb/ve820.c +++ b/hypervisor/arch/x86/configs/apl-mrb/ve820.c @@ -8,32 +8,32 @@ const struct e820_entry ve820_entry[E820_MAX_ENTRIES] = { { /* 0 to mptable */ - .baseaddr = 0x0U, - .length = 0xEFFFFU, - .type = E820_TYPE_RAM + .baseaddr = 0x0UL, + .length = 0xEFFFFUL, + .type = E820_TYPE_RAM }, { /* mptable 65536U */ - .baseaddr = 0xF0000U, - .length = 0x10000U, - .type = E820_TYPE_RESERVED + .baseaddr = 0xF0000UL, + .length = 0x10000UL, + .type = E820_TYPE_RESERVED }, { /* mptable to lowmem */ - .baseaddr = 0x100000U, - .length = 0x1FF00000U, - .type = E820_TYPE_RAM + .baseaddr = 0x100000UL, + .length = 0x1FF00000UL, + .type = E820_TYPE_RAM }, { /* lowmem to PCI hole */ - .baseaddr = 0x20000000U, - .length = 0xa0000000U, - .type = E820_TYPE_RESERVED + .baseaddr = 0x20000000UL, + .length = 0xa0000000UL, + .type = E820_TYPE_RESERVED }, { /* PCI hole to 4G */ - .baseaddr = 0xe0000000U, - .length = 0x20000000U, - .type = E820_TYPE_RESERVED + .baseaddr = 0xe0000000UL, + .length = 0x20000000UL, + .type = E820_TYPE_RESERVED }, }; diff --git a/hypervisor/arch/x86/configs/dnv-cb2/partition_config.h b/hypervisor/arch/x86/configs/dnv-cb2/partition_config.h index 739e56c63..310168e54 100644 --- a/hypervisor/arch/x86/configs/dnv-cb2/partition_config.h +++ b/hypervisor/arch/x86/configs/dnv-cb2/partition_config.h @@ -7,8 +7,6 @@ #ifndef PARTITION_CONFIG_H #define PARTITION_CONFIG_H -#define PRE_LAUNCH_VM_NUM 2 - #define VM0_CONFIGURED #define VM0_CONFIG_NAME "PRE-LAUNCHED VM1 for DNV-CB2" diff --git a/hypervisor/arch/x86/configs/dnv-cb2/pt_dev.c b/hypervisor/arch/x86/configs/dnv-cb2/pt_dev.c index be371e144..5c4935cea 100644 --- a/hypervisor/arch/x86/configs/dnv-cb2/pt_dev.c +++ b/hypervisor/arch/x86/configs/dnv-cb2/pt_dev.c @@ -5,8 +5,9 @@ */ #include +#include -struct acrn_vm_pci_ptdev_config vm0_pci_ptdevs[3] = { +struct acrn_vm_pci_ptdev_config vm0_pci_ptdevs[VM0_CONFIG_PCI_PTDEV_NUM] = { { .vbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U}, .pbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U}, @@ -21,7 +22,7 @@ struct acrn_vm_pci_ptdev_config vm0_pci_ptdevs[3] = { }, }; -struct acrn_vm_pci_ptdev_config vm1_pci_ptdevs[3] = { +struct acrn_vm_pci_ptdev_config vm1_pci_ptdevs[VM1_CONFIG_PCI_PTDEV_NUM] = { { .vbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U}, .pbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U}, diff --git a/hypervisor/arch/x86/configs/dnv-cb2/ve820.c b/hypervisor/arch/x86/configs/dnv-cb2/ve820.c index 792cc81d9..6aa999b26 100644 --- a/hypervisor/arch/x86/configs/dnv-cb2/ve820.c +++ b/hypervisor/arch/x86/configs/dnv-cb2/ve820.c @@ -8,32 +8,32 @@ const struct e820_entry ve820_entry[E820_MAX_ENTRIES] = { { /* 0 to mptable */ - .baseaddr = 0x0U, - .length = 0xEFFFFU, - .type = E820_TYPE_RAM + .baseaddr = 0x0UL, + .length = 0xEFFFFUL, + .type = E820_TYPE_RAM }, { /* mptable 65536U */ - .baseaddr = 0xF0000U, - .length = 0x10000U, - .type = E820_TYPE_RESERVED + .baseaddr = 0xF0000UL, + .length = 0x10000UL, + .type = E820_TYPE_RESERVED }, { /* mptable to lowmem */ - .baseaddr = 0x100000U, - .length = 0x7FF00000U, - .type = E820_TYPE_RAM + .baseaddr = 0x100000UL, + .length = 0x7FF00000UL, + .type = E820_TYPE_RAM }, { /* lowmem to PCI hole */ - .baseaddr = 0x80000000U, - .length = 0x40000000U, - .type = E820_TYPE_RESERVED + .baseaddr = 0x80000000UL, + .length = 0x40000000UL, + .type = E820_TYPE_RESERVED }, { /* PCI hole to 4G */ - .baseaddr = 0xe0000000U, - .length = 0x20000000U, - .type = E820_TYPE_RESERVED + .baseaddr = 0xe0000000UL, + .length = 0x20000000UL, + .type = E820_TYPE_RESERVED }, }; diff --git a/hypervisor/arch/x86/guest/vm.c b/hypervisor/arch/x86/guest/vm.c index dbd964ecd..c58e759c5 100644 --- a/hypervisor/arch/x86/guest/vm.c +++ b/hypervisor/arch/x86/guest/vm.c @@ -106,7 +106,7 @@ static inline uint16_t get_vm_bsp_pcpu_id(const struct acrn_vm_config *vm_config /** * @pre vm_config != NULL */ -uint16_t get_vm_pcpu_nums(struct acrn_vm_config *vm_config) +uint16_t get_vm_pcpu_nums(const struct acrn_vm_config *vm_config) { uint16_t i, host_pcpu_num, pcpu_num = 0U; uint64_t cpu_bitmap = vm_config->pcpu_bitmap; @@ -315,7 +315,7 @@ int32_t create_vm(uint16_t vm_id, struct acrn_vm_config *vm_config, struct acrn_ ept_mr_add(vm, (uint64_t *)vm->arch_vm.nworld_eptp, vm_config->memory.start_hpa, 0UL, vm_config->memory.size, EPT_RWX|EPT_WB); - init_vm_boot_info(vm); + (void)init_vm_boot_info(vm); #endif } @@ -549,7 +549,7 @@ void prepare_vm(uint16_t vm_id, struct acrn_vm_config *vm_config) if (err == 0) { #ifdef CONFIG_PARTITION_MODE - mptable_build(vm); + (void)mptable_build(vm); #endif for (i = 0U; i < get_pcpu_nums(); i++) { diff --git a/hypervisor/debug/vuart.c b/hypervisor/debug/vuart.c index 3e1afda70..6cc479398 100644 --- a/hypervisor/debug/vuart.c +++ b/hypervisor/debug/vuart.c @@ -46,7 +46,7 @@ static char vuart_tx_buf[TX_BUF_SIZE]; #define vuart_unlock(vu) spinlock_release(&((vu)->lock)) #ifdef CONFIG_PARTITION_MODE -int8_t vuart_vmid = - 1; +uint16_t vuart_vmid = 0xFFFFU; #endif static inline void fifo_reset(struct fifo *fifo) @@ -372,16 +372,14 @@ void vuart_console_rx_chars(struct acrn_vuart *vu) struct acrn_vuart *vuart_console_active(void) { + struct acrn_vm *vm = NULL; + #ifdef CONFIG_PARTITION_MODE - struct acrn_vm *vm; - - if (vuart_vmid == -1) { - return NULL; + if (vuart_vmid < CONFIG_MAX_VM_NUM) { + vm = get_vm_from_vmid(vuart_vmid); } - - vm = get_vm_from_vmid(vuart_vmid); #else - struct acrn_vm *vm = get_sos_vm(); + vm = get_sos_vm(); #endif if (vm != NULL) { diff --git a/hypervisor/include/arch/x86/guest/vm.h b/hypervisor/include/arch/x86/guest/vm.h index 5e9be235f..4546aa4f2 100644 --- a/hypervisor/include/arch/x86/guest/vm.h +++ b/hypervisor/include/arch/x86/guest/vm.h @@ -298,7 +298,7 @@ typedef int32_t (*vm_sw_loader_t)(struct acrn_vm *vm); extern vm_sw_loader_t vm_sw_loader; #ifdef CONFIG_PARTITION_MODE -uint16_t get_vm_pcpu_nums(struct acrn_vm_config *vm_config); +uint16_t get_vm_pcpu_nums(const struct acrn_vm_config *vm_config); void vrtc_init(struct acrn_vm *vm); #endif diff --git a/hypervisor/include/debug/vuart.h b/hypervisor/include/debug/vuart.h index 83a40ba46..b0e74d8d1 100644 --- a/hypervisor/include/debug/vuart.h +++ b/hypervisor/include/debug/vuart.h @@ -67,7 +67,7 @@ struct acrn_vuart { }; #ifdef CONFIG_PARTITION_MODE -extern int8_t vuart_vmid; +extern uint16_t vuart_vmid; #endif /* CONFIG_PARTITION_MODE */ struct acrn_vuart *vm_vuart(struct acrn_vm *vm);