From 67b416d52359b1cda61d9d706662857f137fad66 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Tue, 10 Dec 2019 20:01:27 +0800 Subject: [PATCH] acrn-config: hide non-legacy serial port as SOS console SOS vm only support legacy serial port emulation, so we need to hide non-legacy serial ports from webUI when user want to select serial port as SOS console. Tracked-On: #3854 Signed-off-by: Wei Liu Acked-by: Victor Sun --- misc/acrn-config/board_config/misc_cfg_h.py | 4 ++-- misc/acrn-config/library/board_cfg_lib.py | 6 +----- misc/acrn-config/library/scenario_cfg_lib.py | 12 +++++++++++- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/misc/acrn-config/board_config/misc_cfg_h.py b/misc/acrn-config/board_config/misc_cfg_h.py index eeae6503c..7f07a8670 100644 --- a/misc/acrn-config/board_config/misc_cfg_h.py +++ b/misc/acrn-config/board_config/misc_cfg_h.py @@ -92,10 +92,10 @@ def generate_file(config): if vuart0_dic: # parse to get poart/base of vuart0/vuart1 - vuart0_port_base = board_cfg_lib.TTY_CONSOLE[list(vuart0_dic.keys())[0]] + vuart0_port_base = board_cfg_lib.LEGACY_TTYS[list(vuart0_dic.keys())[0]] vuart0_irq = vuart0_dic[list(vuart0_dic.keys())[0]] - vuart1_port_base = board_cfg_lib.TTY_CONSOLE[list(vuart1_dic.keys())[0]] + vuart1_port_base = board_cfg_lib.LEGACY_TTYS[list(vuart1_dic.keys())[0]] vuart1_irq = vuart1_dic[list(vuart1_dic.keys())[0]] # parse the setting ttys vuatx dic: {vmid:base/irq} diff --git a/misc/acrn-config/library/board_cfg_lib.py b/misc/acrn-config/library/board_cfg_lib.py index f419f0215..02d745c93 100644 --- a/misc/acrn-config/library/board_cfg_lib.py +++ b/misc/acrn-config/library/board_cfg_lib.py @@ -18,7 +18,7 @@ BASE_BOARD = ['Base Board Information', 'Manufacturer:', 'Product Name:', 'Versi BOARD_NAMES = ['apl-mrb', 'apl-nuc', 'apl-up2', 'dnv-cb2', 'nuc6cayh', 'nuc7i7dnb', 'kbl-nuc-i7', 'icl-rvp'] -TTY_CONSOLE = { +LEGACY_TTYS = { 'ttyS0':'0x3F8', 'ttyS1':'0x2F8', 'ttyS2':'0x3E8', @@ -354,10 +354,6 @@ def get_board_private_vuart(branch_tag, tag_console): if ttys_n: - if ttys_n not in list(TTY_CONSOLE.keys()): - err_dic["board config: ttyS not available"] = "console should be set in scenario.xml of board_private section" - return (err_dic, vuart0_console_dic, vuart1_console_dic) - (vuart0_valid_console, vuart1_valid_console, show_vuart1) = console_to_show(BOARD_INFO_FILE) # VUART0 diff --git a/misc/acrn-config/library/scenario_cfg_lib.py b/misc/acrn-config/library/scenario_cfg_lib.py index f03bd861a..24b5f2492 100644 --- a/misc/acrn-config/library/scenario_cfg_lib.py +++ b/misc/acrn-config/library/scenario_cfg_lib.py @@ -44,6 +44,13 @@ DEFAULT_VM_COUNT = { } KATA_VM_COUNT = 0 +LEGACY_TTYS = { + 'ttyS0':'0x3F8', + 'ttyS1':'0x2F8', + 'ttyS2':'0x3E8', + 'ttyS3':'0x2E8', +} + def prepare(check_git): """ Check environment """ return common.check_env(check_git) @@ -178,8 +185,11 @@ def get_ttys_info(board_info): if not ttys_line: break - #ttys_dev = " ".join(ttys_line.strip().split()[:-2]) ttys_dev = ttys_line.split()[0].split(':')[1] + ttysn = ttys_dev.split('/')[-1] + # currently SOS console can only support legacy serial port + if ttysn not in list(LEGACY_TTYS.keys()): + continue ttys_list.append(ttys_dev) return ttys_list