summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/mpc750/mmu/bat.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu/powerpc/mpc750/mmu/bat.c')
-rw-r--r--c/src/lib/libcpu/powerpc/mpc750/mmu/bat.c64
1 files changed, 0 insertions, 64 deletions
diff --git a/c/src/lib/libcpu/powerpc/mpc750/mmu/bat.c b/c/src/lib/libcpu/powerpc/mpc750/mmu/bat.c
deleted file mode 100644
index e39ab96ec5..0000000000
--- a/c/src/lib/libcpu/powerpc/mpc750/mmu/bat.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * bat.c
- *
- * This file contains the implementation of C function to
- * Instanciate 60x/7xx ppc Block Address Translation (BAT) registers.
- * More detailled information can be found on motorola
- * site and more precisely in the following book :
- *
- * MPC750
- * Risc Microporcessor User's Manual
- * Mtorola REF : MPC750UM/AD 8/97
- *
- * Copyright (C) 1999 Eric Valette (valette@crf.canon.fr)
- * Canon Centre Recherche France.
- *
- * The license and distribution terms for this file may be
- * found in found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <libcpu/bat.h>
-
-typedef union { /* BAT register values to be loaded */
- BAT bat;
- unsigned int word[2];
-}ubat;
-
-typedef struct batrange { /* stores address ranges mapped by BATs */
- unsigned long start;
- unsigned long limit;
- unsigned long phys;
-}batrange;
-
-batrange bat_addrs[4];
-
-void setdbat(int bat_index, unsigned long virt, unsigned long phys,
- unsigned int size, int flags)
-{
- unsigned int bl;
- int wimgxpp;
- ubat bat;
-
- bl = (size >> 17) - 1;
- /* 603, 604, etc. */
- wimgxpp = flags & (_PAGE_WRITETHRU | _PAGE_NO_CACHE
- | _PAGE_COHERENT | _PAGE_GUARDED);
- wimgxpp |= (flags & _PAGE_RW)? BPP_RW: BPP_RX;
- bat.word[0] = virt | (bl << 2) | 2; /* Vs=1, Vp=0 */
- bat.word[1] = phys | wimgxpp;
- if (flags & _PAGE_USER)
- bat.bat.batu.vp = 1;
- bat_addrs[bat_index].start = virt;
- bat_addrs[bat_index].limit = virt + ((bl + 1) << 17) - 1;
- bat_addrs[bat_index].phys = phys;
- switch (bat_index) {
- case 1 : asm_setdbat1(bat.word[0], bat.word[1]); break;
- case 2 : asm_setdbat2(bat.word[0], bat.word[1]); break;
- case 3 : asm_setdbat3(bat.word[0], bat.word[1]); break;
- default: printk("bat.c : invalid BAT bat_index\n");
- }
-}
-