config-tools: allow to use polling mode for legacy vuart

Using polling mode When set a legacy vuart's irq to 0.

Tracked-On: #6652
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
This commit is contained in:
Yang,Yu-chu 2021-10-27 17:39:20 -07:00 committed by wenlingz
parent e790b5cc6e
commit 75a4dde148
3 changed files with 7 additions and 3 deletions

View File

@ -28,7 +28,7 @@ AVALIBLE_COM1_BASE = [INVALID_COM_BASE, 'COM1_BASE']
AVALIBLE_COM2_BASE = [INVALID_COM_BASE, 'COM2_BASE']
VUART_IRQ = ['SOS_COM1_IRQ', 'SOS_COM2_IRQ', 'SOS_COM3_IRQ', 'SOS_COM4_IRQ',
'COM1_IRQ', 'COM2_IRQ', 'COM3_IRQ', 'COM4_IRQ', 'CONFIG_COM_IRQ']
'COM1_IRQ', 'COM2_IRQ', 'COM3_IRQ', 'COM4_IRQ', 'CONFIG_COM_IRQ', '0']
# Support 512M, 1G, 2G
# pre launch less then 2G, sos vm less than 24G

View File

@ -247,8 +247,9 @@ must exactly match the module tag in the GRUB multiboot cmdline.</xs:documentati
<xs:annotation acrn:configurable="n">
<xs:documentation>A string with either ``SOS_COM1_IRQ``,
``SOS_COM2_IRQ``, ``SOS_COM3_IRQ``, ``SOS_COM4_IRQ``,
``COM1_IRQ``, ``COM2_IRQ``, ``COM3_IRQ``, ``COM4_IRQ``
or ``CONFIG_COM_IRQ``.</xs:documentation>
``COM1_IRQ``, ``COM2_IRQ``, ``COM3_IRQ``, ``COM4_IRQ``,
``CONFIG_COM_IRQ`` or ``0``. If ``0`` is set, the vuart will
use polling mode.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="SOS_COM1_IRQ" />
@ -260,6 +261,7 @@ or ``CONFIG_COM_IRQ``.</xs:documentation>
<xs:enumeration value="COM3_IRQ" />
<xs:enumeration value="COM4_IRQ" />
<xs:enumeration value="CONFIG_COM_IRQ" />
<xs:enumeration value="0" />
</xs:restriction>
</xs:simpleType>

View File

@ -63,6 +63,8 @@ def assign_legacy_vuart_irqs(vm_node, legacy_vuart_id, irq_list):
legacy_vuart_irq = '3'
if legacy_vuart_irq in irq_list:
remove_irq(irq_list, legacy_vuart_irq)
elif legacy_vuart_node_irq_text == '0':
legacy_vuart_irq = '0'
else:
legacy_vuart_irq = alloc_irq(irq_list)
return legacy_vuart_irq