From 6aa38ff0906dad77b46ea1789c6714dc7996ccf8 Mon Sep 17 00:00:00 2001 From: Sunrisepeak Date: Tue, 3 Nov 2026 09:27:25 +0900 Subject: [PATCH] openkal-macos 0.21.2 Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com> --- CHANGELOG.md | 3 +++ pkgs/o/openkal-macos.lua | 21 +++++++++++++++++++++ tests/examples/openkal/mcpp.toml | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad8d9a9d..aeee2671 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,9 @@ ### Added +- **openkal-macos 0.21.2。** 单调时钟的粒度取内核的计时单位(`mach_timebase_info`,向上取整:arm64 为 42 ns,x86_64 为 1 ns), + 每次启动相同;此前以读数变化的差值测得,各次启动不同,openkal-image 的运行器在使用初始化快照前比较实现的事实,曾因此拒绝快照。 + 测试成员 `openkal` 随之移动。GLOBAL 为 GitHub 标签归档,CN 为 GitCode `mcpp-res` 镜像,sha256 两处一致。 - **openkal-macos 0.21.1。** 睡眠不再占用处理器时间:内核读取 `ulock_wait` 所等待的字时不处理缺页,对尚未驻留的页返回 `EFAULT`;`kal_time_sleep` 等待的是一个从未写过的零字,每次等待立即失败,睡眠成了整段时长的自旋(在 arm64 与 x86_64 运行机上 睡 200 ms 耗费 127 至 200 ms 处理器时间)。等待现在在 `EFAULT` 时读取该字后重试,睡眠所用的字位于当前上下文的栈上。测试成员 diff --git a/pkgs/o/openkal-macos.lua b/pkgs/o/openkal-macos.lua index 2cdff842..76a50550 100644 --- a/pkgs/o/openkal-macos.lua +++ b/pkgs/o/openkal-macos.lua @@ -19,6 +19,13 @@ package = { xpm = { linux = { + ["0.21.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.21.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-macos/releases/download/0.21.2/openkal-macos-0.21.2.tar.gz", + }, + sha256 = "393ec7e317e6260ed81aa2f5e14514538297a0a5787377ab0f4eb6c1d6ce7020", + }, ["0.21.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.21.1.tar.gz", @@ -231,6 +238,13 @@ package = { }, }, macosx = { + ["0.21.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.21.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-macos/releases/download/0.21.2/openkal-macos-0.21.2.tar.gz", + }, + sha256 = "393ec7e317e6260ed81aa2f5e14514538297a0a5787377ab0f4eb6c1d6ce7020", + }, ["0.21.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.21.1.tar.gz", @@ -443,6 +457,13 @@ package = { }, }, windows = { + ["0.21.2"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.21.2.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-macos/releases/download/0.21.2/openkal-macos-0.21.2.tar.gz", + }, + sha256 = "393ec7e317e6260ed81aa2f5e14514538297a0a5787377ab0f4eb6c1d6ce7020", + }, ["0.21.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-macos/archive/refs/tags/0.21.1.tar.gz", diff --git a/tests/examples/openkal/mcpp.toml b/tests/examples/openkal/mcpp.toml index 4329b334..f85ff2f1 100644 --- a/tests/examples/openkal/mcpp.toml +++ b/tests/examples/openkal/mcpp.toml @@ -24,7 +24,7 @@ openkal = "0.23.0" openkal-linux = "0.24.0" [target.'cfg(os = "macos")'.dependencies.mcpplibs] -openkal-macos = "0.21.1" +openkal-macos = "0.21.2" [target.'cfg(windows)'.dependencies.mcpplibs] openkal-windows = "0.19.0"