seL4 3.0.0 Release Notes
This release is a minor release that brings structural improvements to the kernel in preparation for 64bit architecture support. Although changes do break the API, the breakages are small (see API Changes and API Removals below) and should not effect most users.
Implementation improvements
- python3 compatability for our python scripts.
- more source code restructuring in preparation for 64-bit ports of seL4
- idle thread is run in system mode for all ARM platforms except for the KZM11.
- more work to remove duplication between libsel4 and kernel.
API Additions
seL4_IRQControl_GetIOAPICfor x86.seL4_IRQControl_GetMSIfor x86.
API Changes
- Total number of ASIDs for x86 reduced from 2\^16\^ to 2\^12\^ (max ASID 2\^12\^).
seL4_BootInfostruct:userImagePDsanduserImagePTscombined intouserImagePagingin preparation for multilevel paging structures for 64 bit kernel support.- Diminish rights removed from IPC
API Removals
seL4_IRQ_SetModeremoved (This only effects users who use the IOAPIC on x86, which is turned off by default).
API deprecations
seL4_IA32_PageDirectory_Mapdeprecated forseL4_X86_PageDirectory_MapseL4_IA32_PageDirectory_Unmapdeprecated forseL4_X86_PageDirectory_UnmapseL4_IA32_PageTable_Mapdeprecated forseL4_X86_PageTable_MapseL4_IA32_PageTable_Unmapdeprecated forseL4_X86_PageTable_UnmapseL4_IA32_IOPageTable_Mapdeprecated forseL4_X86_IOPageTable_MapseL4_IA32_IOPageTable_Unmapdeprecated forseL4_X86_IOPageTable_UnmapseL4_IA32_IOPageTable_Mapdeprecated forseL4_X86_IOPageTable_MapseL4_IA32_IOPageTable_Unmapdeprecated forseL4_X86_IOPageTable_UnmapseL4_IA32_Page_Mapdeprecated forseL4_X86_Page_MapseL4_IA32_Page_Unmapdeprecated forseL4_X86_Page_UnmapseL4_IA32_Page_Remapdeprecated forseL4_X86_Page_RemapseL4_IA32_Page_MapIOdeprecated forseL4_X86_Page_MapIOseL4_IA32_Page_GetAddressdeprecated forseL4_X86_Page_GetAddressseL4_IA32_ASIDControl_MakePooldeprecated forseL4_X86_ASIDControl_MakePoolseL4_IA32_ASIDPool_Assigndeprecated forseL4_X86_ASIDPool_AssignseL4_IA32_IOPort_In8deprecated forseL4_X86_IOPort_In8seL4_IA32_IOPort_In16deprecated forseL4_X86_IOPort_In16seL4_IA32_IOPort_In32deprecated forseL4_X86_IOPort_In32seL4_IA32_IOPort_Out8deprecated forseL4_X86_IOPort_Out8seL4_IA32_IOPort_Out16deprecated forseL4_X86_IOPort_Out16seL4_IA32_IOPort_Out32deprecated forseL4_X86_IOPort_Out32seL4_IA32_4Kdeprecated forseL4_X86_4KseL4_IA32_LargePagedeprecated forseL4_X86_LargePageObjectseL4_IA32_PageTableObjectdeprecated forseL4_X86_PageTableObjectseL4_IA32_PageDirectoryObjectdeprecated forseL4_X86_PageDirectoryObjectseL4_IA32_IOPageTableObjectdeprecated forseL4_X86_IOPageTableObjectseL4_IA32_ASIDControldeprecated forseL4_X86_ASIDControlseL4_IA32_ASIDPooldeprecated forseL4_X86_ASIDPoolseL4_IA32_IOSpacedeprecated forseL4_X86_IOSpaceseL4_IA32_IOPortdeprecated forseL4_X86_IOPortseL4_IA32_Pagedeprecated forseL4_X86_PageseL4_IA32_PDPTdeprecated forseL4_X86_PDPTseL4_IA32_PageDirectorydeprecated forseL4_X86_PageDirectoryseL4_IA32_PageTabledeprecated forseL4_X86_PageTableseL4_IA32_IOPageTabledeprecated forseL4_X86_IOPageTableseL4_IA32_Default_VMAttributesdeprecated forseL4_X86_Default_VMAttributesseL4_IA32_WriteBackdeprecated forseL4_X86_WriteBackseL4_IA32_WriteThroughdeprecated forseL4_X86_WriteThroughseL4_IA32_CacheDisableddeprecated forseL4_X86_CacheDisabledseL4_IA32_Uncacheabledeprecated forseL4_X86_UncacheableseL4_IA32_WriteCombiningdeprecated forseL4_X86_WriteCombiningseL4_IA32_VMAttributesdeprecated forseL4_X86_VMAttributes
Upgrade notes
This change is not source or binary compatible.
Users will need to remove calls to seL4_IRQ_SetMode, and upgrade any
manual parsing of seL4_BootInfo.
Full changelog
Use git log 2.1.0..3.0.0
Other releases
See the full list of seL4 releases.