release_notes: Update for 6.16 There have been a large number of changes since we last updated these. Hopefully this covers everything! Signed-off-by: David Gow <davidgow@google.com> Change-Id: Ica6416dd79cf40d81817ceed6dcc3b4bfcebcf02
diff --git a/release_notes.rst b/release_notes.rst index 3d81d4a..a5444dd 100644 --- a/release_notes.rst +++ b/release_notes.rst
@@ -499,3 +499,124 @@ - You may also need ``--kconfig_add CONFIG_FORTIFY_SOURCE=n``, as this is not supported, and may be enabled by default. +.. _v6.11: + +6.11 +==== + +- KUnit can now manage per-test memory mappings. + + - The ``kunit_vm_mmap()`` function will map memory into the test's context. + + - See https://docs.kernel.org/dev-tools/kunit/api/test.html#c.kunit_vm_mmap + +- New assertion macros ``KUNIT_ASSERT_MEMEQ()`` and ``KUNIT_ASSERT_MEMNEQ()`` + + - These match the existing ``KUNIT_EXPECT_MEMEQ()`` and ``KUNIT_EXPECT_MEMNEQ()`` macros. + +- ``KUNIT_ASSERT_FAILURE()`` has been renamed to ``KUNIT_FAIL_AND_ABORT()`` + +- The name passed to ``kunit_driver_create()`` is now managed by KUnit. + + - If it goes out-of-scope, there will no longer be a crash, as KUnit keeps a copy behind the scenes. + +- New managed ``kunit_strdup()`` function to duplicate a string to KUnit-managed memory. + +- New ``kunit_kstrdup_const()`` and ``kunit_free_const()``, which will allocate (and free) memory only if the source string is not in kernel rodata. + + - This is useful when handling strings which may be constant, or may be temporary. + + +.. _v6.12: + +6.12 +==== + +- There are new best-practices for naming KUnit tests and test files: + + - In short, test modules should have the ``_kunit`` suffix, and their code should live in a ``tests/`` subdirectory. + + - See https://docs.kernel.org/dev-tools/kunit/style.html + +- KUnit can now manage platform devices + + - See https://docs.kernel.org/dev-tools/kunit/api/platformdevice.html + +- KUnit can now load DeviceTree overlays for tests. + + - See https://docs.kernel.org/dev-tools/kunit/api/of.html + +- There is now special support for testing clk devices: + + - See https://docs.kernel.org/dev-tools/kunit/api/clk.html + +- ``kunit.py`` now generates ``compile_commands.json`` by default, for use with ``clangd``-based language servers. + + - The generated file is in the build output directory, (``.kunit`` by default), so you'll need to pass ``-compile-commands-dir=.kunit`` to ``clangd``. + +.. _v6.13: + +6.13 +==== + +- It is now possible to only show the summary of KUnit results, rather than the full list of tests. + + - Pass the ``--summary`` option to ``kunit.py run`` or ``kunit.py exec``. + + - (This option is mutually exclusive with ``--raw_output``) + +- It is now possible to only show results for failed tests. + + - Pass the ``--failed`` option to ``kunit.py run`` or ``kunit.py exec``. + + - (This option is mutually exclusive with ``--raw_output``) + +- ``kunit.py`` now supports the loongarch architecture under QEMU + + - Use ``--arch loongarch``, and set ``--cross_compile`` if cross-compiling. + +.. _v6.14: + +6.14 +==== + +- The automatic running of tests on boot or module load can now be disabled via the ``kunit.autorun`` option. + + - This is a kernel command-line option, which can be passed via the bootloader (if KUnit is built-in), or modprobe (if it's a module). + + - ``CONFIG_KUNIT_AUTORUN_ENABLED`` can be used to set the default behaviour. + +- ``kunit.py`` will now use hardware-accelerated virtualisation on arm64, if available. + + - Both KVM and HVF are supported. This can reduce the time taken to run tests in QEMU by up to 90%. + +- ``kunit.py`` is now more compatible with macOS hosts. (Though this is not really supported, so good luck!) + +.. _v6.15: + +6.15 +==== + +- ``kunit.py`` now uses qboot when running on x86_64 QEMU configurations to improve boot times. + +- ``kunit.py`` now generates gdb scripts by default, to help with kernel debugging. + +- ``kunit.py`` now uses the Zilog console in QEMU on the SPARC architecture. + +.. _v6.16: + +6.16 +==== + +- Rust tests can now be built and run as KUnit tests. + + - Decorate individual tests with ``#[test]``, and the module with ``#[kunit_tests(suite_name)]``. + + - See https://docs.kernel.org/rust/testing.html#the-test-tests + +- It is now possible to list the supported architectures in ``kunit.py`` by passing ``--arch help``. + +- Several new architecture configurations are supported in ``kunit.py`` + + - RISC-V 32-bit, SPARC 64-bit, PowerPC 32-bit Big-Endian and 64-bit Little-Endian +