mirror of
https://github.com/brain-hackers/brainlilo
synced 2025-01-19 01:40:04 +09:00
98a6ae1c54
* Add support 1st generation Brain Address information was given by pepepper. Thank you! * Use CamelCase to name enum types * Update BrainLILODrv.cpp Co-authored-by: Takumi Sueda <puhitaku@gmail.com> * simplify BrainGen enum types * Remove redundant debu log * Fix Gen2 and later addresses Co-authored-by: Toshifumi NISHINAGA <tnishinaga.dev@gmail.com> Co-authored-by: Toshifumi NISHINAGA <tnishinaga@users.noreply.github.com> Co-authored-by: pepepper <hollyholly2014@outlook.jp>
31 lines
660 B
ArmAsm
31 lines
660 B
ArmAsm
.align 4
|
|
|
|
.global EDNA2_physicalInvoker
|
|
EDNA2_physicalInvoker:
|
|
// r0-r7=params
|
|
// r8=proc address
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
msr cpsr_c, #211 // to supervisor mode
|
|
mov r9, #0
|
|
mcr p15,0,r9,c13,c0,0 // clear fcse PID
|
|
mrc p15,0,r9,c1,c0,0 // read ctrl regs
|
|
bic r9, r9, #5 // disable MMU/DCache
|
|
bic r9, r9, #4096 // disable ICache
|
|
orr r9, r9, #8192 // and reset vectors to upper
|
|
mcr p15,0,r9,c1,c0,0 // write ctrl regs
|
|
mov r9, #0
|
|
mcr p15,0,r9,c7,c7,0 // invalidate cache
|
|
mcr p15,0,r9,c8,c7,0 // invalidate tlb
|
|
mov pc, r8
|
|
nop
|
|
nop
|