From 257d9cfd24bfa4d841aee522e8657ca156d870ed Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Sat, 29 Aug 2026 08:38:39 +0800 Subject: [PATCH] feat(openkal): the two consumers move to 0.9.0 with it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit riscv-virt-rt 0.6.0 and std-freestanding-alloc-kal 0.1.2, following #275. riscv-virt-rt is not only a consumer: behind `features = ["openkal"]` it supplies openkal's core set for QEMU's RISC-V virt machine, so 0.9's one-word transfers, kal_memory_granularity and the self-description all had to be implemented. Its granularity answers 1 -- no memory management unit, no rounding -- and its comment records that a C library above it must impose its own floor rather than adopt the number. ⚠️ Nothing had ever called that implementation. The feature compiled the sources and the linker took all fourteen names into the test binary, so the suite was green while proving only that it compiles and links. It now has a test that asks, on both ISA profiles, measured to fail when the answers are made wrong. std-freestanding-alloc-kal is a repin: kal_alloc and kal_free are unchanged and nothing 0.9 altered is reachable from `operator new`. Writing it exposed that its manifest dependency catches a version mismatch and not a declaration one -- it declares the two itself rather than including openkal's header -- so continuous integration now compiles both against the header they came from. Both tarballs were downloaded from both hosts and compared byte for byte against the file the checksum was taken from. Both descriptors parse as Lua afterwards and carry the version in all three OS tables with the same checksum, checked on the parsed table rather than by searching the text. --- pkgs/r/riscv-virt-rt.lua | 21 +++++++++++++++++++++ pkgs/s/std-freestanding-alloc-kal.lua | 21 +++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/pkgs/r/riscv-virt-rt.lua b/pkgs/r/riscv-virt-rt.lua index 8d008031..e32985ae 100644 --- a/pkgs/r/riscv-virt-rt.lua +++ b/pkgs/r/riscv-virt-rt.lua @@ -62,6 +62,13 @@ package = { -- published is a version someone may have pinned. xpm = { linux = { + ["0.6.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/riscv-virt-rt/archive/refs/tags/0.6.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/riscv-virt-rt/releases/download/0.6.0/riscv-virt-rt-0.6.0.tar.gz", + }, + sha256 = "a0c59deff6b40061637f452c8eafb17cfcb1a7a23f8da4a79050db352e27b064", + }, deps = { "xim:picolibc-riscv@1.8.12", "xim:qemu-riscv@9.2.4-1" }, ["0.1.0"] = { url = { @@ -114,6 +121,13 @@ package = { }, }, macosx = { + ["0.6.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/riscv-virt-rt/archive/refs/tags/0.6.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/riscv-virt-rt/releases/download/0.6.0/riscv-virt-rt-0.6.0.tar.gz", + }, + sha256 = "a0c59deff6b40061637f452c8eafb17cfcb1a7a23f8da4a79050db352e27b064", + }, deps = { "xim:picolibc-riscv@1.8.12", "xim:qemu-riscv@9.2.4-1" }, ["0.1.0"] = { url = { @@ -166,6 +180,13 @@ package = { }, }, windows = { + ["0.6.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/riscv-virt-rt/archive/refs/tags/0.6.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/riscv-virt-rt/releases/download/0.6.0/riscv-virt-rt-0.6.0.tar.gz", + }, + sha256 = "a0c59deff6b40061637f452c8eafb17cfcb1a7a23f8da4a79050db352e27b064", + }, deps = { "xim:picolibc-riscv@1.8.12", "xim:qemu-riscv@9.2.4-1" }, ["0.1.0"] = { url = { diff --git a/pkgs/s/std-freestanding-alloc-kal.lua b/pkgs/s/std-freestanding-alloc-kal.lua index 7ace61a5..111c7480 100644 --- a/pkgs/s/std-freestanding-alloc-kal.lua +++ b/pkgs/s/std-freestanding-alloc-kal.lua @@ -22,6 +22,13 @@ package = { xpm = { linux = { + ["0.1.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/std-freestanding-alloc-kal/releases/download/0.1.2/std-freestanding-alloc-kal-0.1.2.tar.gz", + }, + sha256 = "c0f9d699d7349cf8cef0bb2d1659ad4d2cadb2d9c8695078c6bed6351a583769", + }, ["0.1.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.1.tar.gz", @@ -38,6 +45,13 @@ package = { }, }, macosx = { + ["0.1.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/std-freestanding-alloc-kal/releases/download/0.1.2/std-freestanding-alloc-kal-0.1.2.tar.gz", + }, + sha256 = "c0f9d699d7349cf8cef0bb2d1659ad4d2cadb2d9c8695078c6bed6351a583769", + }, ["0.1.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.1.tar.gz", @@ -54,6 +68,13 @@ package = { }, }, windows = { + ["0.1.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/std-freestanding-alloc-kal/releases/download/0.1.2/std-freestanding-alloc-kal-0.1.2.tar.gz", + }, + sha256 = "c0f9d699d7349cf8cef0bb2d1659ad4d2cadb2d9c8695078c6bed6351a583769", + }, ["0.1.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.1.tar.gz",