mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-07-01 09:42:10 +00:00
acrn-config: enable item check for launch config tool
1. enable item check for acrn-dm args which set from webUI input. 2. remove 'cpu_num' tag from launch config xml. v1-v2: 1). add method to check 'cpu_num'/'mem_size' in config xml. v2-v3: 1). as 'vcpu_num' configured in scenario, the parameter for acrn-dm is no longer needed, remove 'cpu_num' tag and its handler from launch config. 2). add 'poweroff_channel' tag for generic config. Tracked-On: #3811 Signed-off-by: Wei Liu <weix.w.liu@intel.com> Acked-by: Victor Sun <victor.sun@intel.com>
This commit is contained in:
parent
98dc755ef1
commit
aee3bc3622
@ -23,8 +23,8 @@ def tap_uos_net(names, vmid, config):
|
||||
|
||||
if uos_type in ("CLEARLINUX", "ANDROID", "ALIOS"):
|
||||
if board_name in ("apl-mrb", "apl-up2"):
|
||||
print('if [ ! -f "/data/$5/$5.img" ]; then', file=config)
|
||||
print(' echo "no /data/$5/$5.img, exit"', file=config)
|
||||
print('if [ ! -f "/data/$3/$3.img" ]; then', file=config)
|
||||
print(' echo "no /data/$3/$3.img, exit"', file=config)
|
||||
print(" exit", file=config)
|
||||
print("fi", file=config)
|
||||
print("", file=config)
|
||||
@ -40,7 +40,7 @@ def tap_uos_net(names, vmid, config):
|
||||
if uos_type in ("CLEARLINUX", "ANDROID", "ALIOS"):
|
||||
if board_name in ("apl-mrb", "apl-up2"):
|
||||
print("# create a unique tap device for each VM", file=config)
|
||||
print("tap=tap_$6", file=config)
|
||||
print("tap=tap_$4", file=config)
|
||||
print('tap_exist=$(ip a | grep "$tap" | awk \'{print $1}\')', file=config)
|
||||
print('if [ "$tap_exist"x != "x" ]; then', file=config)
|
||||
print(' echo "tap device existed, reuse $tap"', file=config)
|
||||
@ -155,7 +155,7 @@ def boot_image_type(args, vmid, config):
|
||||
return
|
||||
|
||||
print('boot_dev_flag=",b"', file=config)
|
||||
print("if [ $7 == 1 ];then", file=config)
|
||||
print("if [ $5 == 1 ];then", file=config)
|
||||
print(' boot_image_option="--vsbl /usr/share/acrn/bios/VSBL_debug.bin"', file=config)
|
||||
print("else", file=config)
|
||||
print(' boot_image_option="--vsbl /usr/share/acrn/bios/VSBL.bin"', file=config)
|
||||
@ -177,11 +177,9 @@ def interrupt_storm(names, vmid, config):
|
||||
|
||||
def gvt_arg_set(uos_type, config):
|
||||
|
||||
if uos_type not in ('CLEARLINUX', 'ANDROID', 'ALIOS'):
|
||||
if uos_type not in ('CLEARLINUX', 'ANDROID', 'ALIOS', 'WINDOWS'):
|
||||
return
|
||||
print("GVT_args=$3", file=config)
|
||||
print('boot_GVT_option=" -s 0:2:0,pci-gvt -G "', file=config)
|
||||
print("", file=config)
|
||||
print(' -s 2,pci-gvt -G "$2" \\', file=config)
|
||||
|
||||
|
||||
def log_level_set(uos_type, config):
|
||||
@ -246,8 +244,8 @@ def function_help(config):
|
||||
|
||||
|
||||
def uos_launch(names, args, vmid, config):
|
||||
|
||||
gvt_args = args['gvt_args'][vmid]
|
||||
cpu_num = int(args['cpu_num'][vmid])
|
||||
uos_type = names['uos_types'][vmid]
|
||||
launch_uos = '_'.join(uos_type.lower().split())
|
||||
|
||||
@ -256,18 +254,19 @@ def uos_launch(names, args, vmid, config):
|
||||
print("", file=config)
|
||||
print("case $launch_type in", file=config)
|
||||
print(' 1) echo "Launch clearlinux UOS"', file=config)
|
||||
print(' launch_clearlinux 1 {} "{}" 0x070F00 clearlinux "LaaG" $debug'.format(cpu_num, gvt_args), file=config)
|
||||
print(' launch_clearlinux 1 "{}" clearlinux "LaaG" $debug'.format(gvt_args), file=config)
|
||||
print(" ;;", file=config)
|
||||
print(' 2) echo "Launch android UOS"', file=config)
|
||||
print(' launch_android 1 {} "{}" 0x070F00 android "AaaG" $debug'.format(cpu_num, gvt_args), file=config)
|
||||
print(' launch_android 1 "{}" android "AaaG" $debug'.format(gvt_args), file=config)
|
||||
print(" ;;", file=config)
|
||||
print(' 4) echo "Launch two clearlinux UOSs"', file=config)
|
||||
print(' launch_clearlinux 1 {} "{}" 0x00000C clearlinux "L1aaG" $debug &'.format(cpu_num, gvt_args), file=config)
|
||||
print(' launch_clearlinux 1 "{}" clearlinux "L1aaG" $debug &'.format(gvt_args), file=config)
|
||||
print(" sleep 5", file=config)
|
||||
print(' launch_clearlinux 2 {} "{}" 0x070F00 clearlinux_dup "L2aaG" $debug'.format(cpu_num, gvt_args), file=config)
|
||||
print(' launch_clearlinux 2 "{}" clearlinux_dup "L2aaG" $debug'.format(gvt_args), file=config)
|
||||
print(" ;;", file=config)
|
||||
print(' 5) echo "Launch alios UOS"', file=config)
|
||||
print(' launch_alios 1 {} "{}" 0x070F00 alios "AliaaG" $debug'.format(cpu_num, gvt_args), file=config)
|
||||
print(' launch_alios 1 "{}" alios "AliaaG" $debug'.format(gvt_args), file=config)
|
||||
|
||||
print(" ;;", file=config)
|
||||
print("esac", file=config)
|
||||
print("", file=config)
|
||||
@ -275,20 +274,20 @@ def uos_launch(names, args, vmid, config):
|
||||
|
||||
if uos_type not in ("CLEARLINUX", "ANDROID", "ALIOS"):
|
||||
if uos_type == "VXWORKS":
|
||||
print("launch_{} 1 {}".format(launch_uos, cpu_num), file=config)
|
||||
print("launch_{} 1".format(launch_uos), file=config)
|
||||
if uos_type == "PREEMPT-RT LINUX":
|
||||
print("launch_{} {}".format(launch_uos, cpu_num), file=config)
|
||||
print("launch_{}".format(launch_uos), file=config)
|
||||
if uos_type == "WINDOWS":
|
||||
print('launch_{} 1 {} "{}"'.format(launch_uos, cpu_num, gvt_args), file=config)
|
||||
print('launch_{} 1 "{}"'.format(launch_uos, gvt_args), file=config)
|
||||
if uos_type == "ZEPHYR":
|
||||
print("launch_{} 1 {}".format(launch_uos, cpu_num), file=config)
|
||||
print("launch_{} 1".format(launch_uos), file=config)
|
||||
|
||||
if is_nuc_clr(names, vmid):
|
||||
print('if [ "$1" = "-C" ];then', file=config)
|
||||
print(' echo "runc_container"', file=config)
|
||||
print(" run_container", file=config)
|
||||
print("else", file=config)
|
||||
print(' launch_{} 1 {} "{}" 0x070F00'.format(launch_uos, cpu_num, gvt_args), file=config)
|
||||
print(' launch_{} 1 "{}"'.format(launch_uos, gvt_args), file=config)
|
||||
print("fi", file=config)
|
||||
|
||||
|
||||
@ -421,7 +420,7 @@ def dm_arg_set(names, sel, dm, vmid, config):
|
||||
sos_vmid = launch_cfg_lib.get_sos_vmid()
|
||||
|
||||
# clearlinux/android/alios
|
||||
dm_str = 'acrn-dm -A -m $mem_size $boot_GVT_option"$GVT_args" -s 0:0,hostbridge -s 1:0,lpc -U {}'.format(scenario_uuid[vmid + sos_vmid])
|
||||
dm_str = 'acrn-dm -A -m $mem_size -s 0:0,hostbridge -s 1:0,lpc -U {}'.format(scenario_uuid[vmid + sos_vmid])
|
||||
if uos_type in ("CLEARLINUX", "ANDROID", "ALIOS"):
|
||||
if uos_type == "CLEARLINUX":
|
||||
print("{} \\".format(dm_str), file=config)
|
||||
@ -474,10 +473,12 @@ def dm_arg_set(names, sel, dm, vmid, config):
|
||||
# windows
|
||||
if uos_type == "WINDOWS":
|
||||
print("acrn-dm -A -m $mem_size -s 0:0,hostbridge -s 1:0,lpc -U {} \\".format(scenario_uuid[vmid + sos_vmid]), file=config)
|
||||
print(' -s 2,pci-gvt -G "$3" \\', file=config)
|
||||
print(" -s {},virtio-blk,./win10-ltsc.img \\".format(launch_cfg_lib.virtual_dev_slot("virtio-blk")), file=config)
|
||||
|
||||
# vbootloader of ovmf
|
||||
# GVT args set
|
||||
gvt_arg_set(uos_type, config)
|
||||
|
||||
# vbootloader of ovmf
|
||||
#if uos_type != "PREEMPT-RT LINUX" and dm['vbootloader'][vmid] == "ovmf":
|
||||
if dm['vbootloader'][vmid] == "ovmf":
|
||||
print(" --ovmf /usr/share/acrn/bios/OVMF.fd \\", file=config)
|
||||
@ -507,7 +508,7 @@ def dm_arg_set(names, sel, dm, vmid, config):
|
||||
print(" $intr_storm_monitor \\", file=config)
|
||||
if dm['vbootloader'][vmid] == "vsbl":
|
||||
print(" $boot_image_option \\",file=config)
|
||||
print(" -s {},virtio-blk$boot_dev_flag,/data/$5/$5.img \\".format(launch_cfg_lib.virtual_dev_slot("virtio-blk")), file=config)
|
||||
print(" -s {},virtio-blk$boot_dev_flag,/data/$3/$3.img \\".format(launch_cfg_lib.virtual_dev_slot("virtio-blk")), file=config)
|
||||
print(" -s {},xhci,1-1:1-2:1-3:2-1:2-2:2-3:cap=apl \\".format(launch_cfg_lib.virtual_dev_slot("xhci")), file=config)
|
||||
else:
|
||||
print(" -s {},virtio-blk,/home/clear/uos/uos.img \\".format(launch_cfg_lib.virtual_dev_slot("virtio-blk")), file=config)
|
||||
@ -540,7 +541,6 @@ def gen(names, pt_sel, dm, vmid, config):
|
||||
delay_use_usb_storage(uos_type, config)
|
||||
mem_size_set(names, dm, vmid, config)
|
||||
interrupt_storm(names, vmid, config)
|
||||
gvt_arg_set(uos_type, config)
|
||||
log_level_set(uos_type, config)
|
||||
|
||||
# gen acrn-dm args
|
||||
|
@ -16,7 +16,6 @@ class AcrnDmArgs:
|
||||
def get_args(self):
|
||||
self.args["uos_type"] = launch_cfg_lib.get_sub_tree_tag(self.launch_info, "uos_type")
|
||||
self.args["rtos_type"] = launch_cfg_lib.get_sub_tree_tag(self.launch_info, "rtos_type")
|
||||
self.args["cpu_num"] = launch_cfg_lib.get_sub_tree_tag(self.launch_info, "cpu_num")
|
||||
self.args["mem_size"] = launch_cfg_lib.get_sub_tree_tag(self.launch_info, "mem_size")
|
||||
self.args["gvt_args"] = launch_cfg_lib.get_sub_tree_tag(self.launch_info, "gvt_args")
|
||||
self.args["rootfs_dev"] = launch_cfg_lib.get_sub_tree_tag(self.launch_info, "rootfs_dev")
|
||||
@ -27,6 +26,7 @@ class AcrnDmArgs:
|
||||
rootfs = launch_cfg_lib.get_rootdev_info(self.board_info)
|
||||
launch_cfg_lib.args_aval_check(self.args["uos_type"], "uos_type", launch_cfg_lib.UOS_TYPES)
|
||||
launch_cfg_lib.args_aval_check(self.args["rtos_type"], "rtos_type", launch_cfg_lib.RTOS_TYPE)
|
||||
launch_cfg_lib.mem_size_check(self.args["mem_size"], "mem_size")
|
||||
launch_cfg_lib.args_aval_check(self.args["gvt_args"], "gvt_args", launch_cfg_lib.GVT_ARGS)
|
||||
launch_cfg_lib.args_aval_check(self.args["vbootloader"], "vbootloader", launch_cfg_lib.BOOT_TYPE)
|
||||
launch_cfg_lib.args_aval_check(self.args["console_type"], "console_type", launch_cfg_lib.REDIRECT_CONSOLE)
|
||||
|
@ -441,22 +441,95 @@ def pt_devs_check(bdf_list, vpid_list, item):
|
||||
i_cnt += 1
|
||||
|
||||
|
||||
def args_aval_check(arg_list, item, avl_list):
|
||||
def empty_err(i_cnt, item):
|
||||
"""
|
||||
add empty error message into ERR_LIST
|
||||
:param i_cnt: the launch vm index from config xml
|
||||
:param item: the item of tag from config xml
|
||||
:return: None
|
||||
"""
|
||||
key = "uos,id={},{}".format(i_cnt, item)
|
||||
ERR_LIST[key] = "The parameter should not be empty"
|
||||
|
||||
# allow args of dm is empty in launch xml
|
||||
return
|
||||
err_dic = {}
|
||||
|
||||
def args_aval_check(arg_list, item, avl_list):
|
||||
"""
|
||||
check arguments from config xml are available and validate
|
||||
:param arg_list: the list of arguments from config xml
|
||||
:param item: the item of tag from config xml
|
||||
:param avl_list: available argument which are allowed to chose
|
||||
:return: None
|
||||
"""
|
||||
# args should be set into launch xml from webUI
|
||||
i_cnt = 1
|
||||
for arg_str in arg_list.values():
|
||||
if arg_str == None or not arg_str:
|
||||
key = "uos,id={},{}".format(i_cnt, item)
|
||||
err_dic[key] = "The parameter should not be empty"
|
||||
if arg_str == None or not arg_str.strip():
|
||||
empty_err(i_cnt, item)
|
||||
i_cnt += 1
|
||||
continue
|
||||
|
||||
if arg_str not in avl_list:
|
||||
key = "uos,id={},{}".format(i_cnt, item)
|
||||
ERR_LIST[key] = "The {} is invalidate".format(item)
|
||||
if err_dic:
|
||||
ERR_LIST.update(err_dic)
|
||||
i_cnt += 1
|
||||
|
||||
|
||||
def get_cpu_processor_num():
|
||||
"""
|
||||
get cpu processor number from config file which is dumped from native board
|
||||
:return: integer number of cpu processor
|
||||
"""
|
||||
cpu_lines = get_info(BOARD_INFO_FILE, "<CPU_PROCESSOR_INFO>", "</CPU_PROCESSOR_INFO>")
|
||||
|
||||
for cpu_line in cpu_lines:
|
||||
cpu_processor_num = len(cpu_line.split(','))
|
||||
|
||||
return cpu_processor_num
|
||||
|
||||
|
||||
def get_total_mem():
|
||||
"""
|
||||
get total memory size from config file which is dumped from native board
|
||||
:return: integer number of total memory size, Unit: MByte
|
||||
"""
|
||||
scale_to_mb = 1
|
||||
total_mem_mb = scale_to_mb
|
||||
mem_lines = get_info(BOARD_INFO_FILE, "<TOTAL_MEM_INFO>", "</TOTAL_MEM_INFO>")
|
||||
for mem_line in mem_lines:
|
||||
mem_info_list = mem_line.split()
|
||||
|
||||
if len(mem_info_list) <= 1:
|
||||
return total_mem_mb
|
||||
|
||||
if mem_info_list[1] == "kB":
|
||||
scale_to_mb = 1024
|
||||
|
||||
total_mem_mb = int(mem_info_list[0]) / scale_to_mb
|
||||
return total_mem_mb
|
||||
|
||||
|
||||
def mem_size_check(arg_list, item):
|
||||
"""
|
||||
check memory size list which are set from webUI
|
||||
:param arg_list: the list of arguments from config xml
|
||||
:param item: the item of tag from config xml
|
||||
:return: None
|
||||
"""
|
||||
# get total memory information
|
||||
total_mem_mb = get_total_mem()
|
||||
|
||||
# available check
|
||||
i_cnt = 1
|
||||
for arg_str in arg_list.values():
|
||||
if arg_str == None or not arg_str.strip():
|
||||
empty_err(i_cnt, item)
|
||||
i_cnt += 1
|
||||
continue
|
||||
|
||||
mem_size_set = int(arg_str.strip())
|
||||
if mem_size_set > total_mem_mb:
|
||||
key = "uos,id={},{}".format(i_cnt, item)
|
||||
ERR_LIST[key] = "{}MB should be less than total memory {}MB".format(item)
|
||||
i_cnt += 1
|
||||
|
||||
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">ANDROID</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for vm">2</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">ALIOS</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for vm">2</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">CLEARLINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">3</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">CLEARLINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">ANDROID</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">CLEARLINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -8,6 +8,8 @@
|
||||
<rootfs_dev desc=""></rootfs_dev>
|
||||
<rootfs_img desc=""></rootfs_img>
|
||||
<console_type desc="UOS console type"></console_type>
|
||||
<poweroff_channel desc="the method of power off uos">
|
||||
</poweroff_channel>
|
||||
|
||||
<passthrough_devices>
|
||||
<usb_xdci desc="vm usb_xdci device"></usb_xdci>
|
||||
|
@ -8,6 +8,8 @@
|
||||
<rootfs_dev desc=""></rootfs_dev>
|
||||
<rootfs_img desc=""></rootfs_img>
|
||||
<console_type desc="UOS console type"></console_type>
|
||||
<poweroff_channel desc="the method of power off uos">
|
||||
</poweroff_channel>
|
||||
|
||||
<passthrough_devices>
|
||||
<usb_xdci desc="vm usb_xdci device"></usb_xdci>
|
||||
|
@ -8,6 +8,8 @@
|
||||
<rootfs_dev desc=""></rootfs_dev>
|
||||
<rootfs_img desc=""></rootfs_img>
|
||||
<console_type desc="UOS console type"></console_type>
|
||||
<poweroff_channel desc="the method of power off uos">
|
||||
</poweroff_channel>
|
||||
|
||||
<passthrough_devices>
|
||||
<usb_xdci desc="vm usb_xdci device"></usb_xdci>
|
||||
@ -34,6 +36,8 @@
|
||||
<rootfs_dev desc=""></rootfs_dev>
|
||||
<rootfs_img desc=""></rootfs_img>
|
||||
<console_type desc="UOS console type"></console_type>
|
||||
<poweroff_channel desc="the method of power off uos">
|
||||
</poweroff_channel>
|
||||
|
||||
<passthrough_devices>
|
||||
<usb_xdci desc="vm usb_xdci device"></usb_xdci>
|
||||
|
@ -8,6 +8,8 @@
|
||||
<rootfs_dev desc=""></rootfs_dev>
|
||||
<rootfs_img desc=""></rootfs_img>
|
||||
<console_type desc="UOS console type"></console_type>
|
||||
<poweroff_channel desc="the method of power off uos">
|
||||
</poweroff_channel>
|
||||
|
||||
<passthrough_devices>
|
||||
<usb_xdci desc="vm usb_xdci device"></usb_xdci>
|
||||
@ -34,6 +36,8 @@
|
||||
<rootfs_dev desc=""></rootfs_dev>
|
||||
<rootfs_img desc=""></rootfs_img>
|
||||
<console_type desc="UOS console type"></console_type>
|
||||
<poweroff_channel desc="the method of power off uos">
|
||||
</poweroff_channel>
|
||||
|
||||
<passthrough_devices>
|
||||
<usb_xdci desc="vm usb_xdci device"></usb_xdci>
|
||||
@ -60,6 +64,8 @@
|
||||
<rootfs_dev desc=""></rootfs_dev>
|
||||
<rootfs_img desc=""></rootfs_img>
|
||||
<console_type desc="UOS console type"></console_type>
|
||||
<poweroff_channel desc="the method of power off uos">
|
||||
</poweroff_channel>
|
||||
|
||||
<passthrough_devices>
|
||||
<usb_xdci desc="vm usb_xdci device"></usb_xdci>
|
||||
|
@ -8,6 +8,8 @@
|
||||
<rootfs_dev desc=""></rootfs_dev>
|
||||
<rootfs_img desc=""></rootfs_img>
|
||||
<console_type desc="UOS console type"></console_type>
|
||||
<poweroff_channel desc="the method of power off uos">
|
||||
</poweroff_channel>
|
||||
|
||||
<passthrough_devices>
|
||||
<usb_xdci desc="vm usb_xdci device"></usb_xdci>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="2">
|
||||
<uos_type desc="UOS type">PREEMPT-RT LINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">1024</mem_size>
|
||||
<gvt_args configurable="0" desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="3">
|
||||
<uos_type desc="UOS type">VXWORKS</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">WINDOWS</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">4096</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">WINDOWS</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">4096</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method">ovmf</vbootloader>
|
||||
@ -30,7 +29,6 @@
|
||||
<uos id="2">
|
||||
<uos_type desc="UOS type">PREEMPT-RT LINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">1024</mem_size>
|
||||
<gvt_args configurable="0" desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="" readonly="true">ovmf</vbootloader>
|
||||
|
@ -4,7 +4,6 @@
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<mem_size desc="UOS memory size in MByte">4096</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<vbootloader desc="virtual bootloader method">ovmf</vbootloader>
|
||||
<rootfs_dev desc="rootfs partition devices" readonly="true">/dev/sda3</rootfs_dev>
|
||||
<rootfs_img desc="rootfs image" readonly="true">./win10-ltsc.img</rootfs_img>
|
||||
@ -30,7 +29,6 @@
|
||||
<uos id="2">
|
||||
<uos_type desc="UOS type">PREEMPT-RT LINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">1024</mem_size>
|
||||
<gvt_args configurable="0" desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="" readonly="true">ovmf</vbootloader>
|
||||
@ -57,7 +55,6 @@
|
||||
<uos id="3">
|
||||
<uos_type desc="UOS type">VXWORKS</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="virtual boot loader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">CLEARLINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">ZEPHYR</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">128</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="2">
|
||||
<uos_type desc="UOS type">PREEMPT-RT LINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">1024</mem_size>
|
||||
<gvt_args configurable="0" desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="3">
|
||||
<uos_type desc="UOS type">VXWORKS</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">WINDOWS</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">4096</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">WINDOWS</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">4096</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method">ovmf</vbootloader>
|
||||
@ -30,7 +29,6 @@
|
||||
<uos id="2">
|
||||
<uos_type desc="UOS type">PREEMPT-RT LINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">1024</mem_size>
|
||||
<gvt_args configurable="0" desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="" readonly="true">ovmf</vbootloader>
|
||||
|
@ -4,7 +4,6 @@
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<mem_size desc="UOS memory size in MByte">4096</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<vbootloader desc="virtual bootloader method">ovmf</vbootloader>
|
||||
<rootfs_dev desc="rootfs partition devices" readonly="true">/dev/sda3</rootfs_dev>
|
||||
<rootfs_img desc="rootfs image" readonly="true">./win10-ltsc.img</rootfs_img>
|
||||
@ -30,7 +29,6 @@
|
||||
<uos id="2">
|
||||
<uos_type desc="UOS type">PREEMPT-RT LINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">1024</mem_size>
|
||||
<gvt_args configurable="0" desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="" readonly="true">ovmf</vbootloader>
|
||||
@ -57,7 +55,6 @@
|
||||
<uos id="3">
|
||||
<uos_type desc="UOS type">VXWORKS</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">Hard RT</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="virtual boot loader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">CLEARLINUX</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">2048</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm">64 448 8</gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
@ -2,7 +2,6 @@
|
||||
<uos id="1">
|
||||
<uos_type desc="UOS type">ZEPHYR</uos_type>
|
||||
<rtos_type desc="UOS Realtime capability">no</rtos_type>
|
||||
<cpu_num desc="max cpu number for the vm">1</cpu_num>
|
||||
<mem_size desc="UOS memory size in MByte">128</mem_size>
|
||||
<gvt_args desc="GVT argument for the vm"></gvt_args>
|
||||
<vbootloader desc="virtual bootloader method" readonly="true">ovmf</vbootloader>
|
||||
|
Loading…
Reference in New Issue
Block a user