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); register_pm1ab_handler(vm);
} }
/* Create virtual uart */ /* Create virtual uart; just when uart enabled, vuart can work */
if (is_dbg_uart_enabled()) {
vuart_init(vm); vuart_init(vm);
} }
}
vpic_init(vm); vpic_init(vm);
#ifdef CONFIG_PARTITION_MODE #ifdef CONFIG_PARTITION_MODE
/* Create virtual uart */ /* Create virtual uart; just when uart enabled, vuart can work */
if (vm_desc->vm_vuart) { if (vm_desc->vm_vuart && is_dbg_uart_enabled()) {
vuart_init(vm); vuart_init(vm);
} }
vrtc_init(vm); vrtc_init(vm);

View File

@ -235,3 +235,8 @@ bool is_pci_dbg_uart(union pci_bdf bdf_value)
return ret; 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 console_setup_timer(void);
void uart16550_set_property(bool enabled, bool port_mapped, uint64_t base_addr); 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_pci_dbg_uart(union pci_bdf bdf_value);
bool is_dbg_uart_enabled(void);
void shell_init(void); void shell_init(void);
void shell_kick(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) {} 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_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_init(void) {}
void shell_kick(void) {} void shell_kick(void) {}