Skip to content

Lamune-Amo/Lamune

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lamune Kernel

English · 한국어

Lamune is a time-sharing kernel targeting the AMO 32-bit RISC SoC. It features a 4 MB physical memory model, self-bootstrapping startup, a round-robin task scheduler, VGA/PS2 drivers, read/write interfaces, and several kernel-level demo utilities.

Path Notes
arch/ Hardware-specific layer (atomics/interrupt control, MMIO defs; glue for VGA/PS2/timer).
boot/ Early boot code and linker script (entry sections, ROM/RAM layout).
drivers/ Console and basic device I/O (e.g., VGA text output, keyboard input).
fs/ Virtual file system scaffolding and interfaces.
init/ Kernel bring-up and the init task.
kernel/ Core kernel logic: task management, scheduler, context switch, signals.
lib/ Runtime helpers and software integer arithmetic routines.
mm/ Memory management (allocator and related structures).
tools/ shell (built-ins) and demo utilities.

Highlights

Time-sharing: timer-tick driven scheduling (round-robin/preemptive)

Interrupts: IRQ (timer/PS2) and SWI (trap/syscall)

MMIO: VGA text console, PS/2 keyboard, timer, interrupt controller

Toolchain: works with AMO Binutils and GCC

Build and Usage

make all
$> ls
... lamune.coe ...

lamune.coe is the kernel's binary, so it will be the image to be loaded into RAM.

Links

Architecture — AMO 32-bit RISC CPU & SoC

Binutils — binary toolchain for AMO

GCC — C compiler for AMO

Firmware — ROM-resident boot stub

Document — ISA, microarchitecture, memory map, manuals

About

Lamune: time-sharing kernel for the AMO 32-bit RISC SoC

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published