aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/head_44x.S
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-12 00:55:47 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-12 00:55:47 -0400
commite86908614f2c7fec401827e5cefd7a6ea9407f85 (patch)
treefcb5d9e52422b37bdaf0e647126ebdfc1680f162 /arch/powerpc/kernel/head_44x.S
parent547307420931344a868275bd7ea7a30f117a15a9 (diff)
parent9b4b8feb962f4b3e74768b7205f1f8f6cce87238 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (408 commits) [POWERPC] Add memchr() to the bootwrapper [POWERPC] Implement logging of unhandled signals [POWERPC] Add legacy serial support for OPB with flattened device tree [POWERPC] Use 1TB segments [POWERPC] XilinxFB: Allow fixed framebuffer base address [POWERPC] XilinxFB: Add support for custom screen resolution [POWERPC] XilinxFB: Use pdata to pass around framebuffer parameters [POWERPC] PCI: Add 64-bit physical address support to setup_indirect_pci [POWERPC] 4xx: Kilauea defconfig file [POWERPC] 4xx: Kilauea DTS [POWERPC] 4xx: Add AMCC Kilauea eval board support to platforms/40x [POWERPC] 4xx: Add AMCC 405EX support to cputable.c [POWERPC] Adjust TASK_SIZE on ppc32 systems to 3GB that are capable [POWERPC] Use PAGE_OFFSET to tell if an address is user/kernel in SW TLB handlers [POWERPC] 85xx: Enable FP emulation in MPC8560 ADS defconfig [POWERPC] 85xx: Killed <asm/mpc85xx.h> [POWERPC] 85xx: Add cpm nodes for 8541/8555 CDS [POWERPC] 85xx: Convert mpc8560ads to the new CPM binding. [POWERPC] mpc8272ads: Remove muram from the CPM reg property. [POWERPC] Make clockevents work on PPC601 processors ... Fixed up conflict in Documentation/powerpc/booting-without-of.txt manually.
Diffstat (limited to 'arch/powerpc/kernel/head_44x.S')
-rw-r--r--arch/powerpc/kernel/head_44x.S30
1 files changed, 6 insertions, 24 deletions
diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S
index 88695963f587..409db6123924 100644
--- a/arch/powerpc/kernel/head_44x.S
+++ b/arch/powerpc/kernel/head_44x.S
@@ -50,9 +50,9 @@
50 * r7 - End of kernel command line string 50 * r7 - End of kernel command line string
51 * 51 *
52 */ 52 */
53 .text 53 .section .text.head, "ax"
54_GLOBAL(_stext) 54_ENTRY(_stext);
55_GLOBAL(_start) 55_ENTRY(_start);
56 /* 56 /*
57 * Reserve a word at a fixed location to store the address 57 * Reserve a word at a fixed location to store the address
58 * of abatron_pteptrs 58 * of abatron_pteptrs
@@ -217,16 +217,6 @@ skpinv: addi r4,r4,1 /* Increment */
217 lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */ 217 lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */
218 mtspr SPRN_IVPR,r4 218 mtspr SPRN_IVPR,r4
219 219
220#ifdef CONFIG_440EP
221 /* Clear DAPUIB flag in CCR0 (enable APU between CPU and FPU) */
222 mfspr r2,SPRN_CCR0
223 lis r3,0xffef
224 ori r3,r3,0xffff
225 and r2,r2,r3
226 mtspr SPRN_CCR0,r2
227 isync
228#endif
229
230 /* 220 /*
231 * This is where the main kernel code starts. 221 * This is where the main kernel code starts.
232 */ 222 */
@@ -329,7 +319,7 @@ interrupt_base:
329 /* If we are faulting a kernel address, we have to use the 319 /* If we are faulting a kernel address, we have to use the
330 * kernel page tables. 320 * kernel page tables.
331 */ 321 */
332 lis r11, TASK_SIZE@h 322 lis r11, PAGE_OFFSET@h
333 cmplw r10, r11 323 cmplw r10, r11
334 blt+ 3f 324 blt+ 3f
335 lis r11, swapper_pg_dir@h 325 lis r11, swapper_pg_dir@h
@@ -468,7 +458,7 @@ interrupt_base:
468 /* If we are faulting a kernel address, we have to use the 458 /* If we are faulting a kernel address, we have to use the
469 * kernel page tables. 459 * kernel page tables.
470 */ 460 */
471 lis r11, TASK_SIZE@h 461 lis r11, PAGE_OFFSET@h
472 cmplw r10, r11 462 cmplw r10, r11
473 blt+ 3f 463 blt+ 3f
474 lis r11, swapper_pg_dir@h 464 lis r11, swapper_pg_dir@h
@@ -538,7 +528,7 @@ interrupt_base:
538 /* If we are faulting a kernel address, we have to use the 528 /* If we are faulting a kernel address, we have to use the
539 * kernel page tables. 529 * kernel page tables.
540 */ 530 */
541 lis r11, TASK_SIZE@h 531 lis r11, PAGE_OFFSET@h
542 cmplw r10, r11 532 cmplw r10, r11
543 blt+ 3f 533 blt+ 3f
544 lis r11, swapper_pg_dir@h 534 lis r11, swapper_pg_dir@h
@@ -744,14 +734,6 @@ exception_stack_bottom:
744exception_stack_top: 734exception_stack_top:
745 735
746/* 736/*
747 * This space gets a copy of optional info passed to us by the bootstrap
748 * which is used to pass parameters into the kernel like root=/dev/sda1, etc.
749 */
750 .globl cmd_line
751cmd_line:
752 .space 512
753
754/*
755 * Room for two PTE pointers, usually the kernel and current user pointers 737 * Room for two PTE pointers, usually the kernel and current user pointers
756 * to their respective root page table. 738 * to their respective root page table.
757 */ 739 */