[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/4] acpi: set fadt.smi_cmd to zero when SMM is not supported
From: |
isaku . yamahata |
Subject: |
[PATCH 2/4] acpi: set fadt.smi_cmd to zero when SMM is not supported |
Date: |
Thu, 4 Feb 2021 00:04:09 -0800 |
From: Isaku Yamahata <isaku.yamahata@intel.com>
>From table 5.9 SMI_CMD of ACPI spec
> This field is reserved and must be zero on system
> that does not support System Management mode.
So when smm is not enabled, set it to zero to comform to the spec.
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
---
hw/i386/acpi-build.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index f56d699c7f..005bcc2886 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -139,6 +139,8 @@ const struct AcpiGenericAddress x86_nvdimm_acpi_dsmio = {
static void init_common_fadt_data(MachineState *ms, Object *o,
AcpiFadtData *data)
{
+ X86MachineState *x86ms = X86_MACHINE(ms);
+ bool smm_enabled = x86_machine_is_smm_enabled(x86ms);
uint32_t io = object_property_get_uint(o, ACPI_PM_PROP_PM_IO_BASE, NULL);
AmlAddressSpace as = AML_AS_SYSTEM_IO;
AcpiFadtData fadt = {
@@ -159,12 +161,12 @@ static void init_common_fadt_data(MachineState *ms,
Object *o,
.rtc_century = RTC_CENTURY,
.plvl2_lat = 0xfff /* C2 state not supported */,
.plvl3_lat = 0xfff /* C3 state not supported */,
- .smi_cmd = ACPI_PORT_SMI_CMD,
+ .smi_cmd = smm_enabled ? ACPI_PORT_SMI_CMD : 0,
.sci_int = object_property_get_uint(o, ACPI_PM_PROP_SCI_INT, NULL),
.acpi_enable_cmd =
- object_property_get_uint(o, ACPI_PM_PROP_ACPI_ENABLE_CMD, NULL),
+ smm_enabled ? object_property_get_uint(o,
ACPI_PM_PROP_ACPI_ENABLE_CMD, NULL) : 0,
.acpi_disable_cmd =
- object_property_get_uint(o, ACPI_PM_PROP_ACPI_DISABLE_CMD, NULL),
+ smm_enabled ? object_property_get_uint(o,
ACPI_PM_PROP_ACPI_DISABLE_CMD, NULL) : 0,
.pm1a_evt = { .space_id = as, .bit_width = 4 * 8, .address = io },
.pm1a_cnt = { .space_id = as, .bit_width = 2 * 8,
.address = io + 0x04 },
--
2.17.1
- [PATCH 0/4] ACPI related fixes, isaku . yamahata, 2021/02/04
- [PATCH 1/4] acpi/core: always set SCI_EN when SMM isn't supported, isaku . yamahata, 2021/02/04
- [PATCH 2/4] acpi: set fadt.smi_cmd to zero when SMM is not supported,
isaku . yamahata <=
- [PATCH 3/4] hw/i386: declare ACPI mother board resource for MMCONFIG region, isaku . yamahata, 2021/02/04
- [PATCH 4/4] i386: acpi: Don't build HPET ACPI entry if HPET is disabled, isaku . yamahata, 2021/02/04
- Re: [PATCH 0/4] ACPI related fixes, no-reply, 2021/02/04
- Re: [PATCH 0/4] ACPI related fixes, Michael S. Tsirkin, 2021/02/05