-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Eric Miao
committed
Dec 2, 2008
1 parent
c4614b8
commit b1c4897
Showing
389 changed files
with
5,137 additions
and
6,013 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: d281bc9d8a22419abc254f86a7fc268bb99914e1 | ||
refs/heads/master: afb5b5c9adb66c73b83dc39319efbacb6fb26a7d |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
/* | ||
* linux/arch/arm/boot/compressed/head-clps7500.S | ||
* | ||
* Copyright (C) 1999, 2000, 2001 Nexus Electronics Ltd | ||
*/ | ||
|
||
|
||
/* There are three different ways the kernel can be | ||
booted on a 7500 system: from Angel (loaded in RAM), from | ||
16-bit ROM or from 32-bit Flash. Luckily, a single kernel | ||
image does for them all. */ | ||
/* This branch is taken if the CPU memory width matches the | ||
actual device in use. The default at power on is 16 bits | ||
so we must be prepared for a mismatch. */ | ||
.section ".start", "ax" | ||
2: | ||
b 1f | ||
.word 0xffff | ||
.word 0xb632 @ mov r11, #0x03200000 | ||
.word 0xe3a0 | ||
.word 0x0000 @ mov r0, #0 | ||
.word 0xe3a0 | ||
.word 0x0080 @ strb r0, [r11, #0x80] | ||
.word 0xe5cb | ||
.word 0xf000 @ mov pc, #0 | ||
.word 0xe3a0 | ||
1: | ||
adr r1, 2b | ||
teq r1, #0 | ||
bne .Langel | ||
/* This is a direct-from-ROM boot. Copy the kernel into | ||
RAM and run it there. */ | ||
mov r0, #0x30 | ||
mcr p15, 0, r0, c1, c0, 0 | ||
mov r0, #0x13 | ||
msr cpsr_cxsf, r0 | ||
mov r12, #0x03000000 @ point to LEDs | ||
orr r12, r12, #0x00020000 | ||
orr r12, r12, #0xba00 | ||
mov r0, #0x5500 | ||
str r0, [r12] | ||
mov r0, #0x10000000 | ||
orr r0, r0, #0x8000 | ||
mov r4, r0 | ||
ldr r2, =_end | ||
2: | ||
ldr r3, [r1], #4 | ||
str r3, [r0], #4 | ||
teq r0, r2 | ||
bne 2b | ||
mov r0, #0xff00 | ||
str r0, [r12] | ||
1: | ||
mov r12, #0x03000000 @ point to LEDs | ||
orr r12, r12, #0x00020000 | ||
orr r12, r12, #0xba00 | ||
mov r0, #0xfe00 | ||
str r0, [r12] | ||
|
||
adr lr, 1f | ||
mov r0, #0 | ||
mov r1, #14 /* MACH_TYPE_CLPS7500 */ | ||
mov pc, lr | ||
.Langel: | ||
#ifdef CONFIG_ANGELBOOT | ||
/* Call Angel to switch into SVC mode. */ | ||
mov r0, #0x17 | ||
swi 0x123456 | ||
#endif | ||
/* Ensure all interrupts are off and MMU disabled */ | ||
mrs r0, cpsr | ||
orr r0, r0, #0xc0 | ||
msr cpsr_cxsf, r0 | ||
|
||
adr lr, 1b | ||
orr lr, lr, #0x10000000 | ||
mov r0, #0x30 @ MMU off | ||
mcr p15, 0, r0, c1, c0, 0 | ||
mov r0, r0 | ||
mov pc, lr | ||
|
||
.ltorg | ||
|
||
1: | ||
/* And the rest */ | ||
#include "head.S" |
Oops, something went wrong.