überXMHF v6.0.0 released

Release Version: 6.0.0
Release Date: 01-Dec-2020

Release Notes:

  • Features
    • uxmhf: add new üapp uhcalltest for testing hypercalls; add corresponding rich guest app for linux
    • uxmhf: add configure option --with-debug-serial-maxcpus to specify platform cores while in debugging mode
    • uxmhf: add support for non linear CPU id mappings setup by some BIOSes
    • uxmhf-rpi3: add support for receive functionality (getc) within uart.h
    • uxmhf-rpi3: add PL011 full UART uart_getc implementation
    • uxmhf-rpi3: add support for PL011 full UART hardware flow control functionality
    • uxmhf-rpi3: add support for mailboxes
    • uxmhf-rpi3: add support for PL011 full UART based debugging
    • uxmhf-rpi3/uapps: add new uberapp (stateDB) to track state entries updates (bounded by a max. value) via in-memory database.
    • uxmhf-rpi3/uapps: add uapp-pvdriver-uart, a para-virtualized guest OS UART driver backend
    • uxmhf-rpi3/uapps: add uapp-uagent, an uberapp that takes an input buffer and returns the encrypt/decrypt of the data based upon an AES secret key.
    • uxmhf-rpi3/uapps: add new uapp (uhsign) for protected HMAC calculation
    • uxmhf-rpi3/uapps: switch to using sha256 within uapp-uhsign
    • uxmhf-rpi3/rgapps/linux - revise libuhcall and uhcallkmod and migrate the va2pa function from user space to kernel driver.
    • uxmhf-rpi3/libs: add sha256 support within libxmhfcrypto
    • uxmhf-rpi3/rgapps/linux/libs: add kernel library libkhcall for performing hypercall from OS kernel mode
  • Documentation
    • revise top-level README with instructions on documentation build
    • add software requirements within a top-level index toctree
    • uxmhf: revise build and installation documentation to clarify grub and debug settings, kernel command line parameters, and modules that need to be blacklisted currently
    • uxmhf: revise instructions to add a new üapp and clarify OS kernel boot configuration details
    • uxmhf: migrate documentation from markdown to restructured text syntax
    • uxmhf-rpi3: add information to turn on UART debugging and select mini/PL011 UART during build
    • uxmhf-rpi3: add information to enable uhsign uberApp during build
    • uxmhf-rpi3: add information about different USB to serial cabling for miniuart and PL011 UART based debugging
    • uxmhf-rpi3: add documentation on how to enable and use uapp-uagent
    • uxmhf-rpi3: revise documentation on how to enable and use uapp-pvdriver-uart
    • uxmhf-rpi3: add stateDB uberapp build documentation
    • uxmhf-rpi3: add documentation to describe libuhcall (user-mode) and libkhcall (kernel-mode) hypercall libraries
    • uxmhf-rpi3: revise instructions to configure existing üapps and add new üapps
    • uxmhf-rpi3: clarify OS kernel boot configuration details
    • uxmhf-rpi3: migrate documentation from markdown to restructured text syntax
    • xmhf: migrate documentation from markdown to restructured text syntax
  • Fixes
    • uxmhf: revise xmhf-bootloader sources to cope with --disable-drt and --disable-dmap configure options
    • uxmhf-rpi3: modify main.c to place uart_testrecv() inside a #ifdef to eliminate build errors if not configured for UART debugging
  • Build
    • add sphinx based documentation build harness
    • uxmhf-rpi3: revise build harness to include --enable-debug-uart, --enable-debug-uart-PL011, and --enable-uapp-uhsign configure options
    • uxmhf-rpi3: autogenerate rpi3 config based on UART selection so we can enable/disable bluetooth UART accordingly
    • uxmhf-rpi3: add docker container for building and installing uberXMHF on Raspberry Pi 3
    • uxmhf-rpi3: rework build configuration options to decouple --enable-debug-uart and --enable-uart-{pl011,mini}
  • Others
    • uxmhf-rpi3: clean up and use debug printf interface throughout
    • uxmhf-rpi3: add function declarations to header files to remove warnings about implicit function declarations.
    • uxmhf-rpi3: clean up some unused variables
    • uxmhf-rpi3: use top-level uart.h to bring in UART backend interfaces (mini or PL011 UART)
    • uxmhf-rpi3: move code whitelisting functionality into common/ (as it is used by uapp-uhsign and uapp-uagent).

See full changelog below:

1 Like