Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 21 additions & 113 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,83 +3,6 @@
Awkernel is a safe and realtime operating system.
It can execute async/await applications in kernel space safely.

## Progress

- [x] Zero-copy communications
- [x] Publish and subscribe
- [x] Service
- [x] Action
- [x] Channels
- [x] Bounded channel
- [x] Unbounded channel
- [x] Session-type based channel
- [x] Memory space isolation
- [x] Timer interrupts
- [x] AArch64
- [x] x86_64
- [x] Interrupt Controllers
- [x] AArch64
- [x] Raspberry Pi 3
- [x] GICv2
- [x] GICv3
- [x] x86_64
- [x] xAPIC
- [x] x2APIC
- [ ] Frame buffer
- [ ] AArch64 virt
- [x] Raspberry Pi 3 and 4
- [x] x86_64
- [ ] Diagnostics
- [ ] Measurement
- [ ] Power Management
- [ ] Shutdown
- [ ] Reboot
- [ ] Schedulers
- [x] Prioritized FIFO scheduler
- [ ] Prioritized Round robin scheduler
- [ ] EDF scheduler
- [ ] DAG scheduler
- [ ] Memory allocators
- [x] O(1) memory allocator
- [x] DMA pool
- [ ] NUMA aware memory allocator
- [ ] DVFS
- [ ] AArch64
- [ ] x86_64
- [ ] PCIe
- [ ] MSI
- [x] x86_64 xAPIC and x2APIC
- [ ] AArch64 GICv3
- [ ] MSI-X
- [x] x86_64 xAPIC and x2APIC
- [ ] AArch64 GICv3
- Network controllers
- [x] Intel Gb Ethernet Controller (e1000 Series)
- [ ] Intel 2.5Gb Ethernet Controller (I225/I226 series)
- [x] Intel 10Gb Ethernet Controller (X520 Series)
- [ ] Mellanox ConnectX-5 series
- [x] genet for Raspberry Pi
- Networking
- [x] IPv4
- [ ] IPv6
- [x] UDP
- [x] TCP
- [ ] VLAN
- [x] IP multicast
- [ ] Offloading
- [ ] TSO
- [ ] IPv4 header checksum
- [x] UDP checksum
- [ ] TCP checksum
- [ ] VLAN hardware tagging
- [ ] XHCI
- [ ] Block devices
- [ ] NVMe
- [ ] AHCI
- [ ] File systems
- [ ] FAT32
- [ ] Journaling file system

## Dependencies

### Compiler Tools
Expand Down Expand Up @@ -185,20 +108,23 @@ etc

### Compile

Debug build.
Release build (recommended).

```text
$ make x86_64
$ make x86_64 RELEASE=1
```

Release build.
Debug build.

```text
$ make x86_64 RELEASE=1
$ make x86_64
```

### Boot

Qemu 8.x or later is required.
Qemu 6.x is not supported.

```text
$ make qemu-x86_64
```
Expand All @@ -216,16 +142,16 @@ $ make gdb-x86_64

### Compile

Debug build.
Release build (recommended).

```text
$ make aarch64 BSP=aarch64_virt
$ make aarch64 BSP=aarch64_virt RELEASE=1
```

Release build.
Debug build.

```text
$ make aarch64 BSP=aarch64_virt RELEASE=1
$ make aarch64 BSP=aarch64_virt
```

### Boot
Expand All @@ -247,7 +173,7 @@ $ make gdb-aarch64_virt

### Compile

Release build.
Release build (recommended).
`RELEASE=1` must be used for actual devices.

```text
Expand Down Expand Up @@ -294,40 +220,22 @@ $ make aarch64 BSP=raspi4 RELEASE=1

---

## Raspberry Pi 5 (AArch64)
## RISC-V (64bit, Qemu)

### Compile

Specify `Release=1`.
Release build (recommended).

```text
$ make aarch64 BSP=raspi5 RELEASE=1
$ make riscv64 RELEASE=1
```

### Boot

- Serial
- 8N1: eight data bits, no parity, one stop bit
- Speed: 115200

---

## RISC-V (64bit, Qemu)

### Compile

Debug build.

```text
$ make riscv64
```

Release build.

```text
$ make riscv64 RELEASE=1
```

### Boot

```text
Expand All @@ -340,16 +248,16 @@ $ make qemu-riscv64

### Compile

Debug build.
Release build (recommended).

```text
$ make riscv32
$ make riscv32 RELEASE=1
```

Release build.
Debug build.

```text
$ make riscv32 RELEASE=1
$ make riscv32
```

### Boot
Expand Down Expand Up @@ -419,6 +327,6 @@ $ make loom

[Publications](./PUBLICATIONS.md)

## Verification
## Specification and Test Results

[Verification Result](./VERIFICATION.md)
[Specification and Test Results](./SPEC_TEST.md)
2 changes: 1 addition & 1 deletion VERIFICATION.md → SPEC_TEST.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Verification Result
# Specification and Test Results

## Tools

Expand Down