From 66e5fe615f6403225008f50b07d2e1b47ac07e08 Mon Sep 17 00:00:00 2001 From: Ivan Velickovic Date: Thu, 20 Nov 2025 16:59:10 +1100 Subject: [PATCH 1/3] Move to master seL4 Use commit 0f497ab3a0a25500b7dc70f3a2c2ad34b8453c24 instead which at the time of writing is the latest HEAD. The 'microkit' branch on the seL4 repository will remain (maybe we will make it a tag instead) to ensure that previous versions of the SDK still reliable build. Signed-off-by: Ivan Velickovic --- .github/workflows/sdk.yaml | 7 +++++-- DEVELOPER.md | 6 ++++-- loader/src/loader.c | 6 +----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/sdk.yaml b/.github/workflows/sdk.yaml index e5d58122f..4150e883f 100644 --- a/.github/workflows/sdk.yaml +++ b/.github/workflows/sdk.yaml @@ -15,6 +15,9 @@ on: push: branches: [ "main" ] +env: + SEL4_VERSION: 0f497ab3a0a25500b7dc70f3a2c2ad34b8453c24 + # To reduce the load we cancel any older runs of this workflow for the current # PR. For deployment to the main branch, the workflow will run on each push, # and the `run_id` parameter will prevent cancellation. @@ -36,7 +39,7 @@ jobs: uses: actions/checkout@v4 with: repository: seL4/seL4 - ref: microkit + ref: ${{ env.SEL4_VERSION }} path: seL4 - name: Install SDK dependencies run: | @@ -95,7 +98,7 @@ jobs: uses: actions/checkout@v4 with: repository: seL4/seL4 - ref: microkit + ref: ${{ env.SEL4_VERSION }} path: seL4 - name: Get Nix dependencies run: nix develop -c bash -c 'echo Hello World' diff --git a/DEVELOPER.md b/DEVELOPER.md index 21cfb490f..c134b49da 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -115,9 +115,11 @@ Please clone seL4 from: https://github.com/seL4/seL4.git -The correct branch to use is `microkit`. +It should be noted that while Microkit uses mainline seL4, it is fairly tied to the +specific version used. -Testing has been performed using commit `3aafe9e0b9527794c547d12090117e1000302da0`. +For this version of Microkit please use the following commit: +`0f497ab3a0a25500b7dc70f3a2c2ad34b8453c24`. ## Building the SDK diff --git a/loader/src/loader.c b/loader/src/loader.c index fafdc20db..a92a98c09 100644 --- a/loader/src/loader.c +++ b/loader/src/loader.c @@ -33,9 +33,7 @@ typedef void (*sel4_entry)( intptr_t pv_offset, uintptr_t v_entry, uintptr_t dtb_addr_p, - uintptr_t dtb_size, - uintptr_t extra_device_addr_p, - uintptr_t extra_device_size + uintptr_t dtb_size ); extern char _text; @@ -114,8 +112,6 @@ static void start_kernel(void) loader_data->pv_offset, loader_data->v_entry, 0, - 0, - 0, 0 ); } From a0670752f8817b96e2b2f8e3f55c2f8f17c886c9 Mon Sep 17 00:00:00 2001 From: Ivan Velickovic Date: Thu, 20 Nov 2025 17:02:01 +1100 Subject: [PATCH 2/3] Do not explicitly enable RISC-V FPU Since 6f8cc463bba6e6e89f0905a90996c9f5db35b10c of seL4, on 64-bit RISC-V at least, these are always enabled by default and so we don't have to do it explicitly anymore. Signed-off-by: Ivan Velickovic --- build_sdk.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/build_sdk.py b/build_sdk.py index 9b6c176b8..7671d0799 100644 --- a/build_sdk.py +++ b/build_sdk.py @@ -243,8 +243,6 @@ class ConfigInfo: kernel_options={ "KernelPlatform": "qemu-riscv-virt", "QEMU_MEMORY": "2048", - "KernelRiscvExtD": True, - "KernelRiscvExtF": True, } | DEFAULT_KERNEL_OPTIONS_RISCV64, ), BoardInfo( @@ -303,8 +301,6 @@ class ConfigInfo: loader_link_address=0x90000000, kernel_options={ "KernelPlatform": "hifive-p550", - "KernelRiscvExtD": True, - "KernelRiscvExtF": True, } | DEFAULT_KERNEL_OPTIONS_RISCV64, ), BoardInfo( @@ -314,8 +310,6 @@ class ConfigInfo: loader_link_address=0x60000000, kernel_options={ "KernelPlatform": "star64", - "KernelRiscvExtD": True, - "KernelRiscvExtF": True, } | DEFAULT_KERNEL_OPTIONS_RISCV64, ), BoardInfo( @@ -325,8 +319,6 @@ class ConfigInfo: loader_link_address=0x90000000, kernel_options={ "KernelPlatform": "ariane", - "KernelRiscvExtD": True, - "KernelRiscvExtF": True, } | DEFAULT_KERNEL_OPTIONS_RISCV64, ), BoardInfo( @@ -336,8 +328,6 @@ class ConfigInfo: loader_link_address=0x90000000, kernel_options={ "KernelPlatform": "cheshire", - "KernelRiscvExtD": True, - "KernelRiscvExtF": True, } | DEFAULT_KERNEL_OPTIONS_RISCV64, ), BoardInfo( @@ -347,8 +337,6 @@ class ConfigInfo: loader_link_address=0x90000000, kernel_options={ "KernelPlatform": "cheshire", - "KernelRiscvExtD": True, - "KernelRiscvExtF": True, } | DEFAULT_KERNEL_OPTIONS_RISCV64, ), BoardInfo( From e22d1df0992af401cca952eb1d19916cf85c3e33 Mon Sep 17 00:00:00 2001 From: Ivan Velickovic Date: Thu, 20 Nov 2025 17:04:58 +1100 Subject: [PATCH 3/3] DEVELOPER.md: fix style Signed-off-by: Ivan Velickovic --- DEVELOPER.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DEVELOPER.md b/DEVELOPER.md index c134b49da..c633295a5 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -25,6 +25,7 @@ This section attempts to list the packages or external development tools which a * qemu-system-x86_64 To build the documentation you also need + * pandoc * pdflatex * texlive-latex-recommended