Release 12.1.0
Update VERSION Update CHANGES Signed-off-by: Damon Lee <Damon.Lee@data61.csiro.au>
This commit is contained in:
parent
7b0602c5f7
commit
21c1a2ca7a
2 changed files with 127 additions and 8 deletions
133
CHANGES
133
CHANGES
|
|
@ -22,21 +22,140 @@ description indicates whether it is SOURCE-COMPATIBLE, BINARY-COMPATIBLE, or BRE
|
|||
Further information about [seL4 releases](https://docs.sel4.systems/sel4_release/) is available.
|
||||
|
||||
---
|
||||
Upcoming release: BREAKING
|
||||
Upcoming release: BINARY COMPATIBLE
|
||||
|
||||
## Changes
|
||||
|
||||
* Scheduling contexts can be configured as constant-bandwidth or sporadic server
|
||||
- Constant bandwidth observes a continuous constant bandwidth of budget/period
|
||||
|
||||
## Upgrade Notes
|
||||
---
|
||||
12.1.0 2021-06-10: SOURCE COMPATIBLE
|
||||
|
||||
## Changes
|
||||
|
||||
* Moved kernel configuration header to libsel4.
|
||||
* Improved benchmarking:
|
||||
- Made the kernel log buffer to be derived from cmake config.
|
||||
- Added x86_64 kernel log buffer.
|
||||
- Implemented RISC-V benchmark timestamping.
|
||||
- Implemented benchmark log buffer for RISC-V.
|
||||
* Moved cap functions out of inline to make changing cap bitfields less noisy.
|
||||
* Removed weak definition of the __sel4_ipc_buffer variable which was causing large thread local storages to be
|
||||
required.
|
||||
* Prepared the bitfield generator for Isabelle 2021.
|
||||
* Made a number of improvements to the CMake build scripts.
|
||||
* Added pre-processor 'include guards' for auto-generated files.
|
||||
* Added missing CONFIG_PLAT_IMX7 pre-processor '#define's.
|
||||
* Added `#pragma once` to the autoconf headers.
|
||||
* Removed `HAVE_AUTOCONF` guards in `sel4/config.h`.
|
||||
* Improved the manual:
|
||||
- Corrected descriptions of CNode addressing.
|
||||
- Documented initial thread's SMMU caps.
|
||||
* Improved libsel4:
|
||||
- Removed redundant `HAVE_AUTOCONF` header guards in libsel4.
|
||||
- Added missing `macros.h` #include in libsel4.
|
||||
- Cleaned-up `macros.h` in libsel4.
|
||||
- Added checks to use `_Static_assert()` in libsel4 if it is available.
|
||||
- Unified definitions in `simple_types.h` in libsel4.
|
||||
- Added `printf` format specifier `PRI_sel4_word` for printing word types.
|
||||
- Unified seL4 type definitions.
|
||||
* Added specific `printf` formatting for seL4_Word.
|
||||
* Changed some variables to use `BOOT_BSS` instead of `BOOT_DATA` to save space in the ELF file.
|
||||
* Replaced the `capDL()` function with a generic `debug_capDL` function that is intended to be implemented by all
|
||||
architectures.
|
||||
* Reduced `printf`s stack usage.
|
||||
* Fixed `ksnprintf()` corner case handling.
|
||||
* Fixed NULL `printf` output wrapper handling.
|
||||
* Cleaned up the printing API implementation.
|
||||
* Changed code to pass buffer to `printf` output channel.
|
||||
* Refactored the kernel console handling.
|
||||
* Added support for `PRIu64` and `SEL4_PRIu_word` in the kernel.
|
||||
* Changed various `printf` conversion specifiers to use `SEL4_PRIx_word` specifiers.
|
||||
|
||||
### MCS
|
||||
|
||||
* Fixed a physical counter access issue on MCS on EL2.
|
||||
* Added MCS support for the ZynqMP.
|
||||
* Changed invokeSchedControl_Configure to always produce a scheduling context that is active and has configured
|
||||
refills.
|
||||
* Prevented the binding of scheduling contexts to blocked TCBs.
|
||||
* Fixed conversions of ticks to microseconds on aarch64.
|
||||
* Added an additional sporadic flag to `seL4_SchedControl_Configure` which allows the option to create a sporadic
|
||||
scheduling context.
|
||||
* Added explicit checks to not unblock the current scheduling context.
|
||||
* Fixed MCS and aarch64 VCPU interrupt interaction.
|
||||
* Renamed MCS kernel configuration option `KernelStaticMaxBudgetUs` to `KernelStaticMaxPeriodUs`.
|
||||
* Added check to make sure that the current thread will not yield to multiple threads.
|
||||
* Added check to account for an inactive scheduling context at preemption.
|
||||
* Deferred charging time budget in a preempted invocation.
|
||||
* Added code to update `ksDomainTime` in `updateTimestamp`.
|
||||
* Added call to `updateTimestamp` in a preemption point.
|
||||
* Added code to clear ksConsume when charging time to a revoked scheduling context.
|
||||
* Added code to cancel IPC when finalising reply caps.
|
||||
* Fixed a dereference of a scheduling context after it's removed from the associated TCB.
|
||||
* Added MCS to the preprocess check.
|
||||
|
||||
### x86
|
||||
|
||||
* Removed a redundant de-reference for `seL4_X86DangerousRDMSR` in ia32.
|
||||
* Added a config option to set the frequency of the TSC.
|
||||
* Optimized the boot image size for x86_64.
|
||||
* Removed the PT_PHDR segment from the linker script to work around an issue in a variant of syslinux that treats a
|
||||
PT_PHDR segment as distinct from a PT_LOAD segment.
|
||||
|
||||
### Arm
|
||||
|
||||
* FPU ownership is now also given away on thread deletion instead of only on FPU exception.
|
||||
* Added basic build support for A35 core.
|
||||
* Fixed read/write of the VCPU CPACR register.
|
||||
* Fixed invalidation of the VIPI I-cache in hypervisor mode.
|
||||
* Removed duplicate interrupts for the zynqmp in its DTS.
|
||||
* Updated device definitions for the exynos5.
|
||||
* Added Raspberry Pi 4 support.
|
||||
* Updated Ethernet interrupts in the ZynqMP.
|
||||
* Added i.MX6 Nitrogen6_SoloX support.
|
||||
* Fixed CMake configurations for the ZynqMP and the Ultra96.
|
||||
* Fixed the platform `#define` for the i.MX6 Nitrogen6_SoloX.
|
||||
* Fixed I-cache invalidation on aarch64 SMP.
|
||||
* Fixed the usage of KernelPaddrUserTop on Arm platforms.
|
||||
* Added support for the i.MX low-power UART.
|
||||
* Added an option to ignore SErrors which is enabled on default for the TX2.
|
||||
|
||||
### RISC-V
|
||||
|
||||
* Added PLIC driver and updated the DTS for the Ariane.
|
||||
* Merged the PLIC drivers for the Ariane and the Hifive.
|
||||
* Updated default timer frequency for the Ariane.
|
||||
* Map devices with large pages on 32 and 64-bit kernel.
|
||||
* Replaced mentions of BBL with OpenSBI.
|
||||
* Added definitions of the KernelOpenSBIPlatform variable for RISC-V platforms.
|
||||
* Removed instances of passing `extra_caps_t` by value for binary verification purposes.
|
||||
* Removed `slot_range_t` for binary verification purposes.
|
||||
* Removed `DONT_TRANSLATE` tag on 'read_sip' for binary verification purposes.
|
||||
* Added more efficient clz and ctz implementations to substitute the lack of machine instructions to count leading and
|
||||
trailing zeroes.
|
||||
* Updated kernel bootstrap message to be the same as the one on Arm.
|
||||
* Added some fastpath improvements for RISC-V.
|
||||
* Added extra snippets of code to track kernel entries for RISC-V.
|
||||
* Added a configuration guard for fastpath on RISC-V.
|
||||
* Reorganised `traps.S` so that syscalls and fastpath checks were done after interrupts and exceptions checks to avoid
|
||||
exceptions being interpreted as null-syscalls.
|
||||
* Added support for `riscv64-elf-` toolchain.
|
||||
* Fixed a register bug in the assembly entry point for SMP with regards to the elfloader passing HART and core IDs.
|
||||
|
||||
## Upgrade Notes
|
||||
|
||||
* Scheduling contexts can now be configured as constant-bandwidth or sporadic server.
|
||||
- Constant bandwidth observes a continuous constant bandwidth of budget/period.
|
||||
- Sporadic server behaves as described by Sprunt et. al.
|
||||
- In an overcommitted system, sporadic preserves accumulated time
|
||||
* MCS kernel configuration option KernelStaticMaxBudgetUs renamed to KernelStaticMaxPeriodUs
|
||||
- In an overcommitted system, sporadic preserves accumulated time.
|
||||
* There are new `PRIx` and `SEL4_PRIx` `printf` conversion specifiers that can now be used inside the kernel.
|
||||
* x86_64 kernel binaries are now smaller and may be structured differently compared to previous kernel binaries.
|
||||
* Kernel entry benchmarking can now be done on RISC-V.
|
||||
* AUTOCONF_INCLUDED is no longer defined. The seL4 build system has stopped
|
||||
using autoconf a long time ago and this define has been kept for compatibility
|
||||
since then. It is no longer used anywhere by now, so it can be removed.
|
||||
|
||||
|
||||
## Upgrade Notes
|
||||
---
|
||||
12.0.0 2020-10-30: BREAKING
|
||||
## Changes
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
12.0.0-dev
|
||||
12.1.0
|
||||
Loading…
Reference in a new issue