Skip to content

feat: openkal 的两个新后端 —— OpenSBI 与 UEFI - #228

Merged
Sunrisepeak merged 1 commit into
mainfrom
feat/openkal-opensbi-uefi
Aug 20, 2026
Merged

feat: openkal 的两个新后端 —— OpenSBI 与 UEFI#228
Sunrisepeak merged 1 commit into
mainfrom
feat/openkal-opensbi-uefi

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

openkal-opensbi 0.1.0

可移植的那个 RISC-V 后端。 板级后端往设备地址写,而那个地址是板级事实;
SBI 的控制台是对已经知道机器是什么的固件的一次调用,因此同一个镜像在 QEMU virt 的
OpenSBI 下与真实板子上都能跑。

实测:QEMU -bios default(真实 OpenSBI)下打印并经 SRST 关机。

openkal-uefi 0.1.0

⚠️ 推翻了「受阻」的判断。 先前的分析认为 UEFI 需要一个新的 PE 形态裸机目标。
实测不需要:x86_64-windows-gnu + 三个链接 flag 产出的正是
IMAGE_SUBSYSTEM_EFI_APPLICATION 且不依赖任何 DLL,而该目标默认就是 MS x64 调用约定。

实测:OVMF 下作为 EFI/BOOT/BOOTX64.EFI 启动,打印后 kal_exit 交还固件。

两者都只实现 core 三件(abort/stream/memory);缺席的 interface 是缺席而非部分实现。
五个 tarball 的 GitHub 与 GitCode 镜像逐字节一致。

## openkal-opensbi 0.1.0

⭐ **可移植的那个 RISC-V 后端。** 板级后端往设备地址写,而那个地址是板级事实;
SBI 的控制台是对已经知道机器是什么的固件的一次调用,因此同一个镜像在 QEMU virt 的
OpenSBI 下与真实板子上都能跑。

实测:QEMU -bios default(真实 OpenSBI)下打印并经 SRST 关机。

## openkal-uefi 0.1.0

⚠️ **推翻了「受阻」的判断。** 先前的分析认为 UEFI 需要一个新的 PE 形态裸机目标。
实测不需要:`x86_64-windows-gnu` + 三个链接 flag 产出的正是
IMAGE_SUBSYSTEM_EFI_APPLICATION 且不依赖任何 DLL,而该目标默认就是 MS x64 调用约定。

实测:OVMF 下作为 EFI/BOOT/BOOTX64.EFI 启动,打印后 kal_exit 交还固件。

两者都只实现 core 三件(abort/stream/memory);缺席的 interface 是缺席而非部分实现。
五个 tarball 的 GitHub 与 GitCode 镜像逐字节一致。
@Sunrisepeak
Sunrisepeak merged commit a49cc20 into main Aug 20, 2026
8 checks passed
@Sunrisepeak
Sunrisepeak deleted the feat/openkal-opensbi-uefi branch August 20, 2026 08:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants