prime/asm/os/__ppc_eabi_init.s

32 lines
1.2 KiB
ArmAsm

.include "macros.inc"
.section .init, "ax" # 0x80003100 - 0x80005620
.global __init_hardware
__init_hardware:
/* 80003354 00000354 7C 00 00 A6 */ mfmsr r0
/* 80003358 00000358 60 00 20 00 */ ori r0, r0, 0x2000
/* 8000335C 0000035C 7C 00 01 24 */ mtmsr r0
/* 80003360 00000360 7F E8 02 A6 */ mflr r31
/* 80003364 00000364 48 0B 19 49 */ bl __OSPSInit
/* 80003368 00000368 48 0B 32 8D */ bl __OSCacheInit
/* 8000336C 0000036C 7F E8 03 A6 */ mtlr r31
/* 80003370 00000370 4E 80 00 20 */ blr
.global __flush_cache
__flush_cache:
/* 80003374 00000374 3C A0 FF FF */ lis r5, 0xFFFFFFF1@h
/* 80003378 00000378 60 A5 FF F1 */ ori r5, r5, 0xFFFFFFF1@l
/* 8000337C 0000037C 7C A5 18 38 */ and r5, r5, r3
/* 80003380 00000380 7C 65 18 50 */ subf r3, r5, r3
/* 80003384 00000384 7C 84 1A 14 */ add r4, r4, r3
lbl_80003388:
/* 80003388 00000388 7C 00 28 6C */ dcbst 0, r5
/* 8000338C 0000038C 7C 00 04 AC */ sync 0
/* 80003390 00000390 7C 00 2F AC */ icbi 0, r5
/* 80003394 00000394 30 A5 00 08 */ addic r5, r5, 8
/* 80003398 00000398 34 84 FF F8 */ addic. r4, r4, -8
/* 8000339C 0000039C 40 80 FF EC */ bge lbl_80003388
/* 800033A0 000003A0 4C 00 01 2C */ isync
/* 800033A4 000003A4 4E 80 00 20 */ blr