FreeNOS
Public Member Functions | Static Private Member Functions | Private Attributes
SunxiKernel Class Reference

Represents the Sunxi kernel implementation. More...

#include <SunxiKernel.h>

Inheritance diagram for SunxiKernel:
ARMKernel Kernel WeakSingleton< Kernel >

Public Member Functions

 SunxiKernel (CoreInfo *info)
 Constructor function. More...
 
- Public Member Functions inherited from ARMKernel
 ARMKernel (CoreInfo *info)
 Constructor function. More...
 
- Public Member Functions inherited from Kernel
 Kernel (CoreInfo *info)
 Constructor function. More...
 
SplitAllocatorgetAllocator ()
 Get physical memory allocator. More...
 
ProcessManagergetProcessManager ()
 Get process manager. More...
 
APIgetAPI ()
 Get API. More...
 
MemoryContextgetMemoryContext ()
 Get the current MMU context. More...
 
CoreInfogetCoreInfo ()
 Get CoreInfo. More...
 
TimergetTimer ()
 Get Timer. More...
 
int run ()
 Execute the kernel. More...
 
virtual void enableIRQ (u32 irq, bool enabled)
 Enable or disable an hardware interrupt (IRQ). More...
 
virtual Result sendIRQ (const uint coreId, const uint irq)
 Send a inter-processor-interrupt (IPI) to another core. More...
 
virtual void hookIntVector (u32 vec, InterruptHandler h, ulong p)
 Hooks a function to an hardware interrupt. More...
 
virtual void executeIntVector (u32 vec, CPUState *state)
 Execute an interrupt handler. More...
 
virtual Result loadBootImage ()
 Loads the boot image. More...
 
- Public Member Functions inherited from WeakSingleton< Kernel >
 WeakSingleton (Kernel *obj)
 Constructor. More...
 

Static Private Member Functions

static void interrupt (CPUState state)
 Interrupt handler routine. More...
 

Private Attributes

ARMGenericInterrupt m_gic
 ARM Generic Interrupt Controller. More...
 
ARMTimer m_armTimer
 ARM generic timer. More...
 

Additional Inherited Members

- Public Types inherited from Kernel
enum  Result { Success, InvalidBootImage, ProcessError, IOError }
 Result codes. More...
 
- Static Public Member Functions inherited from Kernel
static Error initializeHeap ()
 Initialize heap. More...
 
- Static Public Member Functions inherited from WeakSingleton< Kernel >
static Kernelinstance ()
 Retrieve the instance. More...
 
- Protected Attributes inherited from ARMKernel
ARMException m_exception
 ARM exception handling subsystem. More...
 
- Protected Attributes inherited from Kernel
SplitAllocatorm_alloc
 Physical memory allocator. More...
 
ProcessManagerm_procs
 Process Manager. More...
 
APIm_api
 API handlers object. More...
 
CoreInfom_coreInfo
 CoreInfo object for this core. More...
 
Vector< List< InterruptHook * > * > m_interrupts
 Interrupt handlers. More...
 
IntControllerm_intControl
 Interrupt Controller. More...
 
Timerm_timer
 Timer device. More...
 

Detailed Description

Represents the Sunxi kernel implementation.

Definition at line 36 of file SunxiKernel.h.

Constructor & Destructor Documentation

◆ SunxiKernel()

SunxiKernel::SunxiKernel ( CoreInfo info)

Member Function Documentation

◆ interrupt()

void SunxiKernel::interrupt ( CPUState  state)
staticprivate

Field Documentation

◆ m_armTimer

ARMTimer SunxiKernel::m_armTimer
private

ARM generic timer.

Definition at line 62 of file SunxiKernel.h.

Referenced by SunxiKernel().

◆ m_gic

ARMGenericInterrupt SunxiKernel::m_gic
private

ARM Generic Interrupt Controller.

Definition at line 59 of file SunxiKernel.h.

Referenced by SunxiKernel().


The documentation for this class was generated from the following files: