bits-849 released with these changes:

  • Add a top-level menu item to invoke the Python interactive interpreter

    This avoids the need to hit 'c' for a GRUB command line only to type "python".

  • Prototype API for hierarchical CPU register decoding.

    This allows syntax like:

      platform.cpus[0].cpuids[0].max_leaf
      platform.cpus[0].cpuids[1].aes
      platform.cpus[0].msrs.IA32_APIC_BASE.x2apic_enable
    

    Infrastructure implemented by Burt Triplett and Josh Triplett. CPUID register decoding implemented by Cathy Ji.

  • readline: Implement Ctrl-O, to run a line and load the next line from history

    This makes it easy to re-run multi-line commands, with or without edits.

    Note that since the Python interactive interpreter requires a blank line after a multi-line block, the history will remember blank lines (though not multiple consecutive blank lines).

  • Add a new generated menu of all ACPI table decoding options

    This new menu offers options to dump every table on the system (including multiple instances), and decode any that BITS knows how to decode.

    Refactor the ACPI menus to split out table decoding, method decoding, OS reporting, and the dump-everything option.

  • Documentation updates:

    • Create a new Documentation directory in the source for more detailed documentation. Ship that directory as /boot/Documentation on BITS images, as well.
    • README: Mention Documentation directory.
    • Add documentation on Python line-editing keybindings.
    • Add a top-level menu item to browse documentation. Shows all files in the new Documentation directory, with their filenames and the title from their first line.
    • Split microcode documentation into a new Documentation/microcode.txt
    • Split reference-code documentation into a new Documentation/reference-code.txt
    • README: Move detailed dependency version info to README.Developers.txt. Just leave a simple list of dependencies and links in the credits of README.