├── .editorconfig ├── .github └── FUNDING.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── Makefile ├── README.md ├── pcie ├── qemu.dtb ├── release.gdb └── src ├── aarch64.rs ├── aarch64 ├── aarch64.ld ├── boot.rs ├── context.rs ├── context.s ├── cpu.rs ├── drivers.rs ├── drivers │ ├── gic.rs │ ├── gic │ │ ├── gicc.rs │ │ └── gicd.rs │ ├── mmu.rs │ └── timer.rs ├── exceptions.rs ├── exceptions.s ├── memory.rs ├── registers.rs └── registers │ ├── accessors.rs │ ├── cntfrq_el0.rs │ ├── cnthctl_el2.rs │ ├── cntp_ctl_el0.rs │ ├── cntp_tval_el0.rs │ ├── cntpct_el0.rs │ ├── cntvoff_el2.rs │ ├── currentel.rs │ ├── elr_el2.rs │ ├── hcr_el2.rs │ ├── mair_el1.rs │ ├── mpidr_el1.rs │ ├── sctlr_el1.rs │ ├── sp_el1.rs │ ├── spsel.rs │ ├── spsr_el2.rs │ ├── tcr_el1.rs │ ├── ttbr0_el0.rs │ ├── ttbr0_el1.rs │ ├── ttbr1_el1.rs │ └── vbar_el1.rs ├── drivers.rs ├── drivers ├── mmio.rs ├── soc.rs ├── soc │ ├── bcm2711.rs │ ├── bcm2711 │ │ ├── aux.rs │ │ ├── gpio.rs │ │ ├── uart.rs │ │ └── uart_mini.rs │ ├── rk3399.rs │ ├── rk3399 │ │ └── uart.rs │ └── virt.rs ├── uart.rs ├── uart │ └── uart_pl011.rs └── virtio.rs ├── interfaces.rs ├── irq.rs ├── list.rs ├── log.rs ├── main.rs ├── memory.rs ├── memory ├── heap.rs ├── lock.rs └── map.rs ├── panic.rs ├── platform.rs ├── platform ├── pinebookpro.rs ├── qemu.rs └── raspi4.rs ├── scheduler.rs ├── scheduler ├── queue.rs └── task.rs └── shared.rs /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /trash 3 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/README.md -------------------------------------------------------------------------------- /pcie: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/pcie -------------------------------------------------------------------------------- /qemu.dtb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/qemu.dtb -------------------------------------------------------------------------------- /release.gdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/release.gdb -------------------------------------------------------------------------------- /src/aarch64.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64.rs -------------------------------------------------------------------------------- /src/aarch64/aarch64.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/aarch64.ld -------------------------------------------------------------------------------- /src/aarch64/boot.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/boot.rs -------------------------------------------------------------------------------- /src/aarch64/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/context.rs -------------------------------------------------------------------------------- /src/aarch64/context.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/context.s -------------------------------------------------------------------------------- /src/aarch64/cpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/cpu.rs -------------------------------------------------------------------------------- /src/aarch64/drivers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/drivers.rs -------------------------------------------------------------------------------- /src/aarch64/drivers/gic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/drivers/gic.rs -------------------------------------------------------------------------------- /src/aarch64/drivers/gic/gicc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/drivers/gic/gicc.rs -------------------------------------------------------------------------------- /src/aarch64/drivers/gic/gicd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/drivers/gic/gicd.rs -------------------------------------------------------------------------------- /src/aarch64/drivers/mmu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/drivers/mmu.rs -------------------------------------------------------------------------------- /src/aarch64/drivers/timer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/drivers/timer.rs -------------------------------------------------------------------------------- /src/aarch64/exceptions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/exceptions.rs -------------------------------------------------------------------------------- /src/aarch64/exceptions.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/exceptions.s -------------------------------------------------------------------------------- /src/aarch64/memory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/memory.rs -------------------------------------------------------------------------------- /src/aarch64/registers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers.rs -------------------------------------------------------------------------------- /src/aarch64/registers/accessors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/accessors.rs -------------------------------------------------------------------------------- /src/aarch64/registers/cntfrq_el0.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/cntfrq_el0.rs -------------------------------------------------------------------------------- /src/aarch64/registers/cnthctl_el2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/cnthctl_el2.rs -------------------------------------------------------------------------------- /src/aarch64/registers/cntp_ctl_el0.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/cntp_ctl_el0.rs -------------------------------------------------------------------------------- /src/aarch64/registers/cntp_tval_el0.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/cntp_tval_el0.rs -------------------------------------------------------------------------------- /src/aarch64/registers/cntpct_el0.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/cntpct_el0.rs -------------------------------------------------------------------------------- /src/aarch64/registers/cntvoff_el2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/cntvoff_el2.rs -------------------------------------------------------------------------------- /src/aarch64/registers/currentel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/currentel.rs -------------------------------------------------------------------------------- /src/aarch64/registers/elr_el2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/elr_el2.rs -------------------------------------------------------------------------------- /src/aarch64/registers/hcr_el2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/hcr_el2.rs -------------------------------------------------------------------------------- /src/aarch64/registers/mair_el1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/mair_el1.rs -------------------------------------------------------------------------------- /src/aarch64/registers/mpidr_el1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/mpidr_el1.rs -------------------------------------------------------------------------------- /src/aarch64/registers/sctlr_el1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/sctlr_el1.rs -------------------------------------------------------------------------------- /src/aarch64/registers/sp_el1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/sp_el1.rs -------------------------------------------------------------------------------- /src/aarch64/registers/spsel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/spsel.rs -------------------------------------------------------------------------------- /src/aarch64/registers/spsr_el2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/spsr_el2.rs -------------------------------------------------------------------------------- /src/aarch64/registers/tcr_el1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/tcr_el1.rs -------------------------------------------------------------------------------- /src/aarch64/registers/ttbr0_el0.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/ttbr0_el0.rs -------------------------------------------------------------------------------- /src/aarch64/registers/ttbr0_el1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/ttbr0_el1.rs -------------------------------------------------------------------------------- /src/aarch64/registers/ttbr1_el1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/ttbr1_el1.rs -------------------------------------------------------------------------------- /src/aarch64/registers/vbar_el1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/aarch64/registers/vbar_el1.rs -------------------------------------------------------------------------------- /src/drivers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers.rs -------------------------------------------------------------------------------- /src/drivers/mmio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/mmio.rs -------------------------------------------------------------------------------- /src/drivers/soc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/soc.rs -------------------------------------------------------------------------------- /src/drivers/soc/bcm2711.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/soc/bcm2711.rs -------------------------------------------------------------------------------- /src/drivers/soc/bcm2711/aux.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/soc/bcm2711/aux.rs -------------------------------------------------------------------------------- /src/drivers/soc/bcm2711/gpio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/soc/bcm2711/gpio.rs -------------------------------------------------------------------------------- /src/drivers/soc/bcm2711/uart.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/soc/bcm2711/uart.rs -------------------------------------------------------------------------------- /src/drivers/soc/bcm2711/uart_mini.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/soc/bcm2711/uart_mini.rs -------------------------------------------------------------------------------- /src/drivers/soc/rk3399.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/soc/rk3399.rs -------------------------------------------------------------------------------- /src/drivers/soc/rk3399/uart.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/soc/rk3399/uart.rs -------------------------------------------------------------------------------- /src/drivers/soc/virt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/soc/virt.rs -------------------------------------------------------------------------------- /src/drivers/uart.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/uart.rs -------------------------------------------------------------------------------- /src/drivers/uart/uart_pl011.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/uart/uart_pl011.rs -------------------------------------------------------------------------------- /src/drivers/virtio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/drivers/virtio.rs -------------------------------------------------------------------------------- /src/interfaces.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/interfaces.rs -------------------------------------------------------------------------------- /src/irq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/irq.rs -------------------------------------------------------------------------------- /src/list.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/list.rs -------------------------------------------------------------------------------- /src/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/log.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/memory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/memory.rs -------------------------------------------------------------------------------- /src/memory/heap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/memory/heap.rs -------------------------------------------------------------------------------- /src/memory/lock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/memory/lock.rs -------------------------------------------------------------------------------- /src/memory/map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/memory/map.rs -------------------------------------------------------------------------------- /src/panic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/panic.rs -------------------------------------------------------------------------------- /src/platform.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/platform.rs -------------------------------------------------------------------------------- /src/platform/pinebookpro.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/platform/pinebookpro.rs -------------------------------------------------------------------------------- /src/platform/qemu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/platform/qemu.rs -------------------------------------------------------------------------------- /src/platform/raspi4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/platform/raspi4.rs -------------------------------------------------------------------------------- /src/scheduler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/scheduler.rs -------------------------------------------------------------------------------- /src/scheduler/queue.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/scheduler/queue.rs -------------------------------------------------------------------------------- /src/scheduler/task.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/scheduler/task.rs -------------------------------------------------------------------------------- /src/shared.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lowenware/leos-kernel/HEAD/src/shared.rs --------------------------------------------------------------------------------