Skip to content

Commit 69f54b9

Browse files
authored
Merge pull request #704 from uyjulian/thmon_impl
Implementation of thmon module
2 parents c307f48 + 18b5aa0 commit 69f54b9

File tree

12 files changed

+1650
-128
lines changed

12 files changed

+1650
-128
lines changed

iop/debug/Makefile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@
66
# Licenced under Academic Free License version 2.0
77
# Review ps2sdk README & LICENSE files for further details.
88

9-
SUBDIRS = iopdebug iop_sbusdbg ioptrap sior ppctty
9+
SUBDIRS = \
10+
iop_sbusdbg \
11+
iopdebug \
12+
ioptrap \
13+
ppctty \
14+
sior \
15+
thmon
1016

1117
include $(PS2SDKSRC)/Defs.make
1218
include $(PS2SDKSRC)/Rules.make

iop/debug/thmon/Makefile

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# _____ ___ ____ ___ ____
2+
# ____| | ____| | | |____|
3+
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
4+
#-----------------------------------------------------------------------
5+
# Copyright ps2dev - http://www.ps2dev.org
6+
# Licenced under Academic Free License version 2.0
7+
# Review ps2sdk README & LICENSE files for further details.
8+
9+
IOP_INCS += \
10+
-I$(PS2SDKSRC)/iop/system/intrman/include \
11+
-I$(PS2SDKSRC)/iop/system/ioman/include \
12+
-I$(PS2SDKSRC)/iop/system/loadcore/include \
13+
-I$(PS2SDKSRC)/iop/system/stdio/include \
14+
-I$(PS2SDKSRC)/iop/system/sysclib/include \
15+
-I$(PS2SDKSRC)/iop/system/sysmem/include \
16+
-I$(PS2SDKSRC)/iop/system/threadman/include \
17+
-I$(PS2SDKSRC)/iop/system/threadman/src/include
18+
19+
IOP_OBJS = thmon.o imports.o
20+
21+
include $(PS2SDKSRC)/Defs.make
22+
include $(PS2SDKSRC)/iop/Rules.bin.make
23+
include $(PS2SDKSRC)/iop/Rules.make
24+
include $(PS2SDKSRC)/iop/Rules.release

iop/debug/thmon/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Simple Thread Monitor
2+
3+
This module provides an interface on `tty9:` (accessible from dsicons) to monitor threads on the IOP.
4+
5+
## Configurations
6+
7+
There are multiple configurations of this library, allowing the choice of
8+
balancing between size, speed, and features.
9+
10+
* `thmon` -> The recommended version.
11+
12+
## How to use this module in your program
13+
14+
In order to use this module in your program, use `LoadModule` or \
15+
`LoadModuleBuffer` with, optionally, a single integer for added stack size.

iop/debug/thmon/src/imports.lst

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
2+
sysmem_IMPORTS_start
3+
I_QueryMaxFreeMemSize
4+
I_QueryTotalFreeMemSize
5+
I_Kprintf
6+
sysmem_IMPORTS_end
7+
8+
intrman_IMPORTS_start
9+
I_EnableIntr
10+
I_DisableIntr
11+
I_CpuSuspendIntr
12+
I_CpuResumeIntr
13+
intrman_IMPORTS_end
14+
15+
stdio_IMPORTS_start
16+
I_printf
17+
I_fdprintf
18+
I_fdgetc
19+
I_fdgets
20+
stdio_IMPORTS_end
21+
22+
sysclib_IMPORTS_start
23+
I_toupper
24+
I_look_ctype_table
25+
I_strcmp
26+
I_strcpy
27+
I_strlen
28+
I_strncmp
29+
I_strncpy
30+
I_strtol
31+
sysclib_IMPORTS_end
32+
33+
thbase_IMPORTS_start
34+
I_GetThreadmanData
35+
I_CreateThread
36+
I_StartThread
37+
I_GetThreadId
38+
I_ReferThreadStatus
39+
I_DelayThread
40+
I_GetSystemTime
41+
I_SysClock2USec
42+
thbase_IMPORTS_end
43+
44+
thevent_IMPORTS_start
45+
I_ReferEventFlagStatus
46+
thevent_IMPORTS_end
47+
48+
thsemap_IMPORTS_start
49+
I_ReferSemaStatus
50+
thsemap_IMPORTS_end
51+
52+
thmsgbx_IMPORTS_start
53+
I_ReferMbxStatus
54+
thmsgbx_IMPORTS_end
55+
56+
thfpool_IMPORTS_start
57+
I_ReferFplStatus
58+
thfpool_IMPORTS_end
59+
60+
thvpool_IMPORTS_start
61+
I_ReferVplStatus
62+
thvpool_IMPORTS_end
63+
64+
loadcore_IMPORTS_start
65+
I_GetLoadcoreInternalData
66+
loadcore_IMPORTS_end
67+
68+
ioman_IMPORTS_start
69+
I_open
70+
ioman_IMPORTS_end

iop/debug/thmon/src/irx_imports.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
#ifndef IOP_IRX_IMPORTS_H
3+
#define IOP_IRX_IMPORTS_H
4+
5+
#include <irx.h>
6+
7+
#include <intrman.h>
8+
#include <ioman.h>
9+
#include <loadcore.h>
10+
#include <stdio.h>
11+
#include <sysclib.h>
12+
#include <sysmem.h>
13+
#include <thbase.h>
14+
#include <thevent.h>
15+
// #include <thfpool.h>
16+
#include <thmsgbx.h>
17+
#include <thsemap.h>
18+
// #include <thvpool.h>
19+
#include <thpool.h>
20+
21+
#endif /* IOP_IRX_IMPORTS_H */

0 commit comments

Comments
 (0)