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