@@ -5,67 +5,85 @@ add_subdirectory(src/osdsrc)
55add_subdirectory (src/srcfile )
66add_subdirectory (src/tlbsrc )
77
8- add_library (kernel )
9- target_include_directories (kernel PUBLIC include )
10- target_include_directories (kernel PRIVATE
8+ add_library (kernel_iface INTERFACE )
9+ target_include_directories (kernel_iface INTERFACE
1110 ${EE_INC}
1211 ${PROJECT_SOURCE_DIR } /rpc/cdvd/include
1312)
1413
15- compile_multiple (kernel src/sifcmd.c OBJECTS
16- sif_cmd_send.o _sif_cmd_int_handler.o sif_cmd_main.o
17- sif_cmd_client.o sif_cmd_remove_cmdhandler.o sif_sreg_get.o
14+ compile_multiple (KERNEL_OBJECTS kernel_iface src/sifcmd.c OBJECTS
15+ _SifSendCmd.o
16+ sceSifSendCmd.o
17+ isceSifSendCmd.o
18+ _SifCmdIntHandler.o
19+ sif_cmd_main.o
20+ sceSifSetCmdBuffer.o
21+ sceSifSetSysCmdBuffer.o
22+ sceSifAddCmdHandler.o
23+ sceSifRemoveCmdHandler.o
24+ sceSifGetSreg.o
25+ sceSifSetSreg.o
1826)
1927
20- compile_multiple (kernel src/sifrpc.c OBJECTS
21- SifBindRpc.o SifCallRpc.o SifRpcGetOtherData.o
22- SifRegisterRpc.o SifRemoveRpc.o SifSetRpcQueue.o SifRemoveRpcQueue.o SifGetNextRequest.o
23- SifExecRequest.o SifRpcLoop.o SifRpcMain.o _rpc_get_packet.o
24- _rpc_get_fpacket.o SifCheckStatRpc.o
28+ compile_multiple (KERNEL_OBJECTS kernel_iface src/sifrpc.c OBJECTS
29+ _rpc_get_packet.o
30+ _rpc_get_fpacket.o
31+ sceSifBindRpc.o
32+ sceSifCallRpc.o
33+ sceSifGetOtherData.o
34+ SifRpcMain.o
35+ sceSifRegisterRpc.o
36+ sceSifRemoveRpc.o
37+ sceSifSetRpcQueue.o
38+ sceSifRemoveRpcQueue.o
39+ sceSifGetNextRequest.o
40+ sceSifExecRequest.o
41+ sceSifRpcLoop.o
42+ sceSifCheckStatRpc.o
2543)
2644
27- compile_multiple (kernel src/fileio.c OBJECTS
45+ compile_multiple (KERNEL_OBJECTS kernel_iface src/fileio.c OBJECTS
2846 __fio_internals.o fio_init.o _fio_intr.o fio_sync.o fio_setblockmode.o
29- fio_exit.o fio_open.o fio_close.o fio_read.o
47+ fio_exit.o fio_open.o fio_close.o fio_read.o
3048 fio_write.o fio_lseek.o fio_mkdir.o _fio_read_intr.o fio_getc.o fio_putc.o
3149 fio_ioctl.o fio_dopen.o fio_dclose.o fio_dread.o fio_getstat.o fio_chstat.o
3250 fio_remove.o fio_format.o fio_rmdir.o fio_gets.o
3351)
3452
35- compile_multiple (kernel src/loadfile.c OBJECTS
36- SifLoadFileInit.o SifLoadFileExit.o _SifLoadModule.o SifLoadModule.o
53+ compile_multiple (KERNEL_OBJECTS kernel_iface src/loadfile.c OBJECTS
54+ SifLoadFileInit.o SifLoadFileExit.o _SifLoadModule.o SifLoadModule.o
3755 SifLoadStartModule.o SifLoadModuleEncrypted.o SifStopModule.o SifUnloadModule.o
3856 SifSearchModuleByName.o SifSearchModuleByAddress.o _SifLoadElfPart.o SifLoadElfPart.o
3957 SifLoadElf.o SifLoadElfEncrypted.o SifIopSetVal.o SifIopGetVal.o
4058 _SifLoadModuleBuffer.o SifLoadModuleBuffer.o SifLoadStartModuleBuffer.o
4159 SifExecModuleBuffer.o SifExecModuleFile.o
4260)
4361
44- compile_multiple (kernel src/iopheap.c OBJECTS
62+ compile_multiple (KERNEL_OBJECTS kernel_iface src/iopheap.c OBJECTS
4563 SifInitIopHeap.o SifExitIopHeap.o SifAllocIopHeap.o
4664 SifFreeIopHeap.o SifLoadIopHeap.o
4765)
4866
49- compile_multiple (kernel src/iopcontrol.c OBJECTS
67+ compile_multiple (KERNEL_OBJECTS kernel_iface src/iopcontrol.c OBJECTS
5068 SifIopReboot.o SifIopReset.o SifIopIsAlive.o SifIopSync.o __iop_control_internals.o
5169)
5270
53- compile_multiple (kernel src/glue.c OBJECTS
71+ compile_multiple (KERNEL_OBJECTS kernel_iface src/glue.c OBJECTS
5472 DIntr.o EIntr.o EnableIntc.o DisableIntc.o EnableDmac.o DisableDmac.o
5573 iEnableIntc.o iDisableIntc.o iEnableDmac.o iDisableDmac.o
5674 SyncDCache.o iSyncDCache.o InvalidDCache.o iInvalidDCache.o
5775)
5876
59- compile_multiple (kernel src/sio.c OBJECTS
77+ compile_multiple (KERNEL_OBJECTS kernel_iface src/sio.c OBJECTS
6078 sio_init.o sio_putc.o sio_getc.o sio_write.o sio_read.o sio_puts.o
6179 sio_gets.o sio_getc_block.o sio_flush.o sio_putsn.o
6280)
6381
64- compile_multiple (kernel src/rom0_info.c OBJECTS
82+ compile_multiple (KERNEL_OBJECTS kernel_iface src/rom0_info.c OBJECTS
6583 _info_internals.o GetRomNameWithIODriver.o GetRomName.o IsDESRMachineWithIODriver.o IsDESRMachine.o IsT10KWithIODriver.o IsT10K.0
6684)
6785
68- compile_multiple (kernel src/osd_config.c OBJECTS
86+ compile_multiple (KERNEL_OBJECTS kernel_iface src/osd_config.c OBJECTS
6987 _config_internals.o converttobcd.o convertfrombcd.o __adjustTime.o IsEarlyJap.o
7088 configGetLanguageWithIODriver.o configGetLanguage.o
7189 configSetLanguageWithIODriver.o configSetLanguage.o
@@ -84,25 +102,15 @@ compile_multiple(kernel src/osd_config.c OBJECTS
84102 configConvertToGmtTime.o configConvertToLocalTimeWithIODriver.o configConvertToLocalTime.o
85103)
86104
87- bin_include (osdsrc osdsrc_bin )
88- target_sources (kernel PRIVATE src/libosd.c src/libosd_full.c src/libosd_common.c osdsrc_bin.c )
89-
90- bin_include (tlbsrc tlbsrc_bin )
91- target_sources (kernel PRIVATE src/tlbfunc.c tlbsrc_bin.c )
92-
93- bin_include (eenull eenull_bin )
94- bin_include (srcfile srcfile_bin )
95- target_sources (kernel PRIVATE src/alarm.c srcfile_bin.c )
96-
97- compile_multiple (kernel src/thread.c OBJECTS
105+ compile_multiple (KERNEL_OBJECTS kernel_iface src/thread.c OBJECTS
98106 _thread_internals.o iWakeupThread.o iRotateThreadReadyQueue.o iSuspendThread.o )
99107
100- compile_multiple (kernel src/setup.c OBJECTS kCopy.o kCopyBytes.o )
108+ compile_multiple (KERNEL_OBJECTS kernel_iface src/setup.c OBJECTS kCopy.o kCopyBytes.o )
101109
102- compile_multiple (kernel src/exit.c OBJECTS
110+ compile_multiple (KERNEL_OBJECTS kernel_iface src/exit.c OBJECTS
103111 _exit_internals.o SetArg.o Exit.o ExecPS2.o LoadExecPS2.o ExecOSD.o )
104112
105- compile_multiple (kernel src/timer.c OBJECTS
113+ compile_multiple (KERNEL_OBJECTS kernel_iface src/timer.c OBJECTS
106114 timer_data.o
107115 SetT2.o
108116 SetT2_COUNT.o
@@ -143,7 +151,7 @@ compile_multiple(kernel src/timer.c OBJECTS
143151 cpu_ticks.o
144152)
145153
146- compile_multiple (kernel src/timer_alarm.c OBJECTS
154+ compile_multiple (KERNEL_OBJECTS kernel_iface src/timer_alarm.c OBJECTS
147155 alarm_data.o
148156 ForTimer_InitAlarm.o
149157 AlarmHandler.o
@@ -153,14 +161,14 @@ compile_multiple(kernel src/timer_alarm.c OBJECTS
153161 ReleaseTimerAlarm.o
154162)
155163
156- compile_multiple (kernel src/delaythread.c OBJECTS DelayThread.o )
164+ compile_multiple (KERNEL_OBJECTS kernel_iface src/delaythread.c OBJECTS DelayThread.o )
157165
158- compile_multiple (kernel src/getkernel.c OBJECTS
166+ compile_multiple (KERNEL_OBJECTS kernel_iface src/getkernel.c OBJECTS
159167 GetSyscallHandler.o GetSyscall.o GetExceptionHandler.o GetInterruptHandler.o )
160168
161- compile_multiple (kernel src/initsys.c OBJECTS _InitSys.o TerminateLibrary.o )
169+ compile_multiple (KERNEL_OBJECTS kernel_iface src/initsys.c OBJECTS _InitSys.o TerminateLibrary.o )
162170
163- compile_multiple (kernel src/kernel_util.c OBJECTS WaitSemaEx.o )
171+ compile_multiple (KERNEL_OBJECTS kernel_iface src/kernel_util.c OBJECTS WaitSemaEx.o )
164172
165173# IDK why these were on their own in the makefile, keep it for now
166174set (EXEC_SYSCALLS KExit.o _LoadExecPS2.o _ExecPS2.o)
@@ -172,7 +180,7 @@ set(IWAKEUP_THREAD_SYSCALL _iWakeupThread.o)
172180set (ISUSPEND_THREAD_SYSCALL _iSuspendThread.o)
173181set (TLB_SYSCALLS PutTLBEntry.o iPutTLBEntry.o _SetTLBEntry.o iSetTLBEntry.o GetTLBEntry.o iGetTLBEntry.o ProbeTLBEntry.o iProbeTLBEntry.o ExpandScratchPad.o)
174182
175- compile_multiple (kernel src/kernel.S OBJECTS
183+ compile_multiple (KERNEL_OBJECTS kernel_iface src/kernel.S OBJECTS
176184 ResetEE.o SetGsCrt.o ${EXEC_SYSCALLS}
177185 RFU009.o AddSbusIntcHandler.o RemoveSbusIntcHandler.o Interrupt2Iop.o
178186 SetVTLBRefillHandler.o SetVCommonHandler.o SetVInterruptHandler.o
@@ -196,20 +204,34 @@ compile_multiple(kernel src/kernel.S OBJECTS
196204 EnableIntcHandler.o iEnableIntcHandler.o DisableIntcHandler.o iDisableIntcHandler.o
197205 EnableDmacHandler.o iEnableDmacHandler.o DisableDmacHandler.o iDisableDmacHandler.o
198206 KSeg0.o EnableCache.o DisableCache.o GetCop0.o FlushCache.o CpuConfig.o
199- iGetCop0.o iFlushCache.o RFU105.o iCpuConfig.o SifStopDma .o
207+ iGetCop0.o iFlushCache.o RFU105.o iCpuConfig.o sceSifStopDma .o
200208 SetCPUTimerHandler.o SetCPUTimer.o SetOsdConfigParam2.o
201209 GetOsdConfigParam2.o GsGetIMR.o iGsGetIMR.o GsPutIMR.o iGsPutIMR.o
202- SetPgifHandler.o SetVSyncFlag.o SetSyscall.o SifDmaStat .o iSifDmaStat .o
203- SifSetDma .o iSifSetDma .o SifSetDChain .o iSifSetDChain .o SifSetReg .o
204- SifGetReg .o ${EXECOSD_SYSCALL} Deci2Call.o PSMode.o MachineType.o GetMemorySize.o _GetGsDxDyOffset.o
205- _InitTLB.o SetMemoryMode.o
206- SifWriteBackDCache .o _SyncDCache.o _InvalidDCache.o __errno.o errno.o
210+ SetPgifHandler.o SetVSyncFlag.o SetSyscall.o sceSifDmaStat .o isceSifDmaStat .o
211+ sceSifSetDma .o isceSifSetDma .o sceSifSetDChain .o isceSifSetDChain .o sceSifSetReg .o
212+ sceSifGetReg .o ${EXECOSD_SYSCALL} Deci2Call.o PSMode.o MachineType.o GetMemorySize.o _GetGsDxDyOffset.o
213+ _InitTLB.o SetMemoryMode.o GetMemoryMode.o
214+ sceSifWriteBackDCache .o _SyncDCache.o _InvalidDCache.o __errno.o errno.o
207215 strncpy.o strlen.o memcpy.o memset.o __syscall.o GPfuncs.o _print.o
208216)
209217
218+ add_library (kernel ${KERNEL_OBJECTS} )
219+ target_link_libraries (kernel PRIVATE kernel_iface )
220+
221+ bin_include (osdsrc osdsrc_bin )
222+ target_sources (kernel PRIVATE src/libosd.c src/libosd_full.c src/libosd_common.c osdsrc_bin.c )
223+
224+ bin_include (tlbsrc tlbsrc_bin )
225+ target_sources (kernel PRIVATE src/tlbfunc.c tlbsrc_bin.c )
226+
227+ bin_include (eenull eenull_bin )
228+ bin_include (srcfile srcfile_bin )
229+ target_sources (kernel PRIVATE src/alarm.c srcfile_bin.c )
230+
210231target_sources (kernel PRIVATE src/setup_syscalls.S src/debug.c src/erl-support.c )
232+ target_include_directories (kernel PUBLIC include )
211233
212234file (GLOB KERNEL_INCLUDE_FILES "include/*.h*" )
213235set_target_properties (kernel PROPERTIES PUBLIC_HEADER "${KERNEL_INCLUDE_FILES} " )
214236
215- install (TARGETS kernel)
237+ install (TARGETS kernel)
0 commit comments