/polyhal

Primary LanguageRustMIT LicenseMIT

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