► assets | |
mouse.h | |
tud.h | |
► boot | |
► multiboot | |
data.cc | |
data.h | Multiboot Interface |
startup.cc | |
startup.h | Startup of the first core, also known as bootstrap processor (BSP) |
startup_ap.cc | |
startup_ap.h | Startup of additional cores, the application processors (APs) |
► compiler | |
fix.h | Compiler-dependent fixes & idiosyncrasies |
libc.cc | |
libc.h | Initialization functions for global objects required by the compiler |
libcxx.cc | C++ runtime support functions |
► debug | |
► gdb | |
handler.cc | |
handler.h | For GDB_Stub Interrupt handler and its context |
protocol.cc | |
state.cc | |
state.h | GDB_Stub State of the current core |
stub.h | GDB_Stub contains the necessary functionality for remote debugging |
assert.cc | |
assert.h | Contains several macros usable for making assertions |
copystream.h | CopyStream duplicates output streams |
kernelpanic.h | Macro to print an error message and stop the current core |
nullstream.cc | |
nullstream.h | NullStream is a stream discarding everything |
output.h | Debug macros enabling debug output on a separate window for each core |
► device | |
clock.cc | |
clock.h | The Clock, an device interface for the Real Time Clock |
graphics.cc | |
graphics.h | The Graphics device is an interface for the Framebuffer |
graphicsstream.cc | |
graphicsstream.h | GraphicsStream, a graphical output stream inspired by (and compatible to) TextStream |
keyboard.cc | |
keyboard.h | The Keyboard device handles keystrokes |
mouse.cc | |
mouse.h | The Mouse device handles mouse movements and clicks |
panic.cc | |
panic.h | Default interrupt handling device Panic |
serialstream.cc | |
serialstream.h | Serial output stream |
textstream.cc | |
textstream.h | TextStream outputs text onto the screen in TextMode |
ticker.cc | |
ticker.h | Ticker device using HPET |
watch.cc | |
watch.h | Watch device using the LAPIC::Timer |
exercises | |
► fs | |
► minix | |
bitmap.cc | |
bitutil.cc | |
bitutil.h | |
dir.cc | |
itree.cc | |
minix.cc | |
minix.h | |
► tool | |
cli.cc | |
command.cc | |
command.h | |
fs_host.cc | |
fs_host.h | |
fs_image.cc | |
fs_image.h | |
fs_interface.h | |
imagefile.h | |
linenoise.hpp | |
parameter.cc | |
parameter.h | |
util.cc | |
util.h | |
block.h | |
blockdevice.cc | |
blockdevice.h | |
definitions.h | |
dir_context.cc | |
dir_context.h | |
errno.h | |
file.h | |
file_descriptor_table.cc | |
file_descriptor_table.h | |
filesystem.cc | |
filesystem.h | |
harddisk.cc | |
harddisk.h | |
inode.h | |
inode_cache.cc | |
inode_cache.h | |
ramdisk.cc | |
ramdisk.h | |
util.h | |
vfs.cc | |
vfs.h | |
► graphics | |
► fonts | |
font.cc | |
font.h | Monospaced fonts |
font_10x18.h | |
font_6x10.h | |
font_6x11.h | |
font_7x14.h | |
font_8x16.h | |
font_8x8.h | |
font_acorn_8x8.h | |
font_mini_4x6.h | |
font_pearl_8x8.h | |
font_sun_12x22.h | |
font_sun_8x16.h | |
font_ter_16x32.h | |
framebuffer.h | Framebuffer implementing primitive graphic operations |
primitives.h | Graphics primitives like Point |
printer.cc | |
printer.h | GraphicsPrinter and its abstraction |
► interrupt | |
gate.h | Class Gate (Device interrupt handling) |
guard.cc | |
guard.h | Guard synchronizes access to epilogue level |
guarded.h | Guarded, an interface to secure critical sections |
handler.cc | |
handler.h | interrupt_handler() Interrupt handler |
plugbox.cc | |
plugbox.h | Plugbox allows assigning devices to interrupt vectors |
► machine | |
acpi.cc | |
acpi.h | Structs and methods related to the Advanced Configuration and Power Interface (ACPI) |
apic.cc | |
apic.h | Gather system information from the ACPI about the Advanced Programmable Interrupt Controller (APIC) |
cache.h | Helper for cache alignment |
cmos.cc | |
cmos.h | Controlling the complementary metal oxide semiconductor (CMOS) |
context.cc | |
context.h | Functionality required for context switching |
core.cc | |
core.h | Access to internals of a CPU Core |
core_cr.h | Access to Control Register of a CPU core |
core_interrupt.h | Interrupt control and interrupt vector list |
core_msr.h | Identifiers for Model-Specific Register |
cpuid.h | CPUID queries information about the processor |
fpu.cc | |
fpu.h | Helper for floating point unit (x87), Multi Media Extension (MMX) and Streaming SIMD Extensions (SSE) |
gdt.cc | |
gdt.h | The Global Descriptor Table (GDT) |
hpet.cc | |
hpet.h | The High Precision Event Timer (HPET) |
idt.cc | |
idt.h | Interrupt Descriptor Table (IDT) containing the entry points for interrupt handling |
ioapic.cc | |
ioapic.h | IOAPIC abstracts the access to the I/O APIC |
ioapic_registers.h | Helper structures for interacting with the I/O APIC |
ioport.h | IOPort provides access to the x86 IO address space |
keydecoder.cc | |
keydecoder.h | KeyDecoder decodes a keystroke to the corresponding Key object |
lapic.cc | |
lapic.h | LAPIC abstracts access to the Local APIC |
lapic_ipi.cc | |
lapic_registers.h | Structures and macros for accessing the local APIC |
lapic_timer.cc | |
mousedecoder.cc | |
mousedecoder.h | MouseDecoder decodes a mouse movement |
pic.cc | |
pic.h | Handle (disable) the old Programmable Interrupt Controller (PIC) |
pit.cc | |
pit.h | The old/historical Programmable Interval Timer (PIT) |
ps2controller.cc | |
ps2controller.h | PS/2 Controller (Intel 8042, also known as Keyboard Controller) |
rtc.cc | |
rtc.h | Real Time Clock to retrieve the current date & time |
serial.cc | |
serial.h | Communication via the Serial interface (RS-232) |
system.cc | |
system.h | General System functionality (reboot) |
textmode.cc | |
textmode.h | TextMode provides a basic interface to display a character in VGA-compatible text mode |
textwindow.cc | |
textwindow.h | TextWindow provides virtual output windows in text mode |
tsc.cc | |
tsc.h | TimeStamp Counter (TSC) |
► object | |
allcore.h | Global wrapper for OS global variables |
bbuffer.h | Contains a bounded buffer |
key.cc | |
key.h | Key, an abstraction for handling pressed keys and their modifiers |
outputstream.cc | |
outputstream.h | This file contains the OutputStream |
percore.h | PerCore wrapper for core local variables |
pointer.h | Pointer, the Mouse state |
queue.h | Simple Queue (for elements inheriting from Queue::Node) |
stringbuffer.cc | |
stringbuffer.h | Stringbuffer composes single characters into a buffer |
time.cc | |
time.h | DateTime structure with conversation to unix timestamp format |
reference | |
► sync | |
bell.cc | |
bell.h | Bell, a synchronization object for sleeping |
bellringer.cc | |
bellringer.h | Bellringer that manages and activates time-triggered activities |
semaphore.cc | |
semaphore.h | Semaphore for synchronization of threads |
spinlock.h | Contains the class Spinlock |
waitingroom.cc | |
waitingroom.h | Contains the class Waitingroom |
► syscall | |
guarded_bell.h | GuardedBell, a guarded interface for Bell |
guarded_graphics.h | GuardedGraphics, a guarded interface for Graphics |
guarded_keyboard.h | GuardedKeyboard, a guarded interface for Keyboard |
guarded_scheduler.h | GuardedScheduler, a guarded interface for Scheduler |
guarded_semaphore.h | GuardedSemaphore, a guarded interface for Semaphore |
guarded_vfs.h | GuardedVFS, a guarded interface for Virtual File System (VFS) |
► test-stream | |
console_out.cc | |
console_out.h | Console output (for the voluntary C++ exercise only) |
file_out.cc | |
file_out.h | File output (for the voluntary C++ exercise only) |
test.cc | |
► thread | |
assassin.cc | |
assassin.h | Assassin handles IPIs triggered by Scheduler::kill |
dispatcher.cc | |
dispatcher.h | Dispatcher for Thread threads |
idlethread.cc | |
idlethread.h | IdleThread executed by the Scheduler if no other Thread is ready |
scheduler.cc | |
scheduler.h | Scheduler to manage the threads |
thread.cc | |
thread.h | Thread abstraction required for multithreading |
wakeup.h | WakeUp allows to activate sleeping cores |
► user | |
► app1 | |
appl.cc | |
appl.h | |
► app2 | |
kappl.cc | |
kappl.h | KeyboardApplication to test the input |
► graphics | |
cat.cc | |
cat.h | Contains a walking cat |
clock.cc | |
clock.h | Prints a clock |
demon.cc | |
demon.h | Beware, demons ahead |
filetitle.cc | |
filetitle.h | Prints text (from a file) |
fire-example.cc | |
fire-example.h | Contains a small graphics example |
fire.cc | |
fire.h | Prints the fire animation, adopted from http://lodev.org/cgtutor/fire.html |
fps.cc | |
fps.h | Prints a small PC that counts the FPS |
full-example.cc | |
full-example.h | Contains a graphics example |
mouse.cc | |
mouse.h | Mouse Cursor |
pc.cc | |
pc.h | Prints a small PC that counts the FPS |
pong.cc | |
pong.h | Fake Pong |
texttitle.cc | |
texttitle.h | Prints text (from memory) |
title.cc | |
title.h | Prints text (from a file) |
► utils | |
alloc.cc | |
alloc.h | C-style dynamic memory allocation interface |
alloc_buddy.h | An extensible buddy allocator |
math.h | General purpose math functions |
png.cc | PNG library |
png.h | PNG library |
random.cc | |
random.h | Class Random (PRNG based on Mersenne Twister) |
size.h | Template function to determine the length of an array |
string.cc | |
string.h | General purpose String functions |
main.cc | |
types.h | Definition of standard integer types with specified widths and their limits |