StuBS
File List
Here is a list of all documented files with brief descriptions:
[detail level 123]
 
boot
 
multiboot
 
startup.h
Startup of the first core, also known as bootstrap processor (BSP)
 
startup_ap.h
Startup of additional cores, the application processors (APs)
 
compiler
 
fix.h
Compiler-dependent fixes & idiosyncrasies
 
libc.h
Initialization functions for global objects required by the compiler
 
libcxx.cc
C++ runtime support functions
 
debug
 
gdb
 
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.h
NullStream is a stream discarding everything
 
output.h
Debug macros enabling debug output on a separate window for each core
 
device
 
clock.h
The Clock, an device interface for the Real Time Clock
 
keyboard.h
The Keyboard device handles keystrokes
 
mouse.h
The Mouse device handles mouse movements and clicks
 
panic.h
Default interrupt handling device Panic
 
serialstream.h
Serial output stream
 
textstream.h
TextStream outputs text onto the screen in TextMode
 
ticker.h
Ticker device using HPET
 
watch.h
Watch device using the LAPIC::Timer
 
interrupt
 
gate.h
Class Gate (Device interrupt handling)
 
gatequeue.h
Queue for gates (epilogues)
 
guard.h
Guard synchronizes access to epilogue level
 
guarded.h
Guarded, an interface to secure critical sections
 
handler.h
interrupt_handler() Interrupt handler
 
plugbox.h
Plugbox allows assigning devices to interrupt vectors
 
machine
 
acpi.h
Structs and methods related to the Advanced Configuration and Power Interface (ACPI)
 
apic.h
Gather system information from the ACPI about the Advanced Programmable Interrupt Controller (APIC)
 
cache.h
Helper for cache alignment
 
cmos.h
Controlling the complementary metal oxide semiconductor (CMOS)
 
context.h
Functionality required for context switching
 
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.h
Helper for floating point unit (x87), Multi Media Extension (MMX) and Streaming SIMD Extensions (SSE)
 
gdt.h
The Global Descriptor Table (GDT)
 
hpet.h
The High Precision Event Timer (HPET)
 
idt.h
Interrupt Descriptor Table (IDT) containing the entry points for interrupt handling
 
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.h
KeyDecoder decodes a keystroke to the corresponding Key object
 
lapic.h
LAPIC abstracts access to the Local APIC
 
lapic_registers.h
Structures and macros for accessing the local APIC
 
mousedecoder.h
MouseDecoder decodes a mouse movement
 
pic.h
Handle (disable) the old Programmable Interrupt Controller (PIC)
 
pit.h
The old/historical Programmable Interval Timer (PIT)
 
ps2controller.h
PS/2 Controller (Intel 8042, also known as Keyboard Controller)
 
rtc.h
Real Time Clock to retrieve the current date & time
 
serial.h
Communication via the Serial interface (RS-232)
 
system.h
General System functionality (reboot)
 
textmode.h
TextMode provides a basic interface to display a character in VGA-compatible text mode
 
textwindow.h
TextWindow provides virtual output windows in text mode
 
tsc.h
TimeStamp Counter (TSC)
 
object
 
bbuffer.h
Contains a bounded buffer
 
key.h
Key, an abstraction for handling pressed keys and their modifiers
 
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.h
Stringbuffer composes single characters into a buffer
 
time.h
DateTime structure with conversation to unix timestamp format
 
sync
 
bell.h
Bell, a synchronization object for sleeping
 
bellringer.h
Bellringer that manages and activates time-triggered activities
 
semaphore.h
Semaphore for synchronization of threads
 
spinlock.h
Contains the class Spinlock
 
ticketlock.h
Contains the class Ticketlock
 
waitingroom.h
Contains the class Waitingroom
 
syscall
 
guarded_bell.h
GuardedBell, a guarded interface for Bell
 
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
 
test-stream
 
console_out.h
Console output (for the voluntary C++ exercise only)
 
file_out.h
File output (for the voluntary C++ exercise only)
 
thread
 
assassin.h
Assassin handles IPIs triggered by Scheduler::kill
 
dispatcher.h
Dispatcher for Thread threads
 
idlethread.h
IdleThread executed by the Scheduler if no other Thread is ready
 
scheduler.h
Scheduler to manage the threads
 
thread.h
Thread abstraction required for multithreading
 
wakeup.h
WakeUp allows to activate sleeping cores
 
user
 
app2
 
utils
 
math.h
General purpose math functions
 
size.h
Template function to determine the length of an array
 
string.h
General purpose String functions
 
types.h
Definition of standard integer types with specified widths and their limits