Merge text_80008894_80009144.s back into main.s

Former-commit-id: fb95ae4748
This commit is contained in:
2022-09-07 22:01:54 -07:00
parent 698c784a00
commit feff8c6ec3
5 changed files with 472 additions and 488 deletions

View File

@@ -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
}