Nugget
Bare-metal libraries and examples for the original PlayStation
Loading...
Searching...
No Matches
kernel.h
Go to the documentation of this file.
1/*
2
3MIT License
4
5Copyright (c) 2026 PCSX-Redux authors
6
7Permission is hereby granted, free of charge, to any person obtaining a copy
8of this software and associated documentation files (the "Software"), to deal
9in the Software without restriction, including without limitation the rights
10to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11copies of the Software, and to permit persons to whom the Software is
12furnished to do so, subject to the following conditions:
13
14The above copyright notice and this permission notice shall be included in all
15copies or substantial portions of the Software.
16
17THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23SOFTWARE.
24
25
26#pragma once
27
28#include <stdint.h>
29
30#include "common/kernel/threads.h"
31
32/* The monitor reaches the kernel only through what the retail BIOS kernel also
33 provides: the table of tables at 0x100, the RAM size word at 0x60, and the
34 A0/B0/C0 calls in common/syscalls. OpenBIOS lays these out identically, so the
35 same monitor runs on either. __globals and __globals60 are the host's linker
36 symbols for those two addresses, and psxprintf is the host's printf. */
37
38extern struct {
41
42extern struct {
47
48int psxprintf(const char *msg, ...);
struct @21 __globals
uint32_t ramsize
Definition kernel.h:39
void * handlersArray
Definition kernel.h:43
int psxprintf(const char *msg,...)
Definition stdio.c:332
uint32_t handlersArraySize
Definition kernel.h:44
struct Process * processes
Definition kernel.h:45
struct @20 __globals60
Definition threads.h:53
void uint32_t(classId, spec)