aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/include
diff options
context:
space:
mode:
authorspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-03-07 22:17:50 +0100
committerspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-03-07 22:17:50 +0100
commit93f0a6d23ebed50833f565f949f351c2b80853ac (patch)
tree4b6776e61dfe67955d0787251394b86bc8b72819 /libpsn00b/include
parent6174931fe58b1dc0fc64029dbe3abefc81aa67d5 (diff)
downloadpsn00bsdk-93f0a6d23ebed50833f565f949f351c2b80853ac.tar.gz
Fix critical ldscript bug and CI, add BIOS setjmp
Diffstat (limited to 'libpsn00b/include')
-rw-r--r--libpsn00b/include/psxapi.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libpsn00b/include/psxapi.h b/libpsn00b/include/psxapi.h
index e7c2e1e..1298d29 100644
--- a/libpsn00b/include/psxapi.h
+++ b/libpsn00b/include/psxapi.h
@@ -121,6 +121,12 @@ struct EXEC {
unsigned int sp,fp,rp,ret,base;
};
+struct JMP_BUF {
+ unsigned int ra, sp, fp;
+ unsigned int s0, s1, s2, s3, s4, s5, s6, s7;
+ unsigned int gp;
+};
+
// Not recommended to use these functions to install IRQ handlers
typedef struct {
@@ -211,6 +217,12 @@ void ChangeClearRCnt(int t, int m);
int Exec(struct EXEC *exec, int argc, char **argv);
void FlushCache(void);
+// BIOS setjmp functions
+void b_setjmp(struct JMP_BUF *buf);
+void b_longjmp(struct JMP_BUF *buf, int param);
+void SetDefaultExitFromException(void);
+void SetCustomExitFromException(struct JMP_BUF *buf);
+
// Misc functions
int GetSystemInfo(int index);
void *GetB0Table(void);