HV: disable vuart when dbg uart is disabled

vuart it used for SOS to output log to HV console,
so if dbg uart is disabled, it need be disabled too:
just unregister its PIO.

Tracked-On: 2170
Signed-off-by: Minggui Cao <minggui.cao@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Minggui Cao 2018-12-24 21:27:04 +08:00 committed by wenlingz
parent 860c444c55
commit fde0bcc1ce
4 changed files with 13 additions and 4 deletions

View File

@ -149,14 +149,16 @@ int32_t create_vm(struct vm_description *vm_desc, struct acrn_vm **rtn_vm)
register_pm1ab_handler(vm);
}
/* Create virtual uart */
vuart_init(vm);
/* Create virtual uart; just when uart enabled, vuart can work */
if (is_dbg_uart_enabled()) {
vuart_init(vm);
}
}
vpic_init(vm);
#ifdef CONFIG_PARTITION_MODE
/* Create virtual uart */
if (vm_desc->vm_vuart) {
/* Create virtual uart; just when uart enabled, vuart can work */
if (vm_desc->vm_vuart && is_dbg_uart_enabled()) {
vuart_init(vm);
}
vrtc_init(vm);

View File

@ -235,3 +235,8 @@ bool is_pci_dbg_uart(union pci_bdf bdf_value)
return ret;
}
bool is_dbg_uart_enabled(void)
{
return uart_enabled;
}

View File

@ -38,6 +38,7 @@ char console_getc(void);
void console_setup_timer(void);
void uart16550_set_property(bool enabled, bool port_mapped, uint64_t base_addr);
bool is_pci_dbg_uart(union pci_bdf bdf_value);
bool is_dbg_uart_enabled(void);
void shell_init(void);
void shell_kick(void);

View File

@ -26,6 +26,7 @@ void resume_console(void) {}
void uart16550_set_property(__unused bool enabled, __unused bool port_mapped, __unused uint64_t base_addr) {}
bool is_pci_dbg_uart(__unused union pci_bdf bdf_value) { return false; }
bool is_dbg_uart_enabled(void) { return false; }
void shell_init(void) {}
void shell_kick(void) {}