Nugget
|
#include <EASTL/functional.h>
#include <stdint.h>
#include <source_location>
Go to the source code of this file.
Namespaces | |
namespace | psyqo |
namespace | psyqo::Kernel |
The Kernel namespace for internal use. | |
namespace | psyqo::Kernel::Internal |
Enumerations | |
enum class | psyqo::Kernel::DMA : unsigned { psyqo::Kernel::MDECin , psyqo::Kernel::MDECout , psyqo::Kernel::GPU , psyqo::Kernel::CDRom , psyqo::Kernel::SPU , psyqo::Kernel::EXP1 , psyqo::Kernel::OTC , psyqo::Kernel::Max } |
enum class | psyqo::Kernel::IRQ : unsigned { psyqo::Kernel::VBlank , psyqo::Kernel::GPU , psyqo::Kernel::CDRom , psyqo::Kernel::DMA , psyqo::Kernel::Timer0 , psyqo::Kernel::Timer1 , psyqo::Kernel::Timer2 , psyqo::Kernel::Controller , psyqo::Kernel::SIO , psyqo::Kernel::SPU , psyqo::Kernel::PIO , psyqo::Kernel::Max } |
Functions | |
void | psyqo::Kernel::Internal::abort (const char *msg, std::source_location location=std::source_location::current()) |
void | psyqo::Kernel::Internal::abort () |
void | psyqo::Kernel::takeOverKernel () |
Takes over the kernel. Can only be called once inside the main function. | |
bool | psyqo::Kernel::isKernelTakenOver () |
Returns whether the kernel has been taken over. | |
void | psyqo::Kernel::queueIRQHandler (IRQ irq, eastl::function< void()> &&lambda) |
Queues an IRQ handler to be called from the exception handler. | |
uint32_t | psyqo::Kernel::openEvent (uint32_t classId, uint32_t spec, uint32_t mode, eastl::function< void()> &&lambda) |
A C++ wrapper around the openEvent syscall. | |
unsigned | psyqo::Kernel::registerDmaEvent (DMA channel, eastl::function< void()> &&lambda) |
Sets an ISR callback for a given DMA channel. | |
void | psyqo::Kernel::flushCache () |
Flushes the i-cache. | |
void | psyqo::Kernel::enableDma (DMA channel, unsigned priority=7) |
Enables the given DMA channel. | |
void | psyqo::Kernel::disableDma (DMA channel) |
Disables the given DMA channel. | |
void | psyqo::Kernel::unregisterDmaEvent (unsigned slot) |
Frees the given DMA callback slot. | |
void | psyqo::Kernel::queueCallback (eastl::function< void()> &&lambda) |
Queues a callback to be called from the main thead. | |
void | psyqo::Kernel::queueCallbackFromISR (eastl::function< void()> &&lambda) |
Queues a callback to be called from the main thead. | |
void | psyqo::Kernel::setBreakHandler (unsigned category, eastl::function< bool(uint32_t)> &&handler) |
Sets a break handler for a given category. | |
void | psyqo::Kernel::queuePsyqoBreakHandler (eastl::function< bool(uint32_t)> &&handler) |
Queues a break handler for psyqo's reserved category. | |
void | psyqo::Kernel::Internal::pumpCallbacks () |
void | psyqo::Kernel::Internal::prepare (Application &) |
void | psyqo::Kernel::Internal::addInitializer (eastl::function< void(Application &)> &&lambda) |
void | psyqo::Kernel::Internal::addOnFrame (eastl::function< void()> &&lambda) |
void | psyqo::Kernel::Internal::beginFrame () |
void | psyqo::Kernel::assert (bool condition, const char *message, std::source_location location=std::source_location::current()) |
A simple assert macro. | |