platform_drv/x86: support ACPI reset

Evaluate fadt xml node in report from acpi_drv. If the io ports in the range
of 0xcf8+4 are necessary for the reset than the platform driver will
react on the 'system' state 'reset' and reboot.

Issue #1962
This commit is contained in:
Alexander Boettcher
2016-05-13 16:09:20 +02:00
committed by Christian Helmuth
parent 38c5abbaad
commit 57f47db823
5 changed files with 167 additions and 16 deletions

View File

@@ -51,6 +51,24 @@ proc platform_drv_policy {} {
}
proc platform_drv_priority {} { return "" }
proc platform_drv_add_routing {} {
if {[have_spec acpi]} {
return {
<service name="ROM" label="system"> <child name="acpi_report_rom"/> </service>}
}
return ""
}
proc platform_drv_config_config {} {
if {[have_spec acpi] || [have_spec arm] || [have_spec hw_x86_64_muen]} {
return {
<config>}
}
return {
<config acpi="no">}
}
proc append_platform_drv_config {} {
global config
@@ -108,6 +126,8 @@ proc append_platform_drv_config {} {
</provides>
<route>}
append config "[platform_drv_add_routing]"
append_if [have_spec acpi] config {
<service name="ROM" label="acpi"> <child name="acpi_report_rom"/> </service>}
@@ -118,18 +138,7 @@ proc append_platform_drv_config {} {
<any-service> <parent/> </any-service>
</route>}
if {[have_spec acpi] || [have_spec arm] || [have_spec hw_x86_64_muen]} {
append config {
<config>}
} else {
append config {
<config acpi="no">}
}
append config [platform_drv_config_config]
append config [platform_drv_policy]
append config {