mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-27 07:46:53 +00:00
HV: show correct vm name per config
The patch will show correct VM name per its configuration. As we do not validate vm id when call get_vm_from_vmid() any more, we only show VM's states which their VM type are defined; If VM name is not configured in config file, then the name is specified with vm id, i.e. "ACRN VM_(vm id)" Tracked-On: #2291 Signed-off-by: Victor Sun <victor.sun@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
parent
e6117e0d5b
commit
f3014a3c89
@ -141,6 +141,10 @@ int32_t create_vm(uint16_t vm_id, struct acrn_vm_config *vm_config, struct acrn_
|
|||||||
hva2hpa(ept_mem_ops->get_sworld_memory_base(ept_mem_ops->info)),
|
hva2hpa(ept_mem_ops->get_sworld_memory_base(ept_mem_ops->info)),
|
||||||
TRUSTY_EPT_REBASE_GPA, TRUSTY_RAM_SIZE, EPT_WB | EPT_RWX);
|
TRUSTY_EPT_REBASE_GPA, TRUSTY_RAM_SIZE, EPT_WB | EPT_RWX);
|
||||||
}
|
}
|
||||||
|
if (vm_config->name[0] == '\0') {
|
||||||
|
/* if VM name is not configured, specify with VM ID */
|
||||||
|
snprintf(vm_config->name, 16, "ACRN VM_%d", vm_id);
|
||||||
|
}
|
||||||
|
|
||||||
(void)memcpy_s(&vm->GUID[0], sizeof(vm->GUID),
|
(void)memcpy_s(&vm->GUID[0], sizeof(vm->GUID),
|
||||||
&vm_config->GUID[0], sizeof(vm_config->GUID));
|
&vm_config->GUID[0], sizeof(vm_config->GUID));
|
||||||
@ -411,7 +415,7 @@ void prepare_vm(uint16_t vm_id, struct acrn_vm_config *vm_config)
|
|||||||
/* start vm BSP automatically */
|
/* start vm BSP automatically */
|
||||||
start_vm(vm);
|
start_vm(vm);
|
||||||
|
|
||||||
pr_acrnlog("Start VM%x", vm->vm_id);
|
pr_acrnlog("Start VM id: %x name: %s", vm_id, vm_config->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -513,17 +513,15 @@ static int32_t shell_list_vm(__unused int32_t argc, __unused char **argv)
|
|||||||
{
|
{
|
||||||
char temp_str[MAX_STR_SIZE];
|
char temp_str[MAX_STR_SIZE];
|
||||||
struct acrn_vm *vm;
|
struct acrn_vm *vm;
|
||||||
uint16_t idx;
|
struct acrn_vm_config *vm_config;
|
||||||
|
uint16_t vm_id;
|
||||||
char state[32];
|
char state[32];
|
||||||
|
|
||||||
shell_puts("\r\nVM NAME VM ID VM STATE"
|
shell_puts("\r\nVM NAME\t\t\t\tVM ID\t\tVM STATE"
|
||||||
"\r\n======= ===== ========\r\n");
|
"\r\n=======\t\t\t\t=====\t\t========\r\n");
|
||||||
|
|
||||||
for (idx = 0U; idx < CONFIG_MAX_VM_NUM; idx++) {
|
for (vm_id = 0U; vm_id < CONFIG_MAX_VM_NUM; vm_id++) {
|
||||||
vm = get_vm_from_vmid(idx);
|
vm = get_vm_from_vmid(vm_id);
|
||||||
if (vm == NULL) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
switch (vm->state) {
|
switch (vm->state) {
|
||||||
case VM_CREATED:
|
case VM_CREATED:
|
||||||
(void)strncpy_s(state, 32U, "Created", 32U);
|
(void)strncpy_s(state, 32U, "Created", 32U);
|
||||||
@ -538,15 +536,14 @@ static int32_t shell_list_vm(__unused int32_t argc, __unused char **argv)
|
|||||||
(void)strncpy_s(state, 32U, "Unknown", 32U);
|
(void)strncpy_s(state, 32U, "Unknown", 32U);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* Create output string consisting of VM name and VM id
|
vm_config = get_vm_config(vm_id);
|
||||||
*/
|
if (vm_config->type != UNDEFINED_VM) {
|
||||||
snprintf(temp_str, MAX_STR_SIZE,
|
snprintf(temp_str, MAX_STR_SIZE, "%-34s%-14d%-8s\r\n", vm_config->name, vm_id, state);
|
||||||
"vm_%-24d %-16d %-8s\r\n", vm->vm_id,
|
|
||||||
vm->vm_id, state);
|
|
||||||
|
|
||||||
/* Output information for this task */
|
/* Output information for this task */
|
||||||
shell_puts(temp_str);
|
shell_puts(temp_str);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user