Hi all,

I am trying to patch the ACPI tables on my Dell XPS 15 9570 running FreeBSD 13.0-CURRENT @ git commit 68c8581f772. 'acpidump -d -t' gives error AE_ALREADY_EXISTS when trying to add symbol \_SB.PCI0.XHC.RHUB.HS01._UPC.?? Google says this is because my BIOS' set of ACPI tables contains two duplicate tables, and it fails to add symbols from the 2nd table because they already exist from the 1st.

Q: By "duplicate table", does this mean the entire body of the table (excluding its header) is duplicated?

What's the standard practice for handling this error? I assume I have to:

1. Identify the two duplicate tables
2. Tell 'iasl -d' (which is what 'acpidump' calls to do the
   disassembly) to exclude one of the two tables

I have no idea how to do either of these two tasks with the set of acpica tools I have (iasl version 20190108)...anyone have any pointers?

Is there a way to extract (using acpica tools) the body of a single named ACPI table?

I have some ideas for patches to acpica to help with this increasingly common issue:

 * Patch iasl(1) to emit more information about the origins of the
   symbols it parses, such that an AE_ALREADY_EXISTS error would also
   emit the origin (table name) of the existing symbol and that of the
   current table it's trying to add.
 * Patch iasl(1) to add a user option (flag) to ignore tables with
   duplicate symbols, possibly adding a parameter indicating number of
   duplicates or percentage of duplication before dropping that table.

Would any/all of these patches be useful/considered for acceptance into acpica?

Thanks in advance,
Anthony Jenkins

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "[email protected]"

Reply via email to