Module Name: src
Committed By: macallan
Date: Wed Feb 26 21:42:40 UTC 2014
Modified Files:
src/sys/arch/macppc/stand/ofwboot: Locore.c
Log Message:
support 601, from scole_mail
To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/macppc/stand/ofwboot/Locore.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/macppc/stand/ofwboot/Locore.c
diff -u src/sys/arch/macppc/stand/ofwboot/Locore.c:1.24 src/sys/arch/macppc/stand/ofwboot/Locore.c:1.25
--- src/sys/arch/macppc/stand/ofwboot/Locore.c:1.24 Sun Jul 17 20:54:43 2011
+++ src/sys/arch/macppc/stand/ofwboot/Locore.c Wed Feb 26 21:42:40 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: Locore.c,v 1.24 2011/07/17 20:54:43 joerg Exp $ */
+/* $NetBSD: Locore.c,v 1.25 2014/02/26 21:42:40 macallan Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -69,6 +69,12 @@ __asm(
" mtmsr %r0 \n"
" isync \n"
" \n"
+" \n" /* test for 601 */
+" mfspr %r0,287 \n" /* mfpvbr %r0 PVR = 287 */
+" srwi %r0,%r0,0x10 \n"
+" cmpi 0,1,%r0,0x02 \n" /* 601 CPU = 0x0001 */
+" blt 1f \n" /* skip over non-601 BAT setup */
+ /*non PPC 601 BATs*/
" mtibatu 0,%r0 \n"
" mtibatu 1,%r0 \n"
" mtibatu 2,%r0 \n"
@@ -84,7 +90,41 @@ __asm(
" li %r9,0x1ffe \n" /* BATU(0, BAT_BL_256M, BAT_Vs) */
" mtibatu 0,%r9 \n"
" mtdbatu 0,%r9 \n"
-" isync \n"
+" b 2f \n"
+
+ /* PPC 601 BATs*/
+"1: mtibatu 0,%r0 \n"
+" mtibatu 1,%r0 \n"
+" mtibatu 2,%r0 \n"
+" mtibatu 3,%r0 \n"
+" \n"
+" li %r9,0x7f \n"
+" mtibatl 0,%r9 \n"
+" li %r9,0x1a \n"
+" mtibatu 0,%r9 \n"
+" \n"
+" lis %r9,0x80 \n"
+" addi %r9,%r9,0x7f \n"
+" mtibatl 1,%r9 \n"
+" lis %r9,0x80 \n"
+" addi %r9,%r9,0x1a \n"
+" mtibatu 1,%r9 \n"
+" \n"
+" lis %r9,0x100 \n"
+" addi %r9,%r9,0x7f \n"
+" mtibatl 2,%r9 \n"
+" lis %r9,0x100 \n"
+" addi %r9,%r9,0x1a \n"
+" mtibatu 2,%r9 \n"
+" \n"
+" lis %r9,0x180 \n"
+" addi %r9,%r9,0x7f \n"
+" mtibatl 3,%r9 \n"
+" lis %r9,0x180 \n"
+" addi %r9,%r9,0x1a \n"
+" mtibatu 3,%r9 \n"
+" \n"
+"2: isync \n"
" \n"
" mtmsr %r8 \n"
" isync \n"