[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v3 1/1] libacpi/Makefile: clear ASL warning about PCI0
iasl complains _HID and _ADR cannot be used at the same time: ``` iasl -vs -p tools/firmware/hvmloader/dsdt_anycpu.tmp -tc tools/firmware/hvmloader/dsdt_anycpu.asl 2>&1 | grep -B1 HID tools/firmware/hvmloader/dsdt_anycpu.asl 40: Device (PCI0) Warning 3073 - Multiple types ^ (Device object requires either a _HID or _ADR, but not both) ``` The usage of both _HID and _ADR has changed [1,2]: >From ACPI 2.0 (Jul. 27, 2000; Section 6.1, page 146): "A device object must contain either an _HID object or an _ADR object, but can contain both." [3] To ACPI 6.0 (April 2015; Section 6.1, page 278), "A device object must contain either an _HID object or an _ADR object, but should not contain both." [4] And from ACPI 6.0 to ACPI 6.5 (Aug. 2022): "A device object must contain either an _HID object or an _ADR object, but must not contain both." [5] Using its ID, the warning is now filtered. ``` $ iasl -vw3073 -vs -p ../firmware/hvmloader/dsdt_anycpu.tmp -tc ../firmware/hvmloader/dsdt_anycpu.asl 2>&1 | grep HID; echo $? 1 ``` iasl has one ID per warning [6]; subsequent commits will address other ASL warnings. ``` $ awk 'NR>533 && NR<556 {print NR ":" $0}' source/compiler/aslmethod.c 534: case PARSEOP_DEVICE: 535: 536: /* Check usage of _HID and _ADR objects */ 537: 538: HidExists = ApFindNameInDeviceTree (METHOD_NAME__HID, Op); 539: AdrExists = ApFindNameInDeviceTree (METHOD_NAME__ADR, Op); 540: 541: if (!HidExists && !AdrExists) 542: { 543: AslError (ASL_ERROR, ASL_MSG_MISSING_DEPENDENCY, Op, 544: "Device object requires a _HID or _ADR"); 545: } 546: else if (HidExists && AdrExists) 547: { 548: /* 549: * According to the ACPI spec, "A device object must contain 550: * either an _HID object or an _ADR object, but should not contain 551: * both". 552: */ 553: AslError (ASL_WARNING, ASL_MSG_MULTIPLE_TYPES, Op, 554: "Device object requires either a _HID or _ADR, but not both"); 555: } $ awk 'NR>188 && NR<206 || NR==432 || /ASL_MSG_MULTIPLE_TYPES/ {print NR ":" $0}' source/compiler/aslmessages.h 189:/* 190: * Values (message IDs) for all compiler messages. There are currently 191: * three distinct blocks of error messages (so that they can be expanded 192: * individually): 193: * Main ASL compiler 194: * Data Table compiler 195: * Preprocessor 196: * 197: * NOTE1: This list must match the tables of message strings in the file 198: * aslmessages.c exactly. 199: * 200: * NOTE2: With the introduction of the -vw option to disable specific 201: * messages, new messages should only be added to the end of these 202: * lists, so that values for existing messages are not disturbed. 203: */ 204:typedef enum 205:{ 280: ASL_MSG_MULTIPLE_TYPES, 432:} ASL_MESSAGE_IDS; $ git remote -v origin git@xxxxxxxxxx:acpica/acpica.git (fetch) origin git@xxxxxxxxxx:acpica/acpica.git (push) $ git log --pretty='%h ("%s")' -n1 7dae72155 ("Logfile: Changes for version 20241212") ``` [1] https://uefi.org/acpi/specs [2] https://uefi.org/specifications [3] https://uefi.org/sites/default/files/resources/ACPI_2.pdf [4] https://uefi.org/sites/default/files/resources/ACPI_6.0.pdf [5] https://uefi.org/specs/ACPI/6.5/06_Device_Configuration.html?highlight=_hid#device-identification-objects [6] https://github.com/acpica/acpica Fixes: 5a8b28bfd4 ("tools/libacpi: cleanup Makefile, don't check for iasl binary") Signed-off-by: Ariel Otilibili <Ariel.Otilibili-Anieli@xxxxxxxxxx> --- Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- tools/libacpi/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile index b21a64c6b4..4668ecb365 100644 --- a/tools/libacpi/Makefile +++ b/tools/libacpi/Makefile @@ -21,6 +21,8 @@ H_SRC += $(addprefix $(ACPI_BUILD_DIR)/, ssdt_tpm.h ssdt_tpm2.h ssdt_laptop_slat MKDSDT_CFLAGS-$(CONFIG_ARM_64) = -DCONFIG_ARM_64 MKDSDT_CFLAGS-$(CONFIG_X86) = -DCONFIG_X86 +IASL_WARNS=3073 + # Suffix for temporary files. # # We will also use this suffix to workaround a bug in older iasl @@ -32,7 +34,7 @@ TMP_SUFFIX = tmp all: $(C_SRC) $(H_SRC) $(H_SRC): $(ACPI_BUILD_DIR)/%.h: %.asl - $(IASL) -vs -p $(ACPI_BUILD_DIR)/$*.$(TMP_SUFFIX) -tc $< + $(IASL) $(IASL_WARNS:%=-vw%) -vs -p $(ACPI_BUILD_DIR)/$*.$(TMP_SUFFIX) -tc $< sed -e 's/AmlCode/$*/g' -e 's/_aml_code//g' $(ACPI_BUILD_DIR)/$*.hex >$@ rm -f $(addprefix $(ACPI_BUILD_DIR)/, $*.aml $*.hex) @@ -65,7 +67,7 @@ $(ACPI_BUILD_DIR)/dsdt_anycpu_arm.asl: $(MK_DSDT) mv -f $@.$(TMP_SUFFIX) $@ $(C_SRC): $(ACPI_BUILD_DIR)/%.c: $(ACPI_BUILD_DIR)/%.asl - $(IASL) -vs -p $(ACPI_BUILD_DIR)/$*.$(TMP_SUFFIX) -tc $< + $(IASL) $(IASL_WARNS:%=-vw%) -vs -p $(ACPI_BUILD_DIR)/$*.$(TMP_SUFFIX) -tc $< sed -e 's/AmlCode/$*/g' -e 's/_aml_code//g' $(ACPI_BUILD_DIR)/$*.hex > $@.$(TMP_SUFFIX) echo "int $*_len=sizeof($*);" >> $@.$(TMP_SUFFIX) mv -f $@.$(TMP_SUFFIX) $@ -- 2.47.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |