mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-21 17:39:11 +00:00
Merge text_80008894_80009144.s back into main.s
Former-commit-id: fb95ae4748
This commit is contained in:
@@ -8,7 +8,7 @@ void __OSPSInit();
|
||||
void __OSCacheInit();
|
||||
|
||||
asm void __init_hardware(void) {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
nofralloc
|
||||
mfmsr r0
|
||||
ori r0, r0, 0x2000
|
||||
@@ -19,14 +19,14 @@ asm void __init_hardware(void) {
|
||||
bl __OSCacheInit
|
||||
mtlr r31
|
||||
blr
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
asm void __flush_cache(register void* address, register unsigned int size) {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
nofralloc
|
||||
lis r5, 0xFFFF
|
||||
ori r5, r5, 0xFFF1
|
||||
lis r5, ~0
|
||||
ori r5, r5, ~14
|
||||
and r5, r5, r3
|
||||
subf r3, r5, r3
|
||||
add r4, r4, r3
|
||||
@@ -40,36 +40,27 @@ loop:
|
||||
bge loop
|
||||
isync
|
||||
blr
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
|
||||
void __init_user() {
|
||||
__init_cpp();
|
||||
}
|
||||
void __init_user() { __init_cpp(); }
|
||||
|
||||
typedef void (*voidfunctionptr)(void); // pointer to function returning void
|
||||
__declspec(section ".init") extern voidfunctionptr _ctors[];
|
||||
__declspec(section ".init") extern voidfunctionptr _dtors[];
|
||||
|
||||
#pragma push
|
||||
#pragma peephole off
|
||||
void __init_cpp(void)
|
||||
{
|
||||
voidfunctionptr *constructor;
|
||||
void __init_cpp(void) {
|
||||
voidfunctionptr* constructor;
|
||||
|
||||
/*
|
||||
* call static initializers
|
||||
*/
|
||||
for (constructor = _ctors; *constructor; constructor++) {
|
||||
(*constructor)();
|
||||
}
|
||||
/*
|
||||
* call static initializers
|
||||
*/
|
||||
for (constructor = _ctors; *constructor; constructor++) {
|
||||
(*constructor)();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
void _ExitProcess(void) {
|
||||
PPCHalt();
|
||||
}
|
||||
void _ExitProcess(void) { PPCHalt(); }
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user