diff --git a/misc/config_tools/data/cfl-k700-i7/hybrid.xml b/misc/config_tools/data/cfl-k700-i7/hybrid.xml
deleted file mode 100644
index d19c262ce..000000000
--- a/misc/config_tools/data/cfl-k700-i7/hybrid.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- n
- n
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
-
- y
- n
- y
- n
- n
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 256
-
- 16
-
-
- 0x00000010
-
-
-
- vUART connection 1
- legacy
-
- SAFETY_VM0
- 0x2F8
-
-
- ACRN_Service_VM
- 0x2F8
-
-
-
-
-
- PRE_LAUNCHED_VM
- STANDARD_VM
- SAFETY_VM0
-
- 3
-
-
- 0
-
-
- 0
- 0
-
-
- 0x100000000
- 0x20000000
- 0x0
- 0x0
-
-
- KERNEL_ELF
- Zephyr_ElfImage
-
-
-
- COM Port 1
-
- n
- n
-
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
- 1
- 2
-
-
- 0
- 0
- 0
-
-
- 0
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check
- quiet loglevel=3 i915.nuclear_pageflip=1 swiotlb=131072
-
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 2
-
-
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM2
-
- 2
-
-
- 0
-
- COM Port 1
- n
-
-
diff --git a/misc/config_tools/data/cfl-k700-i7/hybrid.xml b/misc/config_tools/data/cfl-k700-i7/hybrid.xml
new file mode 120000
index 000000000..4c12ee7b2
--- /dev/null
+++ b/misc/config_tools/data/cfl-k700-i7/hybrid.xml
@@ -0,0 +1 @@
+hybrid_launch_2user_vm.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/cfl-k700-i7/hybrid_launch_2user_vm.xml b/misc/config_tools/data/cfl-k700-i7/hybrid_launch_2user_vm.xml
index e4f7d2f6d..c38f245d4 100644
--- a/misc/config_tools/data/cfl-k700-i7/hybrid_launch_2user_vm.xml
+++ b/misc/config_tools/data/cfl-k700-i7/hybrid_launch_2user_vm.xml
@@ -1,96 +1,183 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Disable
-
- n
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 256
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ SAFETY_VM0
+ 0x2F8
+
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+
+
+
+ PRE_LAUNCHED_VM
+ STANDARD_VM
+ SAFETY_VM0
+
+ 3
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] (rev 02)
-
-
-
-
-
-
-
-
-
-
-
- WaaG
-
- ./win10-ltsc.img
-
-
-
-
-
-
-
-
- YOCTO
- POST_STD_VM2
- no
- 512
- ovmf
- Disable
-
- n
- n
-
-
-
+
+ 0
+
+
+ 0
+ 0
+
+
+ 0x100000000
+ 0x20000000
+ 0x0
+ 0x0
+
+
+ KERNEL_ELF
+ Zephyr_ElfImage
+
+
+
+ COM Port 1
+
+ n
+ n
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+ 1
+ 2
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+ 0
+
+
+ 0
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check
+ quiet loglevel=3 i915.nuclear_pageflip=1 swiotlb=131072
+
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 2
+
+
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] (rev 02)
+
+ n
+ Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG
-
- ./YaaG.img
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
-
\ No newline at end of file
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 2
+
+
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
+
+ @stdio:stdio_port
+ YaaG
+
+ ./YaaG.img
+
+
+
diff --git a/misc/config_tools/data/cfl-k700-i7/partitioned.xml b/misc/config_tools/data/cfl-k700-i7/partitioned.xml
index 71b58c69d..3f6872af4 100644
--- a/misc/config_tools/data/cfl-k700-i7/partitioned.xml
+++ b/misc/config_tools/data/cfl-k700-i7/partitioned.xml
@@ -101,7 +101,6 @@
00:17.0 SATA controller: Intel Corporation Cannon Lake PCH SATA AHCI Controller (rev 10)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-LM (rev 10)
-
@@ -140,7 +139,6 @@
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
-
diff --git a/misc/config_tools/data/cfl-k700-i7/shared.xml b/misc/config_tools/data/cfl-k700-i7/shared.xml
deleted file mode 100644
index cf48832eb..000000000
--- a/misc/config_tools/data/cfl-k700-i7/shared.xml
+++ /dev/null
@@ -1,169 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- n
- n
-
- y
- n
- y
- n
- n
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 64
-
- 16
-
-
- 0x00000010
-
-
-
- vUART connection 1
- legacy
-
- ACRN_Service_VM
- 0x2F8
-
-
- POST_RT_VM1
- 0x2F8
-
-
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
-
-
- 0
- 0x20000000
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
- i915.nuclear_pageflip=1
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- RTVM
- POST_RT_VM1
-
- 2
- 3
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM2
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM3
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM4
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM5
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
diff --git a/misc/config_tools/data/cfl-k700-i7/shared.xml b/misc/config_tools/data/cfl-k700-i7/shared.xml
new file mode 120000
index 000000000..cc4790084
--- /dev/null
+++ b/misc/config_tools/data/cfl-k700-i7/shared.xml
@@ -0,0 +1 @@
+shared_launch_6user_vm.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/cfl-k700-i7/shared_launch_6user_vm.xml b/misc/config_tools/data/cfl-k700-i7/shared_launch_6user_vm.xml
index 90cc68187..1969f39b1 100644
--- a/misc/config_tools/data/cfl-k700-i7/shared_launch_6user_vm.xml
+++ b/misc/config_tools/data/cfl-k700-i7/shared_launch_6user_vm.xml
@@ -1,284 +1,252 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Disable
-
- n
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 64
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+ POST_RT_VM1
+ 0x2F8
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+ 0x20000000
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] (rev 02)
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] (rev 02)
+
+ n
+ Windows OS
+ Enable
+ Disable
+
- WaaG
-
- ./win10-ltsc.img
-
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
-
- PREEMPT-RT LINUX
- POST_RT_VM1
- Hard RT
- 1024
- ovmf
- Disable
-
- n
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_RT_VM1
+ y
+
+ 2
+ 3
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 1024
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- RT
-
- ./core-image-weston-intel-corei7-64.wic
- @stdio:stdio_port
+ @stdio:stdio_port
+ RT
+
+ ./core-image-weston-intel-corei7-64.wic
-
-
-
-
-
-
- YOCTO
- POST_STD_VM2
- no
- 512
- ovmf
- Disable
-
- n
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG3
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG3
+
+ ./YaaG.img
-
-
-
-
-
-
- YOCTO
- POST_STD_VM3
- no
- 512
- ovmf
- Disable
-
- n
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM3
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG4
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG4
+
+ ./YaaG.img
-
-
-
-
-
-
- YOCTO
- POST_STD_VM4
- no
- 512
- ovmf
- Disable
-
- n
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM4
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG5
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG5
+
+ ./YaaG.img
-
-
-
-
-
-
- YOCTO
- POST_STD_VM5
- no
- 512
- ovmf
- Disable
-
- n
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM5
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG6
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG6
+
+ ./YaaG.img
-
-
-
-
-
-
\ No newline at end of file
+
+
diff --git a/misc/config_tools/data/generic_board/hybrid.xml b/misc/config_tools/data/generic_board/hybrid.xml
deleted file mode 100644
index 2b35db18e..000000000
--- a/misc/config_tools/data/generic_board/hybrid.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- n
- n
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
-
- y
- n
- y
- n
- n
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 256
-
- 16
-
-
- 0x00000010
-
-
-
- vUART connection 1
- legacy
-
- SAFETY_VM0
- 0x2F8
-
-
- ACRN_Service_VM
- 0x2F8
-
-
-
-
-
- PRE_LAUNCHED_VM
- STANDARD_VM
- SAFETY_VM0
-
- 3
-
-
- 0
-
-
- 0
- 0
-
-
- 0x100000000
- 0x20000000
- 0x0
- 0x0
-
-
- KERNEL_ELF
- Zephyr_ElfImage
-
-
-
- COM Port 1
-
- n
- n
-
-
-
-
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
- 1
- 2
-
-
- 0
- 0
- 0
-
-
- 0
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
- i915.nuclear_pageflip=1 swiotlb=131072
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 2
-
-
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM2
-
- 2
-
-
- 0
-
- COM Port 1
- n
-
-
diff --git a/misc/config_tools/data/generic_board/hybrid.xml b/misc/config_tools/data/generic_board/hybrid.xml
new file mode 120000
index 000000000..4c12ee7b2
--- /dev/null
+++ b/misc/config_tools/data/generic_board/hybrid.xml
@@ -0,0 +1 @@
+hybrid_launch_2user_vm.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/generic_board/hybrid_launch_2user_vm.xml b/misc/config_tools/data/generic_board/hybrid_launch_2user_vm.xml
index 9628b81ee..ddde00549 100644
--- a/misc/config_tools/data/generic_board/hybrid_launch_2user_vm.xml
+++ b/misc/config_tools/data/generic_board/hybrid_launch_2user_vm.xml
@@ -1,92 +1,183 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Disable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 256
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ SAFETY_VM0
+ 0x2F8
+
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+
+
+
+ PRE_LAUNCHED_VM
+ STANDARD_VM
+ SAFETY_VM0
+
+ 3
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
-
-
-
-
-
-
-
-
-
-
-
- WaaG
-
- ./win10-ltsc.img
-
-
-
-
-
-
-
-
- YOCTO
- POST_STD_VM2
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+ 0
+
+
+ 0
+ 0
+
+
+ 0x100000000
+ 0x20000000
+ 0x0
+ 0x0
+
+
+ KERNEL_ELF
+ Zephyr_ElfImage
+
+
+
+ COM Port 1
+
+ n
+ n
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+ 1
+ 2
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+ 0
+
+
+ 0
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1 swiotlb=131072
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 2
+
+
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
+
+ n
+ Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG
-
- ./YaaG.img
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 2
+
+
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
+
+ @stdio:stdio_port
+ YaaG
+
+ ./YaaG.img
+
+
diff --git a/misc/config_tools/data/generic_board/partitioned.xml b/misc/config_tools/data/generic_board/partitioned.xml
index efdca8532..edaab617e 100644
--- a/misc/config_tools/data/generic_board/partitioned.xml
+++ b/misc/config_tools/data/generic_board/partitioned.xml
@@ -101,7 +101,6 @@
00:17.0 SATA controller: Intel Corporation Device a0d3 (rev 20)
58:00.0 Ethernet controller: Intel Corporation Device 15f2 (rev 03)
-
@@ -140,7 +139,6 @@
00:14.0 USB controller: Intel Corporation Device a0ed (rev 20)
-
diff --git a/misc/config_tools/data/generic_board/shared.xml b/misc/config_tools/data/generic_board/shared.xml
deleted file mode 100644
index d4f55eb7a..000000000
--- a/misc/config_tools/data/generic_board/shared.xml
+++ /dev/null
@@ -1,179 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- y
- n
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
-
- y
- n
- y
- n
- n
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 256
-
- 16
-
-
- 0x00000010
-
-
-
- vUART connection 1
- legacy
-
- ACRN_Service_VM
- 0x2F8
-
-
- POST_RT_VM1
- 0x2F8
-
-
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
-
-
- 0
- 0x20000000
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
- i915.nuclear_pageflip=1 swiotlb=131072
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- RTVM
- POST_RT_VM1
- y
-
- 2
- 3
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM2
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM3
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM4
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM5
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
diff --git a/misc/config_tools/data/generic_board/shared.xml b/misc/config_tools/data/generic_board/shared.xml
new file mode 120000
index 000000000..cc4790084
--- /dev/null
+++ b/misc/config_tools/data/generic_board/shared.xml
@@ -0,0 +1 @@
+shared_launch_6user_vm.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/generic_board/shared_launch_6user_vm.xml b/misc/config_tools/data/generic_board/shared_launch_6user_vm.xml
index c5a70d4ac..7a544746f 100644
--- a/misc/config_tools/data/generic_board/shared_launch_6user_vm.xml
+++ b/misc/config_tools/data/generic_board/shared_launch_6user_vm.xml
@@ -1,272 +1,260 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Disable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ y
+ n
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 256
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+ POST_RT_VM1
+ 0x2F8
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+ 0x20000000
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1 swiotlb=131072
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
+
+ n
+ Windows OS
+ Enable
+ Disable
+
- WaaG
-
- ./win10-ltsc.img
-
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
-
- PREEMPT-RT LINUX
- POST_RT_VM1
- Hard RT
- 1024
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_RT_VM1
+ y
+
+ 2
+ 3
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 1024
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- RT
-
- ./core-image-weston-intel-corei7-64.wic
- @stdio:stdio_port
+ @stdio:stdio_port
+ RT
+
+ ./core-image-weston-intel-corei7-64.wic
-
-
-
-
-
-
- YOCTO
- POST_STD_VM2
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG3
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG3
+
+ ./YaaG.img
-
-
-
-
-
-
- YOCTO
- POST_STD_VM3
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM3
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG4
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG4
+
+ ./YaaG.img
-
-
-
-
-
-
- YOCTO
- POST_STD_VM4
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM4
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG5
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG5
+
+ ./YaaG.img
-
-
-
-
-
-
- YOCTO
- POST_STD_VM5
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM5
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG6
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG6
+
+ ./YaaG.img
-
-
-
-
-
+
diff --git a/misc/config_tools/data/nuc11tnbi5/hybrid.xml b/misc/config_tools/data/nuc11tnbi5/hybrid.xml
deleted file mode 100644
index 168dcd35d..000000000
--- a/misc/config_tools/data/nuc11tnbi5/hybrid.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- n
- n
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
-
- y
- n
- y
- n
- n
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 256
-
- 16
-
-
- 0x00000010
-
-
-
- vUART connection 1
- legacy
-
- SAFETY_VM0
- 0x2F8
-
-
- ACRN_Service_VM
- 0x2F8
-
-
-
-
-
- PRE_LAUNCHED_VM
- STANDARD_VM
- SAFETY_VM0
-
- 3
-
-
- 0
-
-
- 0
- 0
-
-
- 0x100000000
- 0x20000000
- 0x0
- 0x0
-
-
- KERNEL_ELF
- Zephyr_ElfImage
-
-
-
- COM Port 1
-
- n
- n
-
-
-
-
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
- 1
- 2
-
-
- 0
- 0
- 0
-
-
- 0
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
- i915.nuclear_pageflip=1 swiotlb=131072
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 2
-
-
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM2
-
- 2
-
-
- 0
-
- COM Port 1
- n
-
-
diff --git a/misc/config_tools/data/nuc11tnbi5/hybrid.xml b/misc/config_tools/data/nuc11tnbi5/hybrid.xml
new file mode 120000
index 000000000..4c12ee7b2
--- /dev/null
+++ b/misc/config_tools/data/nuc11tnbi5/hybrid.xml
@@ -0,0 +1 @@
+hybrid_launch_2user_vm.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/nuc11tnbi5/hybrid_launch_2user_vm.xml b/misc/config_tools/data/nuc11tnbi5/hybrid_launch_2user_vm.xml
index 7a8010c6a..1f4d44677 100644
--- a/misc/config_tools/data/nuc11tnbi5/hybrid_launch_2user_vm.xml
+++ b/misc/config_tools/data/nuc11tnbi5/hybrid_launch_2user_vm.xml
@@ -1,92 +1,183 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Disable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 256
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ SAFETY_VM0
+ 0x2F8
+
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+
+
+
+ PRE_LAUNCHED_VM
+ STANDARD_VM
+ SAFETY_VM0
+
+ 3
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
-
-
-
-
-
-
-
-
-
-
-
- WaaG
-
- ./win10-ltsc.img
-
-
-
-
-
-
-
-
- YOCTO
- POST_STD_VM2
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+ 0
+
+
+ 0
+ 0
+
+
+ 0x100000000
+ 0x20000000
+ 0x0
+ 0x0
+
+
+ KERNEL_ELF
+ Zephyr_ElfImage
+
+
+
+ COM Port 1
+
+ n
+ n
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+ 1
+ 2
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+ 0
+
+
+ 0
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1 swiotlb=131072
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 2
+
+
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
+
+ n
+ Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG
-
- ./YaaG.img
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 2
+
+
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
+
+ @stdio:stdio_port
+ YaaG
+
+ ./YaaG.img
+
+
diff --git a/misc/config_tools/data/nuc11tnbi5/partitioned.xml b/misc/config_tools/data/nuc11tnbi5/partitioned.xml
index 15b336c58..0ece5d7eb 100644
--- a/misc/config_tools/data/nuc11tnbi5/partitioned.xml
+++ b/misc/config_tools/data/nuc11tnbi5/partitioned.xml
@@ -101,7 +101,6 @@
00:17.0 SATA controller: Intel Corporation Device a0d3 (rev 20)
58:00.0 Ethernet controller: Intel Corporation Device 15f2 (rev 03)
-
@@ -140,7 +139,6 @@
00:14.0 USB controller: Intel Corporation Device a0ed (rev 20)
-
diff --git a/misc/config_tools/data/nuc11tnbi5/shared.xml b/misc/config_tools/data/nuc11tnbi5/shared.xml
deleted file mode 100644
index b6fe4dac9..000000000
--- a/misc/config_tools/data/nuc11tnbi5/shared.xml
+++ /dev/null
@@ -1,191 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- y
- n
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
-
- y
- n
- y
- n
- n
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 256
-
- 16
-
-
- 0x00000010
-
-
-
- Connection_1
- legacy
-
- ACRN_Service_VM
- 0x3F
-
-
- POST_STD_VM1
- 0x3F
-
-
-
- Connection_2
- pci
-
- ACRN_Service_VM
- 00:10.0
-
-
- POST_RT_VM1
- 00:10.0
-
-
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
-
-
- 0
- 0x20000000
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- rw rootwait root=/dev/nvme0n1p3 console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
- i915.nuclear_pageflip=1 swiotlb=131072
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- RTVM
- POST_RT_VM1
- y
-
- 2
- 3
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM2
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM3
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM4
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM5
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
diff --git a/misc/config_tools/data/nuc11tnbi5/shared.xml b/misc/config_tools/data/nuc11tnbi5/shared.xml
new file mode 120000
index 000000000..cc4790084
--- /dev/null
+++ b/misc/config_tools/data/nuc11tnbi5/shared.xml
@@ -0,0 +1 @@
+shared_launch_6user_vm.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/nuc11tnbi5/shared_launch_6user_vm.xml b/misc/config_tools/data/nuc11tnbi5/shared_launch_6user_vm.xml
index 7d35c6f5c..c3918883c 100644
--- a/misc/config_tools/data/nuc11tnbi5/shared_launch_6user_vm.xml
+++ b/misc/config_tools/data/nuc11tnbi5/shared_launch_6user_vm.xml
@@ -1,272 +1,272 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Disable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ y
+ n
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 256
+
+ 16
+
+
+ 0x00000010
+
+
+
+ Connection_1
+ legacy
+
+ ACRN_Service_VM
+ 0x3F
+
+
+ POST_STD_VM1
+ 0x3F
+
+
+
+ Connection_2
+ pci
+
+ ACRN_Service_VM
+ 00:10.0
+
+
+ POST_RT_VM1
+ 00:10.0
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+ 0x20000000
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ rw rootwait root=/dev/nvme0n1p3 console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1 swiotlb=131072
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
+
+ n
+ Windows OS
+ Enable
+ Disable
+
- WaaG
-
- ./win10-ltsc.img
-
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
-
- PREEMPT-RT LINUX
- POST_RT_VM1
- Hard RT
- 1024
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_RT_VM1
+ y
+
+ 2
+ 3
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 1024
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- RT
-
- ./core-image-weston-intel-corei7-64.wic
- @stdio:stdio_port
+ @stdio:stdio_port
+ RT
+
+ ./core-image-weston-intel-corei7-64.wic
-
-
-
-
-
-
- YOCTO
- POST_STD_VM2
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG3
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG3
+
+ ./YaaG.img
-
-
-
-
-
-
- YOCTO
- POST_STD_VM3
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM3
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG4
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG4
+
+ ./YaaG.img
-
-
-
-
-
-
- YOCTO
- POST_STD_VM4
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM4
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG5
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG5
+
+ ./YaaG.img
-
-
-
-
-
-
- YOCTO
- POST_STD_VM5
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM5
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- @stdio:stdio_port
- YaaG6
-
- ./YaaG.img
+ @stdio:stdio_port
+ YaaG6
+
+ ./YaaG.img
-
-
-
-
-
+
diff --git a/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/hybrid.xml b/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/hybrid.xml
index 1b8d4d8f3..ab5102f6a 100644
--- a/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/hybrid.xml
+++ b/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/hybrid.xml
@@ -97,9 +97,7 @@
n
-
-
-
+
SERVICE_VM
diff --git a/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/partitioned.xml b/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/partitioned.xml
index 03a564de9..1e8decc22 100644
--- a/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/partitioned.xml
+++ b/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/partitioned.xml
@@ -101,7 +101,6 @@
00:17.0 SATA controller: Intel Corporation Device a0d3 (rev 20)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (13) I219-LM (rev 20)
-
@@ -140,7 +139,6 @@
00:14.0 USB controller: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller (rev 20)
-
diff --git a/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared.xml b/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared.xml
deleted file mode 100644
index 187b60ca2..000000000
--- a/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- n
- n
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
- 0xfffff
-
- y
- n
- y
- n
- n
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 256
-
- 16
-
-
- 0x00000010
-
-
-
- vUART connection 1
- legacy
-
- ACRN_Service_VM
- 0x2F8
-
-
- POST_STD_VM1
- 0x2F8
-
-
-
- vUART connection 2
- legacy
-
- ACRN_Service_VM
- 0x3E8
-
-
- POST_RT_VM1
- 0x3E8
-
-
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
-
-
- 0
- 0x20000000
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- rw rootwait root=/dev/sda3 console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
- i915.nuclear_pageflip=1 swiotlb=131072
-
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 0
- 1
-
-
- 0
- 0
-
- PRIO_LOW
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- RTVM
- POST_RT_VM1
- y
-
- 2
- 3
-
-
- 0
- 0
-
- PRIO_LOW
- COM Port 1
- n
-
-
diff --git a/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared.xml b/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared.xml
new file mode 120000
index 000000000..22d6e7e30
--- /dev/null
+++ b/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared.xml
@@ -0,0 +1 @@
+shared_launch_2user_vm.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared_launch_2user_vm.xml b/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared_launch_2user_vm.xml
index 7cb57325a..d2c77abfe 100644
--- a/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared_launch_2user_vm.xml
+++ b/misc/config_tools/data/tgl-vecow-spc-7100-Corei7/shared_launch_2user_vm.xml
@@ -1,94 +1,163 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Disable
- n
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+ 0xfffff
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 256
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+ POST_STD_VM1
+ 0x2F8
+
+
+
+ vUART connection 2
+ legacy
+
+ ACRN_Service_VM
+ 0x3E8
+
+
+ POST_RT_VM1
+ 0x3E8
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+ 0x20000000
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ rw rootwait root=/dev/sda3 console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1 swiotlb=131072
+
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
0
1
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 4096
+
+ PRIO_LOW
+ COM Port 1
+
+ 00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)
+
+ n
+ Windows OS
+ Enable
+ Disable
+
- WaaG
-
- ./win10-ltsc.img
- @stdio:stdio_port
+ @stdio:stdio_port
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
-
- PREEMPT-RT LINUX
- POST_RT_VM1
- Hard RT
- 1024
- ovmf
- Disable
- n
-
-
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_RT_VM1
+ y
+
2
3
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 1024
+
+ PRIO_LOW
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- RT
-
- ./core-image-weston-intel-corei7-64.wic
- @stdio:stdio_port
+ @stdio:stdio_port
+ RT
+
+ ./core-image-weston-intel-corei7-64.wic
-
-
-
-
-
+
diff --git a/misc/config_tools/data/whl-ipc-i5/hybrid.xml b/misc/config_tools/data/whl-ipc-i5/hybrid.xml
index d543df285..3f745b701 100644
--- a/misc/config_tools/data/whl-ipc-i5/hybrid.xml
+++ b/misc/config_tools/data/whl-ipc-i5/hybrid.xml
@@ -87,9 +87,7 @@
n
-
-
-
+
SERVICE_VM
diff --git a/misc/config_tools/data/whl-ipc-i5/hybrid_rt.xml b/misc/config_tools/data/whl-ipc-i5/hybrid_rt.xml
deleted file mode 100644
index 1c6d6800b..000000000
--- a/misc/config_tools/data/whl-ipc-i5/hybrid_rt.xml
+++ /dev/null
@@ -1,169 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- n
- n
-
- y
- n
- y
- n
- n
-
-
- shm_region_0
- Hypervisor
- 2
-
-
- PRE_RT_VM0
- 00:08.0
-
-
- POST_STD_VM1
- 00:08.0
-
-
-
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 64
-
- 16
-
-
- 0x00000010
-
-
-
- vUART connection 1
- legacy
-
- PRE_RT_VM0
- 0x2F8
-
-
- ACRN_Service_VM
- 0x2F8
-
-
-
-
-
- PRE_LAUNCHED_VM
- RTVM
- PRE_RT_VM0
- y
-
- 2
- 3
-
-
- 0
- 0
-
-
- 0
- 0
-
-
- 0x100000000
- 0x40000000
- 0x0
- 0x0
-
-
- KERNEL_BZIMAGE
- RT_bzImage
-
- rw rootwait root=/dev/sda3 rootfstype=ext4 console=ttyS0,115200 console=tty0 console=ttyS0 rw nohpet console=hvc0 no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
- clocksource=tsc x2apic_phys processor.max_cstate=0 intel_idle.max_cstate=0 intel_pstate=disable mce=ignore_ce audit=0 isolcpus=nohz,domain,1 nohz_full=1 rcu_nocbs=1 nosoftlockup idle=poll irqaffinity=0 no_ipi_broadcast=1
- reboot=acpi
-
-
- COM Port 1
-
- n
-
-
- 00:17.0 SATA controller: Intel Corporation Device 9dd3 (rev 30)
- 03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
- 1
-
-
- 0
- 0
-
-
- 0
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- root=/dev/nvme0n1p3 rw rootwait console=tty0 consoleblank=0 no_timer_check quiet loglevel=3
- i915.nuclear_pageflip=1
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM2
-
- 1
-
-
- 0
-
- COM Port 1
- n
-
-
diff --git a/misc/config_tools/data/whl-ipc-i5/hybrid_rt.xml b/misc/config_tools/data/whl-ipc-i5/hybrid_rt.xml
new file mode 120000
index 000000000..0fadec577
--- /dev/null
+++ b/misc/config_tools/data/whl-ipc-i5/hybrid_rt.xml
@@ -0,0 +1 @@
+hybrid_rt_launch_1user_vm_waag.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/whl-ipc-i5/hybrid_rt_launch_1user_vm_waag.xml b/misc/config_tools/data/whl-ipc-i5/hybrid_rt_launch_1user_vm_waag.xml
index f95206978..73364debf 100644
--- a/misc/config_tools/data/whl-ipc-i5/hybrid_rt_launch_1user_vm_waag.xml
+++ b/misc/config_tools/data/whl-ipc-i5/hybrid_rt_launch_1user_vm_waag.xml
@@ -1,47 +1,186 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Enable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+
+ y
+ n
+ y
+ n
+ n
+
+
+ shm_region_0
+ Hypervisor
+ 2
+
+
+ PRE_RT_VM0
+ 00:08.0
+
+
+ POST_STD_VM1
+ 00:08.0
+
+
+
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 64
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ PRE_RT_VM0
+ 0x2F8
+
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+
+
+
+ PRE_LAUNCHED_VM
+ RTVM
+ PRE_RT_VM0
+ y
+
+ 2
+ 3
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0x100000000
+ 0x40000000
+ 0x0
+ 0x0
+
+
+ KERNEL_BZIMAGE
+ RT_bzImage
+
+ rw rootwait root=/dev/sda3 rootfstype=ext4 console=ttyS0,115200 console=tty0 console=ttyS0 rw nohpet console=hvc0 no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ clocksource=tsc x2apic_phys processor.max_cstate=0 intel_idle.max_cstate=0 intel_pstate=disable mce=ignore_ce audit=0 isolcpus=nohz,domain,1 nohz_full=1 rcu_nocbs=1 nosoftlockup idle=poll irqaffinity=0 no_ipi_broadcast=1
+ reboot=acpi
+
+
+ COM Port 1
+
+ n
+
+
+ 00:17.0 SATA controller: Intel Corporation Device 9dd3 (rev 30)
+ 03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+
+ 0
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
+ 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
+
+ n
+ Windows OS
+ Enable
+ Enable
+
- WaaG
-
- ./win10-ltsc.img
-
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 1
+
+
+ 0
+
+ COM Port 1
+ n
+
diff --git a/misc/config_tools/data/whl-ipc-i5/sdc.xml b/misc/config_tools/data/whl-ipc-i5/sdc.xml
deleted file mode 100644
index 506ab45a2..000000000
--- a/misc/config_tools/data/whl-ipc-i5/sdc.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- n
- n
-
- y
- n
- y
- n
- n
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 64
-
- 16
-
-
- 0x00000010
-
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
-
-
- 0
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- root=/dev/sda3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
- i915.nuclear_pageflip=1
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 1
- 2
-
-
- 0
- 0
-
- None
- n
-
-
diff --git a/misc/config_tools/data/whl-ipc-i5/sdc.xml b/misc/config_tools/data/whl-ipc-i5/sdc.xml
new file mode 120000
index 000000000..bd5e0b8d0
--- /dev/null
+++ b/misc/config_tools/data/whl-ipc-i5/sdc.xml
@@ -0,0 +1 @@
+sdc_launch_1user_vm_zephyr.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/whl-ipc-i5/sdc_launch_1user_vm_laag.xml b/misc/config_tools/data/whl-ipc-i5/sdc_launch_1user_vm_laag.xml
index 53577fc95..ca30f488e 100644
--- a/misc/config_tools/data/whl-ipc-i5/sdc_launch_1user_vm_laag.xml
+++ b/misc/config_tools/data/whl-ipc-i5/sdc_launch_1user_vm_laag.xml
@@ -1,47 +1,97 @@
-
-
- YOCTO
- POST_STD_VM1
- no
- 2048
- ovmf
- Disable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 64
+
+ 16
+
+
+ 0x00000010
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/sda3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 1
+ 2
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 2048
+
+ None
+
+ 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
+
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- LaaG
-
- /home/clear/uos/uos.img
- @stdio:stdio_port
+ @stdio:stdio_port
+ LaaG
+
+ /home/clear/uos/uos.img
-
-
-
-
-
+
diff --git a/misc/config_tools/data/whl-ipc-i5/sdc_launch_1user_vm_zephyr.xml b/misc/config_tools/data/whl-ipc-i5/sdc_launch_1user_vm_zephyr.xml
index eb7e9e274..6d46f847a 100644
--- a/misc/config_tools/data/whl-ipc-i5/sdc_launch_1user_vm_zephyr.xml
+++ b/misc/config_tools/data/whl-ipc-i5/sdc_launch_1user_vm_zephyr.xml
@@ -1,47 +1,94 @@
-
-
- ZEPHYR
- POST_STD_VM1
- no
- 128
- ovmf
- Enable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 64
+
+ 16
+
+
+ 0x00000010
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/sda3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 1
+ 2
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 128
+
+ None
+ n
+ Non-Windows OS
+ Enable
+ Enable
+
-
-
- ./zephyr.img
- @pty:pty_port
-
-
-
+ @pty:pty_port
-
-
+
+ ./zephyr.img
+
+
diff --git a/misc/config_tools/data/whl-ipc-i5/shared.xml b/misc/config_tools/data/whl-ipc-i5/shared.xml
deleted file mode 100644
index 09e2ecf32..000000000
--- a/misc/config_tools/data/whl-ipc-i5/shared.xml
+++ /dev/null
@@ -1,169 +0,0 @@
-
-
-
- debug
- /dev/ttyS0
- 5
- 5
- 3
-
-
- y
- SCHED_BVT
- y
- y
- n
- n
-
- n
- n
- n
-
- y
- n
- y
- n
- n
-
-
-
- 0x2000
-
-
- 16
- 0x100
- 1
- 96
- 120
- 64
-
- 16
-
-
- 0x00000010
-
-
-
- vUART connection 1
- legacy
-
- ACRN_Service_VM
- 0x2F8
-
-
- POST_RT_VM1
- 0x2F8
-
-
-
-
-
- SERVICE_VM
- STANDARD_VM
- ACRN_Service_VM
-
- 0
-
-
- 0
- 0x20000000
-
-
- KERNEL_BZIMAGE
- Linux_bzImage
-
- root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
- i915.nuclear_pageflip=1
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM1
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
-
-
- POST_LAUNCHED_VM
- RTVM
- POST_RT_VM1
-
- 2
- 3
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM2
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM3
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM4
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
- POST_LAUNCHED_VM
- STANDARD_VM
- POST_STD_VM5
-
- 0
- 1
-
-
- 0
- 0
-
- COM Port 1
- n
-
-
diff --git a/misc/config_tools/data/whl-ipc-i5/shared.xml b/misc/config_tools/data/whl-ipc-i5/shared.xml
new file mode 120000
index 000000000..cc4790084
--- /dev/null
+++ b/misc/config_tools/data/whl-ipc-i5/shared.xml
@@ -0,0 +1 @@
+shared_launch_6user_vm.xml
\ No newline at end of file
diff --git a/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_hardrt.xml b/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_hardrt.xml
index cce831fc2..d160c564c 100644
--- a/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_hardrt.xml
+++ b/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_hardrt.xml
@@ -1,47 +1,183 @@
-
-
- PREEMPT-RT LINUX
- POST_STD_VM1
- Hard RT
- 1024
- ovmf
- Disable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 64
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+ POST_RT_VM1
+ 0x2F8
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+ 0x20000000
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_STD_VM1
+ y
+
+ 2
+ 3
+
+
+ 0
+ 0
+
+
+ 1024
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- RT
-
- ./core-image-weston-intel-corei7-64.wic
- @stdio:stdio_port
+ @stdio:stdio_port
+ RT
+
+ ./core-image-weston-intel-corei7-64.wic
-
-
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM3
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM4
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM5
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
diff --git a/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_vxworks.xml b/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_vxworks.xml
index 1fdb80a0b..827d63a8d 100644
--- a/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_vxworks.xml
+++ b/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_vxworks.xml
@@ -1,47 +1,184 @@
-
-
- VXWORKS
- POST_STD_VM1
- Hard RT
- 2048
- ovmf
- Disable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 64
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+ POST_RT_VM1
+ 0x2F8
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+ 0x20000000
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_STD_VM1
+ y
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 2048
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
-
-
- ./VxWorks.img
- @stdio:stdio_port
-
-
-
+ @stdio:stdio_port
-
-
+
+ ./VxWorks.img
+
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_RT_VM1
+
+ 2
+ 3
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM3
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM4
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM5
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
diff --git a/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_waag.xml b/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_waag.xml
index 6692603ce..d274d81f5 100644
--- a/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_waag.xml
+++ b/misc/config_tools/data/whl-ipc-i5/shared_launch_1user_vm_waag.xml
@@ -1,47 +1,187 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Enable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 64
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+ POST_RT_VM1
+ 0x2F8
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+ 0x20000000
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
+ 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
+
+ n
+ Windows OS
+ Enable
+ Enable
+
- WaaG
-
- ./win10-ltsc.img
-
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_RT_VM1
+
+ 2
+ 3
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM3
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM4
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM5
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
diff --git a/misc/config_tools/data/whl-ipc-i5/shared_launch_2user_vm.xml b/misc/config_tools/data/whl-ipc-i5/shared_launch_2user_vm.xml
index a2a4d6586..8ce20657e 100644
--- a/misc/config_tools/data/whl-ipc-i5/shared_launch_2user_vm.xml
+++ b/misc/config_tools/data/whl-ipc-i5/shared_launch_2user_vm.xml
@@ -1,92 +1,201 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Enable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 64
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+ POST_RT_VM1
+ 0x2F8
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+ 0x20000000
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
+ 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
+
+ n
+ Windows OS
+ Enable
+ Enable
+
- WaaG
-
- ./win10-ltsc.img
-
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
-
- PREEMPT-RT LINUX
- POST_RT_VM1
- Hard RT
- 1024
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_RT_VM1
+ y
+
+ 2
+ 3
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 1024
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- RT
-
- ./core-image-weston-intel-corei7-64.wic
- @stdio:stdio_port
+ @stdio:stdio_port
+ RT
+
+ ./core-image-weston-intel-corei7-64.wic
-
-
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM3
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM4
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM5
+
+ 0
+ 1
+
+
+ 0
+ 0
+
+ COM Port 1
+ n
+
diff --git a/misc/config_tools/data/whl-ipc-i5/shared_launch_6user_vm.xml b/misc/config_tools/data/whl-ipc-i5/shared_launch_6user_vm.xml
index e2ea38236..2c68403e7 100644
--- a/misc/config_tools/data/whl-ipc-i5/shared_launch_6user_vm.xml
+++ b/misc/config_tools/data/whl-ipc-i5/shared_launch_6user_vm.xml
@@ -1,272 +1,253 @@
-
-
- WINDOWS
- POST_STD_VM1
- no
- 4096
- ovmf
- Enable
- n
-
-
-
+
+
+
+ debug
+ /dev/ttyS0
+ 5
+ 5
+ 3
+
+
+ y
+ SCHED_BVT
+ y
+ y
+ n
+ n
+
+ n
+ n
+ n
+
+ y
+ n
+ y
+ n
+ n
+
+
+
+ 0x2000
+
+
+ 16
+ 0x100
+ 1
+ 96
+ 120
+ 64
+
+ 16
+
+
+ 0x00000010
+
+
+
+ vUART connection 1
+ legacy
+
+ ACRN_Service_VM
+ 0x2F8
+
+
+ POST_RT_VM1
+ 0x2F8
+
+
+
+
+
+ SERVICE_VM
+ STANDARD_VM
+ ACRN_Service_VM
+
+ 0
+
+
+ 0
+ 0x20000000
+
+
+ KERNEL_BZIMAGE
+ Linux_bzImage
+
+ root=/dev/nvme0n1p3 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3
+ i915.nuclear_pageflip=1
+
+ COM Port 1
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM1
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
- 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 4096
+
+ COM Port 1
+
+ 00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
+ 00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
+
+ n
+ Windows OS
+ Enable
+ Enable
+
- WaaG
-
- ./win10-ltsc.img
-
+
+ WaaG
+
+ ./win10-ltsc.img
-
-
-
-
-
-
- PREEMPT-RT LINUX
- POST_RT_VM1
- Hard RT
- 1024
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ RTVM
+ POST_RT_VM1
+ y
+
+ 2
+ 3
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 1024
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
- RT
-
- ./core-image-weston-intel-corei7-64.wic
- @stdio:stdio_port
+ @stdio:stdio_port
+ RT
+
+ ./core-image-weston-intel-corei7-64.wic
-
-
-
-
-
-
- YOCTO
- POST_STD_VM2
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM2
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
-
-
-
-
-
-
-
+
-
-
-
- YOCTO
- POST_STD_VM3
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM3
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
-
-
-
-
-
-
-
+
-
-
-
- YOCTO
- POST_STD_VM4
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM4
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
-
-
-
-
-
-
-
+
-
-
-
- YOCTO
- POST_STD_VM5
- no
- 512
- ovmf
- Disable
- n
-
-
-
+
+
+
+
+
+ POST_LAUNCHED_VM
+ STANDARD_VM
+ POST_STD_VM5
+
+ 0
+ 1
-
-
-
- Disable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 0
+ 0
+
+
+ 512
+
+ COM Port 1
+ n
+ Non-Windows OS
+ Enable
+ Disable
+
-
-
-
-
-
-
-
+
-
-
+
+
+
+
diff --git a/misc/config_tools/launch_config/launch_cfg_gen.py b/misc/config_tools/launch_config/launch_cfg_gen.py
index ec677ba59..c1e182d14 100755
--- a/misc/config_tools/launch_config/launch_cfg_gen.py
+++ b/misc/config_tools/launch_config/launch_cfg_gen.py
@@ -15,6 +15,9 @@ import copy
def eval_xpath(element, xpath, default_value=None):
return next(iter(element.xpath(xpath)), default_value)
+def eval_xpath_all(element, xpath):
+ return element.xpath(xpath)
+
class LaunchScript:
script_template_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "launch_script_template.sh")
@@ -53,9 +56,9 @@ class LaunchScript:
current_option = self._options.setdefault(class_code, [])
self._options[class_code] = current_option.append("enable_ptm")
- def __init__(self, vm_launch_etree):
+ def __init__(self, vm_scenario_etree):
self._options = copy.copy(self.passthru_device_options)
- if eval_xpath(vm_launch_etree, ".//enable_ptm/text()") == "y":
+ if eval_xpath(vm_scenario_etree, ".//PTM/text()") == "y":
self._add_option("0x0200", "enable_ptm")
def get_option(self, device_etree):
@@ -67,9 +70,9 @@ class LaunchScript:
passthru_options.extend(v)
return ",".join(passthru_options)
- def __init__(self, board_etree, vm_name, vm_launch_etree):
+ def __init__(self, board_etree, vm_name, vm_scenario_etree):
self._board_etree = board_etree
- self._vm_launch_etree = vm_launch_etree
+ self._vm_scenario_etree = vm_scenario_etree
self._vm_name = vm_name
self._vm_descriptors = {}
@@ -78,7 +81,7 @@ class LaunchScript:
self._deinit_commands = []
self._vbdf_allocator = self.VirtualBDFAllocator()
- self._passthru_options = self.PassThruDeviceOptions(vm_launch_etree)
+ self._passthru_options = self.PassThruDeviceOptions(vm_scenario_etree)
def add_vm_descriptor(self, name, value):
self._vm_descriptors[name] = value
@@ -146,7 +149,7 @@ class LaunchScript:
logging.info(f"Successfully generated launch script {path} for VM '{self._vm_name}'.")
def add_virtual_device(self, kind, vbdf=None, options=""):
- if "virtio" in kind and eval_xpath(self._vm_launch_etree, ".//rtos_type/text()", "no") != "no":
+ if "virtio" in kind and eval_xpath(self._vm_scenario_etree, ".//vm_type/text()") == "RTVM":
self.add_plain_dm_parameter("--virtio_poll 1000000")
if vbdf is None:
@@ -185,9 +188,9 @@ def cpu_id_to_lapic_id(board_etree, vm_name, cpus):
return ret
-def generate_for_one_vm(board_etree, hv_scenario_etree, vm_scenario_etree, vm_launch_etree, vm_id):
- vm_name = eval_xpath(vm_launch_etree, ".//vm_name/text()", f"ACRN Post-Launched VM")
- script = LaunchScript(board_etree, vm_name, vm_launch_etree)
+def generate_for_one_vm(board_etree, hv_scenario_etree, vm_scenario_etree, vm_id):
+ vm_name = eval_xpath(vm_scenario_etree, "./name/text()", f"ACRN Post-Launched VM")
+ script = LaunchScript(board_etree, vm_name, vm_scenario_etree)
script.add_init_command("probe_modules")
@@ -195,38 +198,29 @@ def generate_for_one_vm(board_etree, hv_scenario_etree, vm_scenario_etree, vm_la
# VM types and guest OSes
###
- if eval_xpath(vm_launch_etree, ".//user_vm_type/text()") == "WINDOWS":
+ if eval_xpath(vm_scenario_etree, ".//os_type/text()") == "Windows OS":
script.add_plain_dm_parameter("--windows")
- script.add_vm_descriptor("rtos_type", f"'{eval_xpath(vm_launch_etree, './/rtos_type/text()', 'no')}'")
+ script.add_vm_descriptor("vm_type", f"'{eval_xpath(vm_scenario_etree, './/vm_type/text()', 'STANDARD_VM')}'")
script.add_vm_descriptor("scheduler", f"'{eval_xpath(hv_scenario_etree, './/SCHEDULER/text()')}'")
###
# CPU and memory resources
###
- cpus_in_launch_xml = set(vm_launch_etree.xpath(".//cpu_affinity/pcpu_id[text() != '']/text()"))
- cpus_in_scenario_xml = set(vm_scenario_etree.xpath(".//cpu_affinity/pcpu_id[text() != '']/text()"))
- if cpus_in_launch_xml:
- cpus = cpus_in_scenario_xml & cpus_in_launch_xml
- if not cpus:
- logging.error(f"CPUs assigned to VM '{vm_name}' in the launch XML are outside of those allowed by the scenario XML.")
- else:
- cpus = cpus_in_scenario_xml
- if not cpus:
- logging.error(f"VM '{vm_name}' has no CPU assigned in either the scenario or the launch XML.")
+ cpus = set(eval_xpath_all(vm_scenario_etree, ".//cpu_affinity/pcpu_id[text() != '']/text()"))
lapic_ids = cpu_id_to_lapic_id(board_etree, vm_name, cpus)
if lapic_ids:
script.add_dynamic_dm_parameter("add_cpus", f"{' '.join([str(x) for x in sorted(lapic_ids)])}")
- script.add_plain_dm_parameter(f"-m {eval_xpath(vm_launch_etree, './/mem_size/text()')}M")
+ script.add_plain_dm_parameter(f"-m {eval_xpath(vm_scenario_etree, './/memory/whole/text()')}M")
if eval_xpath(vm_scenario_etree, "//SSRAM_ENABLED") == "y" and \
- eval_xpath(vm_launch_etree, ".//user_vm_type/text()") == "PREEMPT-RT LINUX":
+ eval_xpath(vm_scenario_etree, ".//vm_type/text()") == "RTVM":
script.add_plain_dm_parameter("--ssram")
###
# Guest BIOS
###
- if eval_xpath(vm_launch_etree, ".//vbootloader/text()") == "ovmf":
+ if eval_xpath(vm_scenario_etree, ".//vbootloader/text()") == "Enable":
script.add_plain_dm_parameter("--ovmf /usr/share/acrn/bios/OVMF.fd")
###
@@ -234,36 +228,36 @@ def generate_for_one_vm(board_etree, hv_scenario_etree, vm_scenario_etree, vm_la
###
# Emulated platform devices
- if eval_xpath(vm_launch_etree, ".//user_vm_type/text()") != "PREEMPT-RT LINUX":
+ if eval_xpath(vm_scenario_etree, ".//vm_type/text()") != "RTVM":
script.add_virtual_device("lpc", vbdf="1:0")
- if eval_xpath(vm_launch_etree, ".//vuart0/text()") == "Enable":
+ if eval_xpath(vm_scenario_etree, ".//vuart0/text()") == "Enable":
script.add_plain_dm_parameter("-l com1,stdio")
# Emulated PCI devices
script.add_virtual_device("hostbridge", vbdf="0:0")
- if eval_xpath(vm_scenario_etree, "//IVSHMEM_ENABLED/text()") == "y":
- for ivshmem in vm_launch_etree.xpath("//shm_region[text() != '']/text()"):
- script.add_virtual_device("ivshmem", options=ivshmem)
+ for ivshmem in eval_xpath_all(vm_scenario_etree, "//IVSHMEM_REGION[PROVIDED_BY = 'Device model' and .//VM_NAME = 'vm_name']"):
+ script.add_virtual_device("ivshmem", options=f"dm:/{ivshmem.find('NAME').text},{ivshmem.find('IVSHMEM_SIZE').text}")
- if eval_xpath(vm_launch_etree, ".//console_vuart/text()") == "Enable":
+ if eval_xpath(vm_scenario_etree, ".//console_vuart/text()") == "PCI":
script.add_virtual_device("uart", options="vuart_idx:0")
- for comm_vuart in vm_launch_etree.xpath(".//communication_vuart/@id"):
- script.add_virtual_device("uart", options=f"vuart_idx:{comm_vuart}")
+ for idx, conn in enumerate(eval_xpath_all(hv_scenario_etree, f".//vuart_connection[endpoint/vm_name = '{vm_name}']"), start=1):
+ if eval_xpath(conn, "./type") == "pci":
+ script.add_virtual_device("uart", options="vuart_idx:{idx}")
# Mediated PCI devices, including virtio
- for usb_xhci in vm_launch_etree.xpath(".//usb_xhci[text() != '']/text()"):
+ for usb_xhci in eval_xpath_all(vm_scenario_etree, ".//usb_xhci[text() != '']/text()"):
script.add_virtual_device("xhci", options=usb_xhci)
- for virtio_input in vm_launch_etree.xpath(".//virtio_devices/input[text() != '']/text()"):
+ for virtio_input in eval_xpath_all(vm_scenario_etree, ".//virtio_devices/input[text() != '']/text()"):
script.add_virtual_device("virtio-input", options=virtio_input)
- for virtio_console in vm_launch_etree.xpath(".//virtio_devices/console[text() != '']/text()"):
+ for virtio_console in eval_xpath_all(vm_scenario_etree, ".//virtio_devices/console[text() != '']/text()"):
script.add_virtual_device("virtio-console", options=virtio_console)
- for virtio_network in vm_launch_etree.xpath(".//virtio_devices/network[text() != '']/text()"):
+ for virtio_network in eval_xpath_all(vm_scenario_etree, ".//virtio_devices/network[text() != '']/text()"):
params = virtio_network.split(",", maxsplit=1)
tap_conf = f"tap={params[0]}"
params = [tap_conf] + params[1:]
@@ -271,7 +265,7 @@ def generate_for_one_vm(board_etree, hv_scenario_etree, vm_scenario_etree, vm_la
params.append(f"mac_seed=${{mac:0:17}}-{vm_name}")
script.add_virtual_device("virtio-net", options=",".join(params))
- for virtio_block in vm_launch_etree.xpath(".//virtio_devices/block[text() != '']/text()"):
+ for virtio_block in eval_xpath_all(vm_scenario_etree, ".//virtio_devices/block[text() != '']/text()"):
params = virtio_block.split(":", maxsplit=1)
if len(params) == 1:
script.add_virtual_device("virtio-blk", options=virtio_block)
@@ -285,22 +279,28 @@ def generate_for_one_vm(board_etree, hv_scenario_etree, vm_scenario_etree, vm_la
# Passthrough PCI devices
bdf_regex = re.compile("([0-9a-f]{2}):([0-1][0-9a-f]).([0-7])")
- for passthru_device in vm_launch_etree.xpath(".//passthrough_devices/*/text()"):
+ for passthru_device in eval_xpath_all(vm_scenario_etree, ".//pci_devs/*/text()"):
m = bdf_regex.match(passthru_device)
if not m:
continue
- script.add_passthru_device(int(m.group(1), 16), int(m.group(2), 16), int(m.group(3), 16))
-
- for sriov_gpu_device in vm_launch_etree.xpath(".//sriov/gpu/text()"):
- m = bdf_regex.match(sriov_gpu_device)
- if not m:
- continue
- script.add_passthru_device(int(m.group(1), 16), int(m.group(2), 16), int(m.group(3), 16), options="igd-vf")
+ bus = int(m.group(1), 16)
+ dev = int(m.group(2), 16)
+ func = int(m.group(3), 16)
+ device_node = eval_xpath(board_etree, f"//bus[@type='pci' and @address='{hex(bus)}']/device[@address='hex((dev << 16) | func)']")
+ if device_node and \
+ eval_xpath(device_node, "class/text()") == "0x030000" and \
+ eval_xpath(device_node, "resource[@type='memory'") is None:
+ script.add_passthru_device(bus, dev, func, options="igd-vf")
+ else:
+ script.add_passthru_device(bus, dev, func)
###
# Miscellaneous
###
- script.add_dynamic_dm_parameter("add_rtvm_options")
+ if eval_xpath(vm_scenario_etree, ".//vm_type/text()") == "RTVM":
+ script.add_plain_dm_parameter("--rtvm")
+ if eval_xpath(vm_scenario_etree, ".//lapic_passthrough/text()") == "y":
+ script.add_plain_dm_parameter("--lapic_pt")
script.add_dynamic_dm_parameter("add_logger_settings", "console=4 kmsg=3 disk=5")
###
@@ -310,14 +310,13 @@ def generate_for_one_vm(board_etree, hv_scenario_etree, vm_scenario_etree, vm_la
return script
-def main(board_xml, scenario_xml, launch_xml, user_vm_id, out_dir):
+def main(board_xml, scenario_xml, user_vm_id, out_dir):
board_etree = etree.parse(board_xml)
scenario_etree = etree.parse(scenario_xml)
- launch_etree = etree.parse(launch_xml)
- service_vm_id = eval_xpath(scenario_etree, "//vm[load_order='SERVICE_VM']/@id")
+ service_vm_id = eval_xpath(scenario_etree, "//vm[load_order = 'SERVICE_VM']/@id")
hv_scenario_etree = eval_xpath(scenario_etree, "//hv")
- post_vms = scenario_etree.xpath("//vm[starts-with(load_order, 'POST_')]")
+ post_vms = eval_xpath_all(scenario_etree, "//vm[load_order = 'POST_LAUNCHED_VM']")
if service_vm_id is None and len(post_vms) > 0:
logging.error("The scenario does not define a service VM so no launch scripts will be generated for the post-launched VMs in the scenario.")
return 1
@@ -334,23 +333,17 @@ def main(board_xml, scenario_xml, launch_xml, user_vm_id, out_dir):
return 1
if user_vm_id == 0:
- post_vm_ids = [int(vm_scenario_etree.get("id")) - service_vm_id for vm_scenario_etree in post_vms]
+ post_vm_ids = [int(vm_scenario_etree.get("id")) for vm_scenario_etree in post_vms]
else:
- post_vm_ids = [user_vm_id]
+ post_vm_ids = [user_vm_id + service_vm_id]
- for post_vm_id in post_vm_ids:
- vm_scenario_etree = eval_xpath(scenario_etree, f"//vm[@id = {service_vm_id + post_vm_id}]")
- vm_launch_etree = eval_xpath(launch_etree, f"//user_vm[@id='{post_vm_id}']")
- if vm_scenario_etree is None:
- logging.warning(f"Post-launched VM {post_vm_id} is not specified in the scenario XML, so no launch script will be generated.")
+ for post_vm in post_vms:
+ post_vm_id = int(post_vm.get("id"))
+ if post_vm_id not in post_vm_ids:
continue
- if vm_launch_etree is None:
- logging.warning(f"Post-launched VM {post_vm_id} is not specified in the launch XML, so no launch script will be generated.")
- continue
-
- script = generate_for_one_vm(board_etree, hv_scenario_etree, vm_scenario_etree, vm_launch_etree, post_vm_id)
- script.write_to_file(os.path.join(out_dir, f"launch_user_vm_id{post_vm_id}.sh"))
+ script = generate_for_one_vm(board_etree, hv_scenario_etree, post_vm, post_vm_id)
+ script.write_to_file(os.path.join(out_dir, f"launch_user_vm_id{post_vm_id - service_vm_id}.sh"))
return 0
@@ -358,11 +351,11 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--board", help="the XML file summarizing characteristics of the target board")
parser.add_argument("--scenario", help="the XML file specifying the scenario to be set up")
- parser.add_argument("--launch", help="the XML file specifying the parameters of post-launched VMs")
+ parser.add_argument("--launch", default=None, help="(obsoleted. DO NOT USE)")
parser.add_argument("--user_vmid", type=int, default=0, help="the post-launched VM ID (as is specified in the launch XML) whose launch script is to be generated, or 0 if all post-launched VMs shall be processed")
parser.add_argument("--out", default="output", help="path to the directory where generated scripts are placed")
args = parser.parse_args()
logging.basicConfig(level="INFO")
- sys.exit(main(args.board, args.scenario, args.launch, args.user_vmid, args.out))
+ sys.exit(main(args.board, args.scenario, args.user_vmid, args.out))
diff --git a/misc/config_tools/launch_config/launch_script_template.sh b/misc/config_tools/launch_config/launch_script_template.sh
index d0a63343d..44318d0c8 100644
--- a/misc/config_tools/launch_config/launch_script_template.sh
+++ b/misc/config_tools/launch_config/launch_script_template.sh
@@ -90,7 +90,7 @@ function add_cpus() {
# Each parameter of this function is considered the processor ID (as is reported in /proc/cpuinfo) of a CPU assigned
# to a post-launched RTVM.
- if [ "${rtos_type}" != "no" ] || [ "${scheduler}" = "SCHED_NOOP" ]; then
+ if [ "${vm_type}" = "RTVM" ] || [ "${scheduler}" = "SCHED_NOOP" ]; then
offline_cpus $*
fi
@@ -98,14 +98,6 @@ function add_cpus() {
echo -n "--cpu_affinity ${cpu_list}"
}
-function add_rtvm_options() {
- if [ "${rtos_type}" = "Soft RT" ]; then
- echo -n "--rtvm"
- elif [ "${rtos_type}" = "Hard RT" ]; then
- echo -n "--rtvm --lapic_pt"
- fi
-}
-
function add_interrupt_storm_monitor() {
threshold_per_sec=$1
probe_period_in_sec=$2
diff --git a/misc/config_tools/scenario_config/upgrader.py b/misc/config_tools/scenario_config/upgrader.py
index 5b5aecf00..512844861 100755
--- a/misc/config_tools/scenario_config/upgrader.py
+++ b/misc/config_tools/scenario_config/upgrader.py
@@ -151,6 +151,24 @@ class SharedMemoryRegions:
return cls(provided_by, name, size, shared_vms)
+ @classmethod
+ def from_launch_xml_node(cls, node):
+ text = node.text
+ provided_by = "Device Model"
+ parts = [p.strip() for p in text[text.find("/") + 1 :].split(",")]
+ name = parts[0]
+ size = parts[1]
+
+ shared_vms = []
+ vm_name = node.xpath("ancestor::user_vm/vm_name/text()")
+ if vm_name:
+ vm_name = vm_name[0]
+ dev = cls.next_dev[vm_name]
+ cls.next_dev[vm_name] += 1
+ shared_vms.append((vm_name, f"00:{dev:02x}.0"))
+
+ return cls(provided_by, name, size, shared_vms)
+
@classmethod
def from_xml_node(cls, node):
cls.nr_regions += 1
@@ -166,6 +184,9 @@ class SharedMemoryRegions:
shared_vms.append((vm_name, vbdf))
return cls(provided_by, name, size, shared_vms)
+ def extend(self, region):
+ self.shared_vms.extend(region.shared_vms)
+
def format_xml_element(self):
node = etree.Element("IVSHMEM_REGION")
etree.SubElement(node, "NAME").text = self.name
@@ -188,9 +209,18 @@ class SharedMemoryRegions:
"""Parse IVSHMEM_REGION nodes in either v2.x and v3.x format."""
if len(ivshmem_region_node) == 0:
- # ACRN v2.x format
- region = self.SharedMemoryRegion.from_encoding(ivshmem_region_node.text, self.old_xml_etree)
- self.regions[region.name] = region
+ if ivshmem_region_node.tag == "IVSHMEM_REGION":
+ # ACRN v2.x scenario XML format
+ region = self.SharedMemoryRegion.from_encoding(ivshmem_region_node.text, self.old_xml_etree)
+ self.regions[region.name] = region
+ elif ivshmem_region_node.tag == "shm_region":
+ # ACRN v2.x launch XML format
+ if ivshmem_region_node.text:
+ region = self.SharedMemoryRegion.from_launch_xml_node(ivshmem_region_node)
+ if region.name in self.regions.keys():
+ self.regions[region.name].extend(region)
+ else:
+ self.regions[region.name] = region
else:
# ACRN v3.x format
region = self.SharedMemoryRegion.from_xml_node(ivshmem_region_node)
@@ -207,15 +237,26 @@ class ScenarioUpgrader(ScenarioTransformer):
def get_node(cls, element, xpath):
return next(iter(element.xpath(xpath, namespaces=cls.xpath_ns)), None)
- def __init__(self, xsd_etree, old_xml_etree):
+ def __init__(self, xsd_etree, old_xml_etree, old_launch_etree = None):
super().__init__(xsd_etree, visit_optional_node=True)
self.old_xml_etree = old_xml_etree
+ self.old_launch_etree = old_launch_etree
+ if old_launch_etree is not None:
+ service_vm_id = old_xml_etree.xpath("//vm[.//load_order = 'SERVICE_VM' or .//vm_type = 'SERVICE_VM']/@id")
+ if not service_vm_id:
+ self.old_launch_etree = None
+ else:
+ self.service_vm_id = int(service_vm_id[0])
# Collect all nodes in old_xml_etree which will be used to track data not moved
self.old_data_nodes = set()
for node in old_xml_etree.iter():
if node.text:
self.old_data_nodes.add(node)
+ if self.old_launch_etree is not None:
+ for node in self.old_launch_etree.iter():
+ if node.text:
+ self.old_data_nodes.add(node)
self.hv_vm_node_map = {}
@@ -227,6 +268,22 @@ class ScenarioUpgrader(ScenarioTransformer):
old_data_node = old_hv_vm_node.xpath(xpath)
return old_data_node
+ def get_from_old_launch_data(self, new_parent_node, xpath):
+ if self.old_launch_etree is None:
+ return []
+
+ vm_node = new_parent_node
+ if vm_node.tag != "vm":
+ vm_node = next(new_parent_node.iterancestors("vm"), None)
+ if vm_node is None:
+ return []
+
+ old_vm_node = self.hv_vm_node_map[vm_node]
+ user_vm_id = int(old_vm_node.get("id")) - self.service_vm_id
+ user_vm_node = self.old_launch_etree.xpath(f"//user_vm[@id = '{user_vm_id}']")
+ old_data_node = user_vm_node[0].xpath(xpath) if user_vm_node else []
+ return old_data_node
+
def move_build_type(self, xsd_element_node, xml_parent_node, new_nodes):
old_data_node = self.get_node(self.old_xml_etree, f"//hv//RELEASE")
if old_data_node is not None:
@@ -248,8 +305,10 @@ class ScenarioUpgrader(ScenarioTransformer):
legacy_vuart = legacy_vuart[0] if legacy_vuart else None
console_vuart = self.get_from_old_data(xml_parent_node, ".//console_vuart")
console_vuart = console_vuart[0] if console_vuart else None
+ launch_console_vuart = self.get_from_old_launch_data(xml_parent_node, ".//console_vuart")
+ launch_console_vuart = launch_console_vuart[0] if launch_console_vuart else None
- if legacy_vuart is None and console_vuart is None:
+ if legacy_vuart is None and console_vuart is None and launch_console_vuart is None:
return False
if console_vuart is not None and console_vuart.text:
@@ -270,7 +329,12 @@ class ScenarioUpgrader(ScenarioTransformer):
if vm_load_order == "SERVICE_VM":
logging.info(f"The console virtual UART of the service VM is moved to {new_node.text}. Please double check the console= command line option in the OS bootargs of the service VM.")
- elif console_vuart is not None and console_vuart.find("base") != "INVALID_PCI_BASE":
+ elif console_vuart is not None:
+ if console_vuart.find("base") == "PCI_VUART":
+ new_node.text = "PCI"
+ else:
+ new_node.text = console_vuart.text
+ elif launch_console_vuart and launch_console_vuart.text != "Disable":
new_node.text = "PCI"
if legacy_vuart is not None:
@@ -279,6 +343,9 @@ class ScenarioUpgrader(ScenarioTransformer):
if console_vuart is not None:
for n in console_vuart.iter():
self.old_data_nodes.discard(n)
+ if launch_console_vuart is not None:
+ for n in launch_console_vuart.iter():
+ self.old_data_nodes.discard(n)
return False
@@ -315,6 +382,12 @@ class ScenarioUpgrader(ScenarioTransformer):
regions.add_ivshmem_region(old_region)
for child in old_region.iter():
self.old_data_nodes.discard(child)
+ if self.old_launch_etree:
+ for old_region in self.old_launch_etree.xpath("//shm_region"):
+ regions.add_ivshmem_region(old_region)
+ for child in old_region.iter():
+ self.old_data_nodes.discard(child)
+
new_nodes.append(regions.format_xml_element())
return False
@@ -322,9 +395,12 @@ class ScenarioUpgrader(ScenarioTransformer):
def move_vm_type(self, xsd_element_node, xml_parent_node, new_nodes):
old_vm_type_node = self.get_from_old_data(xml_parent_node, ".//vm_type").pop()
old_guest_flag_nodes = self.get_from_old_data(xml_parent_node, ".//guest_flag[text() = 'GUEST_FLAG_RT']")
+ old_rtos_type_nodes = self.get_from_old_launch_data(xml_parent_node, ".//rtos_type")
new_node = etree.Element(xsd_element_node.get("name"))
- if old_vm_type_node.text in ["PRE_RT_VM", "POST_RT_VM"] or old_guest_flag_nodes:
+ if old_vm_type_node.text in ["PRE_RT_VM", "POST_RT_VM"] or \
+ old_guest_flag_nodes or \
+ (old_rtos_type_nodes and old_rtos_type_nodes[0].text in ["Soft RT", "Hard RT"]):
new_node.text = "RTVM"
elif old_vm_type_node.text in ["SAFETY_VM", "PRE_STD_VM", "POST_STD_VM"]:
new_node.text = "STANDARD_VM"
@@ -334,6 +410,25 @@ class ScenarioUpgrader(ScenarioTransformer):
self.old_data_nodes.discard(old_vm_type_node)
for n in old_guest_flag_nodes:
self.old_data_nodes.discard(n)
+ for n in old_rtos_type_nodes:
+ self.old_data_nodes.discard(n)
+
+ return False
+
+ def move_os_type(self, xsd_element_node, xml_parent_node, new_nodes):
+ old_os_type_nodes = self.get_from_old_launch_data(xml_parent_node, ".//user_vm_type")
+
+ if old_os_type_nodes:
+ new_node = etree.Element(xsd_element_node.get("name"))
+ if old_os_type_nodes[0].text == "WINDOWS":
+ new_node.text = "Windows OS"
+ else:
+ new_node.text = "Non-Windows OS"
+ new_nodes.append(new_node)
+ for n in old_os_type_nodes:
+ self.old_data_nodes.discard(n)
+ else:
+ self.move_data_by_same_tag(xsd_element_node, xml_parent_node, new_nodes)
return False
@@ -350,10 +445,36 @@ class ScenarioUpgrader(ScenarioTransformer):
return False
- def move_data_by_xpath(self, xpath, xsd_element_node, xml_parent_node, new_nodes):
+ def move_lapic_passthrough(self, xsd_element_node, xml_parent_node, new_nodes):
+ old_rtos_type_nodes = self.get_from_old_launch_data(xml_parent_node, ".//rtos_type")
+ if old_rtos_type_nodes and old_rtos_type_nodes[0].text == "Hard RT":
+ new_node = etree.Element(xsd_element_node.get("name"))
+ new_node.text = "y"
+ new_nodes.append(new_node)
+ # The rtos_type node will be consumed by the vm_type mover
+ else:
+ self.move_guest_flag("GUEST_FLAG_LAPIC_PASSTHROUGH", xsd_element_node, xml_parent_node, new_nodes)
+
+ return False
+
+ def move_enablement(self, xpath, xsd_element_node, xml_parent_node, new_nodes, values_as_enabled = ["y"], values_as_disabled = ["n"]):
+ ret = self.move_data_by_xpath(xpath, xsd_element_node, xml_parent_node, new_nodes)
+ for n in new_nodes:
+ if n.text in values_as_enabled:
+ n.text = "Enable"
+ elif n.text in values_as_disabled:
+ n.text = "Disable"
+ return ret
+
+ def move_data_by_xpath(self, xpath, xsd_element_node, xml_parent_node, new_nodes, scenario_xml_only = False, launch_xml_only = False):
element_tag = xsd_element_node.get("name")
- old_data_nodes = self.get_from_old_data(xml_parent_node, xpath)
+ old_data_nodes = []
+ if not launch_xml_only:
+ old_data_nodes = self.get_from_old_data(xml_parent_node, xpath)
+ if not scenario_xml_only and not old_data_nodes and self.old_launch_etree is not None:
+ old_data_nodes = self.get_from_old_launch_data(xml_parent_node, xpath)
+
if self.complex_type_of_element(xsd_element_node) is None:
max_occurs_raw = xsd_element_node.get("maxOccurs")
@@ -369,7 +490,8 @@ class ScenarioUpgrader(ScenarioTransformer):
new_node = etree.Element(element_tag)
new_node.text = n.text
for k, v in n.items():
- new_node.set(k, v)
+ if k in ["id", "name"]:
+ new_node.set(k, v)
new_nodes.append(new_node)
self.old_data_nodes.discard(n)
@@ -389,20 +511,53 @@ class ScenarioUpgrader(ScenarioTransformer):
element_tag = xsd_element_node.get("name")
return self.move_data_by_xpath(f".//{element_tag}", xsd_element_node, xml_parent_node, new_nodes)
+ def rename_data(self, old_xpath, new_xpath, xsd_element_node, xml_parent_node, new_nodes):
+ ret = self.move_data_by_xpath(old_xpath, xsd_element_node, xml_parent_node, new_nodes)
+ if not new_nodes:
+ ret = self.move_data_by_xpath(new_xpath, xsd_element_node, xml_parent_node, new_nodes)
+ return ret
+
+ def move_data_from_either_xml(self, scenario_xpath, launch_xpath, xsd_element_node, xml_parent_node, new_nodes):
+ # When moving data from either XML files, data in the launch XML take precedence.
+ ret = self.move_data_by_xpath(launch_xpath, xsd_element_node, xml_parent_node, new_nodes, launch_xml_only = True)
+ if not new_nodes:
+ ret = self.move_data_by_xpath(scenario_xpath, xsd_element_node, xml_parent_node, new_nodes, scenario_xml_only = True)
+ else:
+ self.move_data_by_xpath(scenario_xpath, xsd_element_node, xml_parent_node, list(), scenario_xml_only = True)
+ return ret
+
+ def move_data_from_both_xmls(self, scenario_xpath, launch_xpath, xsd_element_node, xml_parent_node, new_nodes):
+ ret_scenario = self.move_data_by_xpath(scenario_xpath, xsd_element_node, xml_parent_node, new_nodes, scenario_xml_only = True)
+ ret_launch = self.move_data_by_xpath(launch_xpath, xsd_element_node, xml_parent_node, new_nodes, launch_xml_only = True)
+ return ret_scenario or ret_launch
+
+ def create_node_if(self, scenario_xpath, launch_xpath, xsd_element_node, xml_parent_node, new_nodes):
+ if self.get_from_old_data(xml_parent_node, scenario_xpath) or \
+ self.get_from_old_launch_data(xml_parent_node, launch_xpath):
+ new_node = etree.Element(xsd_element_node.get("name"))
+ new_nodes.append(new_node)
+ return True
+ return False
+
def move_data_null(self, xsd_element_node, xml_parent_node, new_nodes):
return False
data_movers = {
+ "vm/name": partialmethod(move_data_from_either_xml, "name", "vm_name"),
+ "pcpu_id": partialmethod(move_data_from_either_xml, "cpu_affinity/pcpu_id[text() != '']", "cpu_affinity/pcpu_id[text() != '']"),
+ "pci_dev": partialmethod(move_data_from_both_xmls, ".//pci_devs/pci_dev[text()]", "passthrough_devices/*[text()] | sriov/*[text()]"),
+ "PTM": partialmethod(move_data_from_either_xml, ".//PTM", "enable_ptm"),
+
# Configuration items with the same name but under different parents
- "vm/name": partialmethod(move_data_by_xpath, "./name"),
"os_config/name": partialmethod(move_data_by_xpath, ".//os_config/name"),
"epc_section/base": partialmethod(move_data_by_xpath, ".//epc_section/base"),
"console_vuart/base": partialmethod(move_data_by_xpath, ".//console_vuart/base"),
"epc_section/size": partialmethod(move_data_by_xpath, ".//epc_section/size"),
"memory/size": partialmethod(move_data_by_xpath, ".//memory/size"),
+ "virtio_devices/network": partialmethod(move_data_by_xpath, ".//virtio_devices/network"),
# Guest flags
- "lapic_passthrough": partialmethod(move_guest_flag, "GUEST_FLAG_LAPIC_PASSTHROUGH"),
+ "lapic_passthrough": move_lapic_passthrough,
"io_completion_polling": partialmethod(move_guest_flag, "GUEST_FLAG_IO_COMPLETION_POLLING"),
"nested_virtualization_support": partialmethod(move_guest_flag, "GUEST_FLAG_NVMX_ENABLED"),
"virtual_cat_support": partialmethod(move_guest_flag, "GUEST_FLAG_VCAT_ENABLED"),
@@ -410,11 +565,21 @@ class ScenarioUpgrader(ScenarioTransformer):
"hide_mtrr_support": partialmethod(move_guest_flag, "GUEST_FLAG_HIDE_MTRR"),
"security_vm": partialmethod(move_guest_flag, "GUEST_FLAG_SECURITY_VM"),
+ # Feature enabling or disabling
+ "vuart0": partialmethod(move_enablement, ".//vuart0"),
+ "vbootloader": partialmethod(move_enablement, ".//vbootloader", values_as_enabled = ["ovmf"], values_as_disabled = ["no"]),
+
+ # Intermediate nodes
+ "memory": partialmethod(create_node_if, ".//memory", ".//mem_size"),
+ "pci_devs": partialmethod(create_node_if, ".//pci_devs", ".//passthrough_devices/*[text() != ''] | .//sriov/*[text() != '']"),
+
"BUILD_TYPE": move_build_type,
"console_vuart": move_console_vuart,
"vuart_connections": move_vuart_connections,
"IVSHMEM": move_ivshmem,
"vm_type": move_vm_type,
+ "os_type": move_os_type,
+ "memory/whole": partialmethod(rename_data, "memory/whole", ".//mem_size"),
"default": move_data_by_same_tag,
}
@@ -499,6 +664,11 @@ class UpgradingScenarioStage(PipelineStage):
uses = {"schema_etree", "scenario_etree"}
provides = {"scenario_etree"}
+ def __init__(self, has_launch_xml = False):
+ self.has_launch_xml = has_launch_xml
+ if has_launch_xml:
+ self.uses.add("launch_etree")
+
class DiscardedDataFilter(namedtuple("DiscardedDataFilter", ["path", "data", "info"])):
def filter(self, path, data):
simp_path = re.sub(r"\[[^\]]*\]", "", path)
@@ -522,10 +692,13 @@ class UpgradingScenarioStage(PipelineStage):
]
def run(self, obj):
- upgrader = ScenarioUpgrader(obj.get("schema_etree"), obj.get("scenario_etree"))
+ if self.has_launch_xml:
+ upgrader = ScenarioUpgrader(obj.get("schema_etree"), obj.get("scenario_etree"), obj.get("launch_etree"))
+ else:
+ upgrader = ScenarioUpgrader(obj.get("schema_etree"), obj.get("scenario_etree"))
new_scenario_etree = upgrader.upgraded_etree
- discarded_data = [(obj.get("scenario_etree").getelementpath(n), n.text) for n in upgrader.old_data_nodes]
+ discarded_data = [(n.getroottree().getelementpath(n), n.text) for n in upgrader.old_data_nodes]
for path, data in sorted(discarded_data):
if not any(map(lambda x: x.filter(path, data), self.filters)):
escaped_data = data.replace("\n", "\\n")
@@ -534,15 +707,25 @@ class UpgradingScenarioStage(PipelineStage):
obj.set("scenario_etree", new_scenario_etree)
def main(args):
- pipeline = PipelineEngine(["schema_path", "scenario_path"])
- pipeline.add_stages([
- LXMLLoadStage("schema"),
- LXMLLoadStage("scenario"),
- SlicingSchemaByVMTypeStage(),
- UpgradingScenarioStage(),
- ])
+ if args.launch:
+ pipeline = PipelineEngine(["schema_path", "scenario_path", "launch_path"])
+ pipeline.add_stages([
+ LXMLLoadStage("schema"),
+ LXMLLoadStage("scenario"),
+ LXMLLoadStage("launch"),
+ SlicingSchemaByVMTypeStage(),
+ UpgradingScenarioStage(has_launch_xml=True),
+ ])
+ else:
+ pipeline = PipelineEngine(["schema_path", "scenario_path"])
+ pipeline.add_stages([
+ LXMLLoadStage("schema"),
+ LXMLLoadStage("scenario"),
+ SlicingSchemaByVMTypeStage(),
+ UpgradingScenarioStage(),
+ ])
- obj = PipelineObject(schema_path = args.schema, scenario_path = args.scenario)
+ obj = PipelineObject(schema_path = args.schema, scenario_path = args.scenario, launch_path=args.launch)
pipeline.run(obj)
# We know we are using lxml to parse the scenario XML, so it is ok to use lxml specific write options here.
obj.get("scenario_etree").write(args.out, pretty_print=True)
@@ -555,6 +738,7 @@ if __name__ == "__main__":
parser.add_argument("scenario", help="Path to the scenario XML file from users")
parser.add_argument("out", nargs="?", default="out.xml", help="Path where the output is placed")
parser.add_argument("--schema", default=os.path.join(schema_dir, "config.xsd"), help="the XML schema that defines the syntax of scenario XMLs")
+ parser.add_argument("--launch", default=None, help="Path to the launch XML file")
args = parser.parse_args()
logging.basicConfig(level="INFO")
diff --git a/misc/config_tools/schema/VMtypes.xsd b/misc/config_tools/schema/VMtypes.xsd
index 97068b094..93d858ad8 100644
--- a/misc/config_tools/schema/VMtypes.xsd
+++ b/misc/config_tools/schema/VMtypes.xsd
@@ -86,6 +86,11 @@ CLOSID 0 and the second is mapped to virtual CLOSID 1, etc.
+
+
+ Specify the physical memory allocated to this VM in Megabytes.
+
+
The starting physical address in host for the VM.
@@ -224,4 +229,11 @@ CLOSID 0 and the second is mapped to virtual CLOSID 1, etc.
+
+
+
+
+
+
+
diff --git a/misc/config_tools/schema/config.xsd b/misc/config_tools/schema/config.xsd
index bf02aa30b..8b989e522 100644
--- a/misc/config_tools/schema/config.xsd
+++ b/misc/config_tools/schema/config.xsd
@@ -404,6 +404,70 @@ its ``id`` attribute.
Enable virtualization of PCIE Precision Time Measurement (PTM) mechanism for devices with PTM capability and for real-time application. HV provides PCIE root port emulation instead of host bridge emulation for VM , PTM could coordinate timing between device and root port with device’s local timebases without relying on software.
+
+
+ Specify user VM OS type, for config tool to format the DM commandline. If it is windows, then add -windows to DM parameter. It supports Oracle virtio-blk, virtio-net and virtio-input devices for Windows guests with secure boot. For windows guest vm this option is mandatory for running Windows in a User VM. If it is not used, Windows will not recognize the virtual disk. When it is linux like OS , config tool also format the related parameters in the same way.
+
+
+
+
+ Specify if to use virtual boot loader OVMF (Open Virtual Machine Firmware) to boot User VM, right now ovmf is the only virtual boot loader supported. User could also disable this to use another boot protocol with parameter -K set.
+
+
+
+
+ Enable ACRN Device Model to emulate COM1 as a User VM standard IO.
+
+
+
+
+ Device model emulates USB controller used to support USB 3.0 devices, (also supports USB 2.0 and USB 1.0 devices). The physical USB devices attached on the specified bus and port in service VM will be detected by User VM and used as expected as parameters setting.
+
+
+
+ Input format: bus#-port#[:bus#-port#: ...]. e.g.: 1-2:2-4
+
+
+
+
+
+
+
+
+ Enable virt-IO devices in post-launched VMs.
+
+
+
+
+
+ The virtio console device setting.Input format:
+ ``[@]stdio|tty|pty|sock:portname[=portpath][,[@]stdio|tty|pty:portname[=portpath]]``
+
+
+
+
+ The virtio network device setting.
+ Input format: ``device_name[,vhost][,mac=XX:XX:XX:XX:XX:XX]``.
+ The ``device_name`` is the name of the TAP (or MacVTap) device.
+ It must include the keyword ``tap``. ``vhost`` specifies the
+ vhost backend; otherwise, the VBSU backend is used. The ``mac``
+ address is optional.
+
+
+
+
+ The virtio input device setting.
+
+
+
+
+ The virtio block device setting.
+ Format: [blk partition:][img path] e.g.: /dev/sda3:./a/b.img
+
+
+
+
+
diff --git a/misc/config_tools/schema/types.xsd b/misc/config_tools/schema/types.xsd
index fa9284941..0059a9142 100644
--- a/misc/config_tools/schema/types.xsd
+++ b/misc/config_tools/schema/types.xsd
@@ -13,6 +13,13 @@
+
+
+
+
+
+
+
An Integer value in hexadecimal format.
diff --git a/misc/config_tools/xforms/pci_dev.c.xsl b/misc/config_tools/xforms/pci_dev.c.xsl
index 8626dae94..de654b5e1 100644
--- a/misc/config_tools/xforms/pci_dev.c.xsl
+++ b/misc/config_tools/xforms/pci_dev.c.xsl
@@ -47,7 +47,9 @@
-
+
+
+