#x86-64 #arm64 #platform

nightly polyhal

This crate provides the interface for multiple platforms

7 releases

new 0.2.2 Apr 11, 2025
0.2.1 Apr 5, 2025
0.1.3 Aug 4, 2024

#139 in Operating systems

Download history 10/week @ 2025-01-29 1/week @ 2025-02-26 266/week @ 2025-04-02

266 downloads per month
Used in 2 crates

MIT license

145KB
3.5K SLoC

arch crate

A crate help you to write a os that support multiple platforms.

English | 中文简体

Wiki

Supported platforms

Platform Board
riscv64 qemu
x86_64 qemu
aarch64 qemu
loongarch64 qemu

Example

Here is an simple example in the example dir.

Run

cd example
# Run on riscv64
make ARCH=riscv64 run
# Run on x86_64
make ARCH=x86_64 run
# Run on aarch64
make ARCH=aarch64 run
# Run on loongarch64
make ARCH=loongarch64 run

Used OS

ByteOS

How to run?

Prepare
git clone https://github.com/Byte-OS/ByteOS.git
cd ByteOS
git reset 655eef3e38b5a85baaab4b2ba33832fbb299f19a --hard
git clone https://github.com/Byte-OS/arch.git
Run on a specific platform

run on riscv64

make ARCH=riscv64 LOG=error run

Change ARCH value if you want to run on another platform.

rCore-tutorial-v3 ch7

Prepare
git clone https://github.com/yfblock/rcore-tutorial-v3-with-hal-component.git
git reset fe2c146dedeadcc5fa9db8402128e066e45ca5a9 --hard
git clone https://github.com/Byte-OS/arch.git
Run on a specific platform
make ARCH=riscv64 run

Dependencies

~4.5MB
~58K SLoC