Classes | |
| class | Cpu |
| Generic processor base class. More... | |
| class | Freestore |
| The kernel freestore is a sequential container of bytes. More... | |
| class | Interrupt |
| The base class for an inyerrupt service routine. More... | |
| struct | ISR |
| An interrupt service routine entry. More... | |
| class | InterruptDispatcher |
| Relates hardware interrupts and software traps to routines that can service them. More... | |
| class | Marrow |
| The central core of the zygoma kernel. More... | |
| class | MemoryStrider |
| An iterator over a MemoryRange. More... | |
| class | MemoryRange |
| A template class for defining an iterable range of raw memory. More... | |
| class | MemoryManager |
| The central object which manages physical memory for the entire OS. More... | |
| class | Module |
| A loadable module. More... | |
| class | PageFrame |
| Expresses information on a Page Frame. More... | |
| class | PageFrameLinearPolicy |
| class | PageFrameSelectionPolicy |
| The Page Frame Selection Policy is used by the PageFrameTable to select an available (or replacement) page frame. More... | |
| class | PageFrameTableIterator |
| Iterators over the page frame table model STL-style random access iterators. More... | |
| class | PageFrameTable |
| The PageFrameTable maps physical RAM into used and unused page frames. More... | |
| class | ProcessDescriptor |
| A structure containing all information required to run a process. More... | |
| class | Scheduler |
| The scheduler/dispatcher for CPUs looking for something to do. More... | |
| class | SpinLockMutex |
| A MUTual EXclusion object that is lockable via a spinlock. More... | |
| class | SpinLock |
| A SpinLock. More... | |
| class | ThreadDescriptor |
| A structure containing all information required to run a thread. More... | |
Namespaces | |
| namespace | Arch |
| Brings all names defined in the architecture-specific namespace into the Zygoma::Arch namespace. | |
| namespace | ia32 |
Typedefs | |
| typedef Arch::AtomicWord | AtomicWord |
| An atomic word. | |
| typedef std::list< ISR > | ISRChain |
| A chain of interrupt service handlers. | |
| typedef std::vector< ISRChain > | ISRTable |
| A collection of ISR chains for all interrupts and exceptions. | |
| typedef Arch::KStreamBuf | KStreamBuf |
| An architecture-independant kernel stream buffer type based on an architecture-dependant implementation. | |
| typedef Arch::PhysicalAddress | PhysicalAddress |
| An address in (unmapped) physical memory. | |
| typedef Arch::u08 | u08 |
| A One-byte unsigned integral type. | |
| typedef Arch::u16 | u16 |
| A Two-byte unsigned integral type. | |
| typedef Arch::u32 | u32 |
| A Four-byte unsigned integral type. | |
Functions | |
| static u32 | getCR2 () |
| Gets the contents of Control Register 2. | |
| static void | setCR3 (u32 pagedir) |
| Sets the contents of Control Register 3. | |
| static u32 | getCR3 () |
| Gets the contents of Control Register 3. | |
| AtomicWord | atomicExchange (volatile AtomicWord *mem, AtomicWord 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, AtomicWord 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, AtomicWord value) |
Atomically adds value to the value stored at mem, stores result at mem. | |
| Freestore & | freestore () |
| Gets a reference to the global freestore object. | |
| std::basic_ostream< char > & | kerr () |
| Returns a reference to a standard IOStream object that will perform error message output to an appropriate platform-defined medium. | |
| std::basic_ostream< char > & | klog () |
| Returns a reference to a standard IOStream object that will output a log-level message to an appropriate platform-defined medium. | |
| template<int stride> | |
| bool | operator== (const MemoryStrider< stride > &lhs, const MemoryStrider< stride > &rhs) |
| Compares two memory strider objects for equality. | |
| template<int stride> | |
| bool | operator!= (const MemoryStrider< stride > &lhs, const MemoryStrider< stride > &rhs) |
| Compares two memory strider objects for equality. | |
| bool | operator== (const PageFrameTable &lhs, const PageFrameTable &rhs) |
| Compares two PageFrameTables for equality. | |
| bool | operator== (const PageFrameTableIterator &lhs, const PageFrameTableIterator &rhs) |
| Compares two PageFrameTable iterators for equality. | |
| bool | operator!= (const PageFrameTableIterator &lhs, const PageFrameTableIterator &rhs) |
| Compares two PageFrameTable iterators for inequality. | |
| bool | operator< (const PageFrameTableIterator &lhs, const PageFrameTableIterator &rhs) |
| Compares two PageFrameTable iterators for strict weak ordering. | |
| PageFrameTableIterator | operator+ (PageFrameTableIterator::difference_type n, const PageFrameTableIterator &i) |
| Adds a scalar amount to a page frame table iterator. | |
| PageFrameTableIterator | operator+ (const PageFrameTableIterator &i, PageFrameTableIterator::difference_type n) |
| Adds a scalar amount to a page frame table iterator. | |
|
|
A chain of interrupt service handlers.
|
|
|
A collection of ISR chains for all interrupts and exceptions.
|
|
|
A One-byte unsigned integral type.
|
|
|
A Two-byte unsigned integral type.
|
|
|
A Four-byte unsigned integral type.
|
|
|
Gets a reference to the global freestore object.
|
1.4.2