StuBS
File List
Here is a list of all files with brief descriptions:
 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
  
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
 
exercises
 interrupt
  
gate.h
Class Gate (Device interrupt handling)
  
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)
  
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
  
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)
  
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)
  
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
 object
  
key.cc
  
key.h
Key, an abstraction for handling pressed keys and their modifiers
  
outputstream.cc
  
outputstream.h
This file contains the OutputStream
  
pointer.h
Pointer, the Mouse state
  
stringbuffer.cc
  
stringbuffer.h
Stringbuffer composes single characters into a buffer
 
reference
 sync
  
spinlock.h
Contains the class Spinlock
  
ticketlock.h
Contains the class Ticketlock
 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
 user
  app1
   
appl.cc
   
appl.h
  app2
   
kappl.cc
   
kappl.h
KeyboardApplication to test the input
 utils
  
math.h
General purpose math functions
  
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