HV: add vCOM2 setting for hybrid and industry scenario

The vCOM2 of each VM is designed for VM communication, one VM could send
command or request to another VM through this channel. The feature will
be used for system S3/S5 implementation.

On Hybird scenario, vCOM2 of pre-launched VM will connect to vCOM2 of SOS_VM;
On Industry scenario, vCOM2 of post-launched RTVM will connect to vCOM2 of
SOS_VM.

Tracked-On: #3602

Signed-off-by: Victor Sun <victor.sun@intel.com>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Victor Sun 2019-08-15 22:18:22 +08:00 committed by ACRN System Integration
parent c8cdc7e807
commit 2736b6c4cd
8 changed files with 25 additions and 5 deletions

View File

@ -14,6 +14,8 @@
#define SOS_CONSOLE "console=ttyS2 " #define SOS_CONSOLE "console=ttyS2 "
#define SOS_COM1_BASE 0x3E8U #define SOS_COM1_BASE 0x3E8U
#define SOS_COM1_IRQ 6U #define SOS_COM1_IRQ 6U
#define SOS_COM2_BASE 0x3F8U
#define SOS_COM2_IRQ 10U
#ifndef CONFIG_RELEASE #ifndef CONFIG_RELEASE
#define BOOTARG_DEBUG "hvlog=2M@0x6de00000 " \ #define BOOTARG_DEBUG "hvlog=2M@0x6de00000 " \

View File

@ -14,6 +14,8 @@
#define SOS_CONSOLE "console=ttyS0 " #define SOS_CONSOLE "console=ttyS0 "
#define SOS_COM1_BASE 0x3F8U #define SOS_COM1_BASE 0x3F8U
#define SOS_COM1_IRQ 4U #define SOS_COM1_IRQ 4U
#define SOS_COM2_BASE 0x2F8U
#define SOS_COM2_IRQ 3U
#ifndef CONFIG_RELEASE #ifndef CONFIG_RELEASE
#define BOOTARG_DEBUG "hvlog=2M@0x6de00000 " \ #define BOOTARG_DEBUG "hvlog=2M@0x6de00000 " \

View File

@ -13,6 +13,8 @@
#define SOS_CONSOLE "console=ttyS0 " #define SOS_CONSOLE "console=ttyS0 "
#define SOS_COM1_BASE 0x3F8U #define SOS_COM1_BASE 0x3F8U
#define SOS_COM1_IRQ 4U #define SOS_COM1_IRQ 4U
#define SOS_COM2_BASE 0x2F8U
#define SOS_COM2_IRQ 3U
#ifndef CONFIG_RELEASE #ifndef CONFIG_RELEASE
#define SOS_BOOTARGS_DIFF "hvlog=2M@0x1FE00000" #define SOS_BOOTARGS_DIFF "hvlog=2M@0x1FE00000"

View File

@ -14,6 +14,8 @@
#define SOS_CONSOLE "console=ttyS0 " #define SOS_CONSOLE "console=ttyS0 "
#define SOS_COM1_BASE 0x3F8U #define SOS_COM1_BASE 0x3F8U
#define SOS_COM1_IRQ 4U #define SOS_COM1_IRQ 4U
#define SOS_COM2_BASE 0x2F8U
#define SOS_COM2_IRQ 3U
#ifndef CONFIG_RELEASE #ifndef CONFIG_RELEASE
#define SOS_BOOTARGS_DIFF "hvlog=2M@0x1FE00000" #define SOS_BOOTARGS_DIFF "hvlog=2M@0x1FE00000"

View File

@ -13,6 +13,8 @@
#define SOS_CONSOLE "console=ttyS0 " #define SOS_CONSOLE "console=ttyS0 "
#define SOS_COM1_BASE 0x3F8U #define SOS_COM1_BASE 0x3F8U
#define SOS_COM1_IRQ 4U #define SOS_COM1_IRQ 4U
#define SOS_COM2_BASE 0x2F8U
#define SOS_COM2_IRQ 3U
#ifndef CONFIG_RELEASE #ifndef CONFIG_RELEASE
#define SOS_BOOTARGS_DIFF "hvlog=2M@0x1FE00000" #define SOS_BOOTARGS_DIFF "hvlog=2M@0x1FE00000"

View File

@ -14,6 +14,8 @@
#define SOS_CONSOLE "console=ttyS0 " #define SOS_CONSOLE "console=ttyS0 "
#define SOS_COM1_BASE 0x3F8U #define SOS_COM1_BASE 0x3F8U
#define SOS_COM1_IRQ 4U #define SOS_COM1_IRQ 4U
#define SOS_COM2_BASE 0x2F8U
#define SOS_COM2_IRQ 3U
#ifndef CONFIG_RELEASE #ifndef CONFIG_RELEASE
#define SOS_BOOTARGS_DIFF "hvlog=2M@0x1FE00000" #define SOS_BOOTARGS_DIFF "hvlog=2M@0x1FE00000"

View File

@ -69,7 +69,10 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = {
}, },
.vuart[1] = { .vuart[1] = {
.type = VUART_LEGACY_PIO, .type = VUART_LEGACY_PIO,
.addr.port_base = INVALID_COM_BASE, .addr.port_base = SOS_COM2_BASE,
.irq = SOS_COM2_IRQ,
.t_vuart.vm_id = 0U,
.t_vuart.vuart_id = 1U,
}, },
.pci_dev_num = SOS_EMULATED_PCI_DEV_NUM, .pci_dev_num = SOS_EMULATED_PCI_DEV_NUM,
.pci_devs = sos_pci_devs, .pci_devs = sos_pci_devs,

View File

@ -34,7 +34,10 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = {
}, },
.vuart[1] = { .vuart[1] = {
.type = VUART_LEGACY_PIO, .type = VUART_LEGACY_PIO,
.addr.port_base = INVALID_COM_BASE, .addr.port_base = SOS_COM2_BASE,
.irq = SOS_COM2_IRQ,
.t_vuart.vm_id = 2U,
.t_vuart.vuart_id = 1U,
}, },
.pci_dev_num = SOS_EMULATED_PCI_DEV_NUM, .pci_dev_num = SOS_EMULATED_PCI_DEV_NUM,
.pci_devs = sos_pci_devs, .pci_devs = sos_pci_devs,
@ -70,9 +73,11 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = {
}, },
.vuart[1] = { .vuart[1] = {
.type = VUART_LEGACY_PIO, .type = VUART_LEGACY_PIO,
.addr.port_base = INVALID_COM_BASE, .addr.port_base = COM2_BASE,
} .irq = COM2_IRQ,
.t_vuart.vm_id = 0U,
.t_vuart.vuart_id = 1U,
},
}, },
{ {
.load_order = POST_LAUNCHED_VM, .load_order = POST_LAUNCHED_VM,