| ► 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 |