qemu-e2k/hw/core
Isaku Yamahata 6be8cf56bc acpi/core: always set SCI_EN when SMM isn't supported
If SMM is not supported, ACPI fixed hardware doesn't support
legacy-mode. ACPI-only platform. Where SCI_EN in PM1_CNT register is
always set.
The bit tells OS legacy mode(SCI_EN cleared) or ACPI mode(SCI_EN set).

With the next patch (setting fadt.smi_cmd = 0 when smm isn't enabled),
guest Linux tries to switch to ACPI mode, finds smi_cmd = 0, and then
fails to initialize acpi subsystem. This patch proactively fixes it.

This patch changes guest ABI. To keep compatibility, use
"smm-compat" introduced by earlier patch. If the property is true,
disable new behavior.

ACPI spec 4.8.10.1 PM1 Event Grouping
PM1 Eanble Registers
> For ACPI-only platforms (where SCI_EN is always set)

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Message-Id: <500f62081626997e46f96377393d3662211763a8.1613615732.git.isaku.yamahata@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2021-02-23 10:58:42 -05:00
..
bus.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
clock-vmstate.c
clock.c clock: Define and use new clock_display_freq() 2021-01-04 23:24:44 +01:00
cpu.c cpu: move debug_check_watchpoint to tcg_ops 2021-02-05 10:24:14 -10:00
fw-path-provider.c
generic-loader.c make ram_size local to vl.c 2020-12-10 12:15:10 -05:00
hotplug.c
irq.c
Kconfig
loader-fit.c
loader.c hw/core/loader.c: Improve reporting of ROM overlap errors 2020-12-15 12:04:30 +00:00
machine-hmp-cmds.c
machine-qmp-cmds.c qapi: More complex uses of QAPI_LIST_APPEND 2021-01-28 08:08:45 +01:00
machine.c acpi/core: always set SCI_EN when SMM isn't supported 2021-02-23 10:58:42 -05:00
meson.build hw/core: Restrict 'fw-path-provider.c' to system mode emulation 2020-12-15 12:52:07 -05:00
nmi.c
null-machine.c
numa.c make ram_size local to vl.c 2020-12-10 12:15:10 -05:00
or-irq.c
platform-bus.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
ptimer.c ptimer: Add new ptimer_set_period_from_clock() function 2021-01-29 15:54:42 +00:00
qdev-clock.c
qdev-fw.c
qdev-prop-internal.h qdev: Make qdev_propinfo_get_uint16() static 2020-12-15 10:02:07 -05:00
qdev-properties-system.c qdev: Rename qdev_get_prop_ptr() to object_field_prop_ptr() 2020-12-18 15:20:18 -05:00
qdev-properties.c qdev: Avoid unnecessary DeviceState* variable at set_prop_arraylen() 2020-12-18 15:20:18 -05:00
qdev.c machine: introduce MachineInitPhase 2020-12-15 12:51:52 -05:00
register.c hw/core/register.c: Don't use '#' flag of printf format 2020-12-17 21:56:43 -08:00
reset.c
resettable.c
split-irq.c
stream.c hw/core/stream: Rename StreamSlave as StreamSink 2020-12-10 12:15:04 -05:00
sysbus.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
trace-events
trace.h
uboot_image.h
vm-change-state-handler.c
vmstate-if.c