Classes | |
class | LocalApic |
A description of the Local Advanced Programmable Interrupt Controller. More... | |
class | Descriptor |
A segment descriptor is a data structure in a GDT or LDT that provides the processor with the size, location, type, and access control, and status of a memory segment. More... | |
class | TaskGate |
class | InterruptGate |
class | TrapGate |
Identical to Interrupt Gate except m_type == 7. More... | |
class | IA32_Marrow |
class | IDT |
An interrupt descriptor table implements a vectored interrupt dispatch mechanism. More... | |
class | IOApicRedirection |
An IO APIC redirection table entry. More... | |
class | IOApic |
A description of the I/O Advanced Programmable Interrupt Controller. More... | |
struct | MultibootHeader |
Header found in the OS image describing the OSs' needs to the bootloader. More... | |
struct | LoadModuleDescriptor |
Multiboot Load Module descriptor. More... | |
struct | MemoryMapDescriptor |
Multiboot System Memory Map descriptor. More... | |
struct | DiskDriveMapDescriptor |
Multiboot Disk Drive Map desriptor. More... | |
struct | MultibootInfo |
Structure passed to the OS by the multiboot loader on startup. More... | |
class | PageBaseEntry |
class | PageDirectoryEntry |
class | PageTableEntry |
class | PageDirectory |
class | PageTable |
class | VgaStreambuf |
The VgaStreambuf providea a concrete basic_streambuf that sends its output to the VGA console. More... | |
Namespaces | |
namespace | Acpi |
namespace | MPS |
This namespace comtains the software cluster for The Intel Multiprocessor Specification. | |
Typedefs | |
typedef int | AtomicWord |
A platform-specific atomically-addressable value. | |
typedef bool(* | InterruptHandlerTrampoline )(int interruptNumber) |
The type of the trampoline function for invoking an interrupt handler from an interrupt gate. | |
typedef VgaStreambuf< char > | KStreamBuf |
typedef unsigned long | PhysicalAddress |
A physical address in the memory space. | |
typedef unsigned char | u08 |
A One-byte unsigned integral type. | |
typedef unsigned short | u16 |
A Two-byte unsigned integral type. | |
typedef unsigned long | u32 |
A Four-byte unsigned integral type. | |
Enumerations | |
enum | Faults { kFAULT_DIVIDE_ERROR = 0, kFAULT_RESERVED_1 = 1, kFAULT_NMI = 2, kFAULT_BREAKPOINT = 3, kFAULT_OVERFLOW = 4, kFAULT_BOUND_EXCEEDED = 5, kFAULT_INVALID_OPCODE = 6, kFAULT_DEVICE_NOT_AVAILABLE, kFAULT_DOUBLE_FAULT = 8, kFAULT_SEGMENT_OVERRUN = 9, kFAULT_INVALID_TSS = 10, kFAULT_SEGMENT_NOT_PRESENT, kFAULT_STACK_SEGMENT_FAULT, kFAULT_GENERAL_PROTECTION, kFAULT_PAGE_FAULT = 14, kFAULT_RESERVED_15, kFAULT_FPU_ERROR = 16, kFAULT_ALIGNMENT_CHECK, kFAULT_MACHINE_CHECK = 18, kFAULT_SIMD_EXCEPTION = 19, kFAULT_RESERVED_20 } |
Intel Protected-mode exceptions and interrupts. More... | |
Functions | |
std::ostream & | operator<< (std::ostream &ostr, LocalApic &apic) |
Streams a local APIC to an output stream. | |
AtomicWord | atomicExchange (volatile AtomicWord *mem, int value) |
Atomically exchanges the value found at "mem" with the value passed in as "value," returns the original value found at "mem". | |
AtomicWord | atomicExchangeAndAdd (volatile AtomicWord *mem, int value) |
Atomically sets the value at "mem" to "value," returns the sum of "value" and the value originally found at "mem". | |
void | atomicAdd (volatile AtomicWord *mem, int value) |
Atomically adds "value" to the value stored at "mem," stores result at "mem. | |
std::ostream & | operator<< (std::ostream &ostr, const InterruptGate &gate) |
Dumps an interrupt gate to an output stream. | |
std::ostream & | operator<< (std::ostream &ostr, const IDT &idt) |
Dumps an interrupt descriptor table to an output stream. | |
std::ostream & | operator<< (std::ostream &ostr, IOApic &ioapic) |
Streams an IOAPIC to an output stream. | |
u32 | endOfMemory (MultibootInfo *mbinfo) |
Calculates the end of physical memory from information supplied by the multiboot loader. | |
int | vgaWriteChar (char c) |
Displays a character at the next cursor position on the VGA screen. | |
Variables | |
IDT * | gIDT |
Global access point for the system interrupt manager. | |
const unsigned int | PAGE_FRAME_SIZE = 4096 |
MultibootInfo * | g_multibootInfo |
A global pointer to the multiboot info table initialized by the loader. |
|
The type of the trampoline function for invoking an interrupt handler from an interrupt gate.
|
|
|
|
A physical address in the memory space. The Physical Address is what's sent out along the physical address buf after all the logical and linear mapping has been done through the page table and segmentation and tar and feathers provided by the system to hide the physical addresses from the programmer. |
|
|
Calculates the end of physical memory from information supplied by the multiboot loader.
Here is the call graph for this function: |
|
Streams an IOAPIC to an output stream.
Here is the call graph for this function: |
|
Dumps an interrupt descriptor table to an output stream.
Here is the call graph for this function: |
|
Dumps an interrupt gate to an output stream.
|
|
Streams a local APIC to an output stream.
Here is the call graph for this function: |
|
Displays a character at the next cursor position on the VGA screen.
|
|
A global pointer to the multiboot info table initialized by the loader.
|
|
Global access point for the system interrupt manager.
|
|
|