diff --git a/misc/acrn-config/acpi_gen/asl_gen.py b/misc/acrn-config/acpi_gen/asl_gen.py
index ff76d76f3..f7f246229 100644
--- a/misc/acrn-config/acpi_gen/asl_gen.py
+++ b/misc/acrn-config/acpi_gen/asl_gen.py
@@ -445,7 +445,14 @@ def main(args):
except:
PASSTHROUGH_PTCT = False
+ kern_args = common.get_leaf_tag_map(scenario, "os_config", "bootargs")
for vm_id, passthru_devices in dict_passthru_devices.items():
+ if kern_args[int(vm_id)].find('reboot=acpi') == -1:
+ emsg = "you need to specify 'reboot=acpi' in scenario file's bootargs for VM{}".format(vm_id)
+ print(emsg)
+ err_dic['vm,bootargs'] = emsg
+ break
+
print('start to generate ACPI ASL code for VM{}'.format(vm_id))
dest_vm_acpi_path = os.path.join(DEST_ACPI_PATH, 'VM'+vm_id)
if not os.path.isdir(dest_vm_acpi_path):
diff --git a/misc/acrn-config/scenario_config/scenario_cfg_gen.py b/misc/acrn-config/scenario_config/scenario_cfg_gen.py
index 8c7e50c24..35672a160 100755
--- a/misc/acrn-config/scenario_config/scenario_cfg_gen.py
+++ b/misc/acrn-config/scenario_config/scenario_cfg_gen.py
@@ -214,7 +214,8 @@ def main(args):
# generate ASL code of ACPI tables for Pre-launched VMs
- asl_gen.main(args)
+ if not err_dic:
+ err_dic = asl_gen.main(args)
if not err_dic:
print("Scenario configuration files were created successfully.")
diff --git a/misc/vm_configs/xmls/config-xmls/apl-mrb/hybrid.xml b/misc/vm_configs/xmls/config-xmls/apl-mrb/hybrid.xml
index 6c1d0606a..cffad6acd 100644
--- a/misc/vm_configs/xmls/config-xmls/apl-mrb/hybrid.xml
+++ b/misc/vm_configs/xmls/config-xmls/apl-mrb/hybrid.xml
@@ -86,7 +86,7 @@
KERNEL_ZEPHYR
Zephyr_RawImage
-
+ reboot=acpi
0x8000
0x8000
diff --git a/misc/vm_configs/xmls/config-xmls/apl-mrb/logical_partition.xml b/misc/vm_configs/xmls/config-xmls/apl-mrb/logical_partition.xml
index ec0921b91..c7387b303 100644
--- a/misc/vm_configs/xmls/config-xmls/apl-mrb/logical_partition.xml
+++ b/misc/vm_configs/xmls/config-xmls/apl-mrb/logical_partition.xml
@@ -89,7 +89,8 @@
Linux_bzImage
- rw root=/dev/mmcblk1p1 rootwait console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ rw root=/dev/mmcblk1p1 rootwait console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
+ consoleblank=0 tsc=reliable reboot=acpi
@@ -151,7 +152,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
- consoleblank=0 tsc=reliable
+ consoleblank=0 tsc=reliable reboot=acpi
diff --git a/misc/vm_configs/xmls/config-xmls/apl-up2-n3350/logical_partition.xml b/misc/vm_configs/xmls/config-xmls/apl-up2-n3350/logical_partition.xml
index 2e534dd0e..9d888dd44 100644
--- a/misc/vm_configs/xmls/config-xmls/apl-up2-n3350/logical_partition.xml
+++ b/misc/vm_configs/xmls/config-xmls/apl-up2-n3350/logical_partition.xml
@@ -89,6 +89,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ reboot=acpi
@@ -148,7 +149,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
- consoleblank=0 tsc=reliable
+ consoleblank=0 tsc=reliable reboot=acpi
diff --git a/misc/vm_configs/xmls/config-xmls/apl-up2/hybrid.xml b/misc/vm_configs/xmls/config-xmls/apl-up2/hybrid.xml
index 2e9ae494a..84d6abdaa 100644
--- a/misc/vm_configs/xmls/config-xmls/apl-up2/hybrid.xml
+++ b/misc/vm_configs/xmls/config-xmls/apl-up2/hybrid.xml
@@ -86,7 +86,7 @@
KERNEL_ZEPHYR
Zephyr_RawImage
-
+ reboot=acpi
0x8000
0x8000
diff --git a/misc/vm_configs/xmls/config-xmls/apl-up2/logical_partition.xml b/misc/vm_configs/xmls/config-xmls/apl-up2/logical_partition.xml
index 2d4e277c4..35711f3ec 100644
--- a/misc/vm_configs/xmls/config-xmls/apl-up2/logical_partition.xml
+++ b/misc/vm_configs/xmls/config-xmls/apl-up2/logical_partition.xml
@@ -91,6 +91,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ reboot=acpi
@@ -152,7 +153,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
- consoleblank=0 tsc=reliable
+ consoleblank=0 tsc=reliable reboot=acpi
diff --git a/misc/vm_configs/xmls/config-xmls/cfl-k700-i7/hybrid_rt.xml b/misc/vm_configs/xmls/config-xmls/cfl-k700-i7/hybrid_rt.xml
index e634cb131..f2b9b67ab 100644
--- a/misc/vm_configs/xmls/config-xmls/cfl-k700-i7/hybrid_rt.xml
+++ b/misc/vm_configs/xmls/config-xmls/cfl-k700-i7/hybrid_rt.xml
@@ -86,7 +86,7 @@
KERNEL_BZIMAGE
RT_bzImage
- rw rootwait root=/dev/nvme0n1p3 earlyprintk=serial,ttyS0,115200 console=ttyS0,115200n8 log_buf_len=2M ignore_loglevel noxsave nohpet no_timer_check tsc=reliable
+ rw rootwait root=/dev/nvme0n1p3 earlyprintk=serial,ttyS0,115200 console=ttyS0,115200n8 log_buf_len=2M ignore_loglevel noxsave nohpet no_timer_check tsc=reliable reboot=acpi
VUART_LEGACY_PIO
diff --git a/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid.xml b/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid.xml
index dbb9fa63e..cde466da7 100644
--- a/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid.xml
+++ b/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid.xml
@@ -99,7 +99,7 @@
KERNEL_ZEPHYR
Zephyr_RawImage
-
+ reboot=acpi
0x8000
0x8000
diff --git a/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid_rt.xml b/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid_rt.xml
index 875568032..db61218ba 100644
--- a/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid_rt.xml
+++ b/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid_rt.xml
@@ -97,7 +97,7 @@
KERNEL_BZIMAGE
RT_bzImage
- rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel consoleblank=0 tsc=reliable
+ rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel consoleblank=0 tsc=reliable reboot=acpi
VUART_LEGACY_PIO
diff --git a/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid_rt_fusa.xml b/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid_rt_fusa.xml
index 4d245248c..c3417d06f 100644
--- a/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid_rt_fusa.xml
+++ b/misc/vm_configs/xmls/config-xmls/ehl-crb-b/hybrid_rt_fusa.xml
@@ -96,7 +96,7 @@
KERNEL_BZIMAGE
RT_bzImage
- rw rootwait root=/dev/sda2 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel consoleblank=0 tsc=reliable
+ rw rootwait root=/dev/sda2 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel consoleblank=0 tsc=reliable reboot=acpi
VUART_LEGACY_PIO
diff --git a/misc/vm_configs/xmls/config-xmls/ehl-crb-b/logical_partition.xml b/misc/vm_configs/xmls/config-xmls/ehl-crb-b/logical_partition.xml
index 534bd945a..7ff17499d 100644
--- a/misc/vm_configs/xmls/config-xmls/ehl-crb-b/logical_partition.xml
+++ b/misc/vm_configs/xmls/config-xmls/ehl-crb-b/logical_partition.xml
@@ -98,7 +98,7 @@
Linux_bzImage
- rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi
@@ -160,7 +160,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
- consoleblank=0 tsc=reliable
+ consoleblank=0 tsc=reliable reboot=acpi
diff --git a/misc/vm_configs/xmls/config-xmls/nuc6cayh/hybrid.xml b/misc/vm_configs/xmls/config-xmls/nuc6cayh/hybrid.xml
index f90e157ec..cd9c4656f 100644
--- a/misc/vm_configs/xmls/config-xmls/nuc6cayh/hybrid.xml
+++ b/misc/vm_configs/xmls/config-xmls/nuc6cayh/hybrid.xml
@@ -86,7 +86,7 @@
KERNEL_ZEPHYR
Zephyr_RawImage
-
+ reboot=acpi
0x8000
0x8000
diff --git a/misc/vm_configs/xmls/config-xmls/nuc6cayh/logical_partition.xml b/misc/vm_configs/xmls/config-xmls/nuc6cayh/logical_partition.xml
index d8fb4c0fb..2de2ae5c9 100644
--- a/misc/vm_configs/xmls/config-xmls/nuc6cayh/logical_partition.xml
+++ b/misc/vm_configs/xmls/config-xmls/nuc6cayh/logical_partition.xml
@@ -90,7 +90,7 @@
Linux_bzImage
- rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi
@@ -152,7 +152,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
- consoleblank=0 tsc=reliable
+ consoleblank=0 tsc=reliable reboot=acpi
diff --git a/misc/vm_configs/xmls/config-xmls/nuc7i7dnb/hybrid.xml b/misc/vm_configs/xmls/config-xmls/nuc7i7dnb/hybrid.xml
index 990e7693a..ce6d13064 100644
--- a/misc/vm_configs/xmls/config-xmls/nuc7i7dnb/hybrid.xml
+++ b/misc/vm_configs/xmls/config-xmls/nuc7i7dnb/hybrid.xml
@@ -82,7 +82,7 @@
KERNEL_ZEPHYR
Zephyr_RawImage
-
+ reboot=acpi
0x8000
0x8000
diff --git a/misc/vm_configs/xmls/config-xmls/nuc7i7dnb/logical_partition.xml b/misc/vm_configs/xmls/config-xmls/nuc7i7dnb/logical_partition.xml
index ddb840ba4..fc97e9b2e 100644
--- a/misc/vm_configs/xmls/config-xmls/nuc7i7dnb/logical_partition.xml
+++ b/misc/vm_configs/xmls/config-xmls/nuc7i7dnb/logical_partition.xml
@@ -87,6 +87,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ reboot=acpi
@@ -149,7 +150,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
- consoleblank=0 tsc=reliable
+ consoleblank=0 tsc=reliable reboot=acpi
diff --git a/misc/vm_configs/xmls/config-xmls/tgl-rvp/hybrid.xml b/misc/vm_configs/xmls/config-xmls/tgl-rvp/hybrid.xml
index a415b3e56..c354b0e54 100644
--- a/misc/vm_configs/xmls/config-xmls/tgl-rvp/hybrid.xml
+++ b/misc/vm_configs/xmls/config-xmls/tgl-rvp/hybrid.xml
@@ -82,7 +82,7 @@
KERNEL_ZEPHYR
Zephyr_RawImage
-
+ reboot=acpi
0x8000
0x8000
diff --git a/misc/vm_configs/xmls/config-xmls/tgl-rvp/hybrid_rt.xml b/misc/vm_configs/xmls/config-xmls/tgl-rvp/hybrid_rt.xml
index 08d3ba598..1bc1b2a6f 100644
--- a/misc/vm_configs/xmls/config-xmls/tgl-rvp/hybrid_rt.xml
+++ b/misc/vm_configs/xmls/config-xmls/tgl-rvp/hybrid_rt.xml
@@ -87,7 +87,8 @@
KERNEL_BZIMAGE
RT_bzImage
- rw rootwait root=/dev/sda3 earlyprintk=serial,ttyS0,115200 console=ttyS0,115200n8 log_buf_len=2M ignore_loglevel noxsave nohpet no_timer_check tsc=reliable
+ rw rootwait root=/dev/sda3 earlyprintk=serial,ttyS0,115200 console=ttyS0,115200n8 log_buf_len=2M
+ ignore_loglevel noxsave nohpet no_timer_check tsc=reliable reboot=acpi
VUART_LEGACY_PIO
diff --git a/misc/vm_configs/xmls/config-xmls/tgl-rvp/logical_partition.xml b/misc/vm_configs/xmls/config-xmls/tgl-rvp/logical_partition.xml
index a372593cd..f26820637 100644
--- a/misc/vm_configs/xmls/config-xmls/tgl-rvp/logical_partition.xml
+++ b/misc/vm_configs/xmls/config-xmls/tgl-rvp/logical_partition.xml
@@ -86,7 +86,7 @@
Linux_bzImage
- rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi
@@ -148,7 +148,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
- consoleblank=0 tsc=reliable
+ consoleblank=0 tsc=reliable reboot=acpi
diff --git a/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/hybrid.xml b/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/hybrid.xml
index 916b6d228..abda08423 100644
--- a/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/hybrid.xml
+++ b/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/hybrid.xml
@@ -82,7 +82,7 @@
KERNEL_ZEPHYR
Zephyr_RawImage
-
+ reboot=acpi
0x8000
0x8000
diff --git a/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/hybrid_rt.xml b/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/hybrid_rt.xml
index 53645f072..1369fd149 100644
--- a/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/hybrid_rt.xml
+++ b/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/hybrid_rt.xml
@@ -84,7 +84,7 @@
KERNEL_BZIMAGE
RT_bzImage
- rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel consoleblank=0 tsc=reliable
+ rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel consoleblank=0 tsc=reliable reboot=acpi
VUART_LEGACY_PIO
diff --git a/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/logical_partition.xml b/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/logical_partition.xml
index ab6ed0d12..acad56cda 100644
--- a/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/logical_partition.xml
+++ b/misc/vm_configs/xmls/config-xmls/whl-ipc-i5/logical_partition.xml
@@ -87,6 +87,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ reboot=acpi
@@ -148,7 +149,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
- consoleblank=0 tsc=reliable
+ consoleblank=0 tsc=reliable reboot=acpi
diff --git a/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/hybrid.xml b/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/hybrid.xml
index 7bfca3cad..c2677226e 100644
--- a/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/hybrid.xml
+++ b/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/hybrid.xml
@@ -82,7 +82,7 @@
KERNEL_ZEPHYR
Zephyr_RawImage
-
+ reboot=acpi
0x8000
0x8000
diff --git a/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/hybrid_rt.xml b/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/hybrid_rt.xml
index 9374c73a2..87bf10b2d 100644
--- a/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/hybrid_rt.xml
+++ b/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/hybrid_rt.xml
@@ -84,7 +84,9 @@
KERNEL_BZIMAGE
RT_bzImage
- rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel consoleblank=0 tsc=reliable
+ rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel consoleblank=0 tsc=reliable
+ reboot=acpi
+
VUART_LEGACY_PIO
diff --git a/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/logical_partition.xml b/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/logical_partition.xml
index 538494b4d..ff9b9da87 100644
--- a/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/logical_partition.xml
+++ b/misc/vm_configs/xmls/config-xmls/whl-ipc-i7/logical_partition.xml
@@ -86,7 +86,7 @@
Linux_bzImage
- rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable
+ rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi
@@ -148,7 +148,7 @@
rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M
- consoleblank=0 tsc=reliable
+ consoleblank=0 tsc=reliable reboot=acpi