|
NeKernel dev
|
#include <HALKit/ARM64/ApplicationProcessor.h>#include <HALKit/ARM64/Processor.h>#include <KernelKit/DebugOutput.h>#include <KernelKit/HardwareThreadScheduler.h>#include <KernelKit/ProcessScheduler.h>#include <KernelKit/Timer.h>Classes | |
| struct | Kernel::HAL_HARDWARE_THREAD |
| Hardware thread information structure. More... | |
Namespaces | |
| namespace | Kernel |
| UPS inline definitions. | |
| namespace | Kernel::Detail |
| Implementation details namespace. | |
Macros | |
| #define | GICD_BASE 0x08000000 |
| #define | GICC_BASE 0x08010000 |
| #define | GICD_CTLR 0x000 |
| #define | GICD_ISENABLER 0x100 |
| #define | GICD_ICENABLER 0x180 |
| #define | GICD_ISPENDR 0x200 |
| #define | GICD_ICPENDR 0x280 |
| #define | GICD_IPRIORITYR 0x400 |
| #define | GICD_ITARGETSR 0x800 |
| #define | GICD_ICFGR 0xC00 |
| #define | GICC_CTLR 0x000 |
| #define | GICC_PMR 0x004 |
| #define | GICC_IAR 0x00C |
| #define | GICC_EOIR 0x010 |
Functions | |
| STATIC Void | Kernel::Detail::mp_setup_gic_el0 (Void) |
| Enables the GIC with EL0 configuration. | |
| EXTERN_C BOOL | Kernel::Detail::mp_handle_gic_interrupt_el0 (Void) |
| EXTERN_C HAL::StackFramePtr | Kernel::mp_get_current_task (ProcessID thrdid) |
| Get current stack frame for a thread. | |
| EXTERN_C Bool | Kernel::mp_register_task (HAL::StackFramePtr stack_frame, ProcessID thrdid) |
| Register current stack frame for a thread. | |
| Void | Kernel::mp_init_cores (Void) |
| Initialize the Global Interrupt Controller. | |
Variables | |
| STATIC HAL_HARDWARE_THREAD | Kernel::kHWThread [kMaxAPInsideSched] = {{nullptr}} |
| STATIC BOOL | Kernel::Detail::kGICEnabled = NO |
| #define GICC_BASE 0x08010000 |
| #define GICC_CTLR 0x000 |
| #define GICC_EOIR 0x010 |
| #define GICC_IAR 0x00C |
| #define GICC_PMR 0x004 |
| #define GICD_BASE 0x08000000 |
| #define GICD_CTLR 0x000 |
| #define GICD_ICENABLER 0x180 |
| #define GICD_ICFGR 0xC00 |
| #define GICD_ICPENDR 0x280 |
| #define GICD_IPRIORITYR 0x400 |
| #define GICD_ISENABLER 0x100 |
| #define GICD_ISPENDR 0x200 |
| #define GICD_ITARGETSR 0x800 |