I ran into an ARM server that describes its system interface only via
the SPMI ACPI table and not via SMBIOS. freeipmi has SPMI support, but
its implementation accesses ACPI tables using /dev/mem, which isn't
safe to do on ARM. In fact, this code is #ifdef'd out for ARM platforms.

This series teaches freeipmi how to parse ACPI tables out of sysfs,
keeping the fallback /dev/mem implementation as a fallback. It also
fixes a couple of apparent bugs in the SPMI parsing itself.

Tested on a HiSilicon D06 ARM Server, and 4 x86 servers:
HP ProLiant DL165 G7
HP ProLiant DL385 G7
QuantaGrid D52B
Supermicro Super Server

I've actually not been able to get the existing /dev/mem code to work
on any platform I've tried myself, so I was unable to regression test
it.

v2:
  * Rebased on current master.
  * Update Changelog.
  * Support systems with multiple SPMI instances.

dann frazier (5):
  Don't try to separate the header from the ACPI table data
  Split RSDT/XSDT parsing into new function
  Add support for parsing SPMI tables exposed via sysfs
  Allow sysfs SPMI parsing on ARM platforms
  Correct order of bytes in specification_revision field of ACPI SPMI
    table

 ChangeLog                                  |  15 ++
 libfreeipmi/locate/ipmi-locate-acpi-spmi.c | 259 ++++++++++++++++-----
 2 files changed, 218 insertions(+), 56 deletions(-)

-- 
2.18.0


_______________________________________________
Freeipmi-devel mailing list
Freeipmi-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/freeipmi-devel

Reply via email to