bits-438 released with these changes:

The BITS Python implementation now supports floating-point. BITS now incorporates fdlibm, the "Freely Distributable libm".

After running the processor power-management reference code, BITS will now re-initialize ACPICA to make it aware of the new tables.

The Python-based code for ACPI exploration (available via the explore menu) now includes many improvements to the ACPI decoding and display:

  • Provide an exploratory menu to allow changing the requested ACPI PPM features, to emulate different OSes. The underlying functions now support setting the PPM capability flags via PDC or OSC.
  • Improve MADT parsing, and add support for x2APIC. Support and display mappings between CPU paths, procid/UID, and APICID/x2APICID.
  • Support CPU detection in Python and provide CPU-specific modules. Decode CPU-specific MWAIT hints.
  • Handle more quirks in ACPI decoding, such as methods which return 0 rather than an expected package, or methods which return NULL.
  • Handle CPUID leaf 0xB not existing.
  • Print a warning message for an empty _PSS.
  • Miscellaneous formatting and display improvements.

Improvements to the built-in "bits" Python module:

  • Add support for cpuid, wrmsr, PCI, and PCIe
  • Support retrieving the BSP APIC ID
  • Improve exception handling, and use exceptions for more types of unexpected errors
  • Add an acpi_objpaths function to find arbitrary ACPI objects

Add license header to Python modules

rcm: Add and handle a new error code for new versions of the PPM reference code.

NEWS.txt: Formatting fixes in bits-400 Python examples