Changeset ec58ea04 in rtems


Ignore:
Timestamp:
Nov 3, 2005, 1:57:27 AM (14 years ago)
Author:
Till Straumann <strauman@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
1b1b43cc
Parents:
912ab10e
Message:

2005-11-02 straumanatslacdotstanford.edu

  • mvme5500/start/start.S, shared/start/start.S, shared/startup/bspstart.c: moved assembly code to C; setdbat now supports high bats on 7450 CPUs; added argument checking to setdbat; added getdbat; moved early initialization code (clear_bats) from BSP to libcpu (CPU_clear_bats_early)
Location:
c/src/lib/libbsp/powerpc
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/ChangeLog

    r912ab10e rec58ea04  
     12005-11-02      straumanatslacdotstanford.edu
     2
     3        * mvme5500/start/start.S, shared/start/start.S,
     4        shared/startup/bspstart.c: moved assembly code to C; setdbat now
     5        supports high bats on 7450 CPUs; added argument checking to setdbat;
     6        added getdbat; moved early initialization code (clear_bats) from BSP
     7        to libcpu (CPU_clear_bats_early)
     8
    192005-10-20      Eric Norum <norume@aps.anl.gov>
    210
  • c/src/lib/libbsp/powerpc/mvme5500/start/start.S

    r912ab10e rec58ea04  
    1818#include <rtems/powerpc/powerpc.h>
    1919#include <libcpu/io.h>
     20#include <libcpu/bat.h>
    2021
    2122#define SYNC \
     
    6566         * Make sure we have nothing in BATS and TLB
    6667         */
    67         bl      clear_bats
     68        bl      CPU_clear_bats_early
    6869        bl      flush_tlbs
    6970/*
     
    174175        bctr   
    175176
    176 /*
    177  * An undocumented "feature" of 604e requires that the v bit
    178  * be cleared before changing BAT values.
    179  *
    180  * Also, newer IBM firmware does not clear bat3 and 4 so
    181  * this makes sure it's done.
    182  *  -- Cort
    183  */
    184 clear_bats:
    185         li      r20,0
    186         mfspr   r9,PVR
    187         rlwinm  r9,r9,16,16,31          /* r9 = 1 for 601, 4 for 604 */
    188         cmpwi   r9, 1
    189         SYNC
    190         beq     1f
    191         mtspr   DBAT0U,r20
    192         mtspr   DBAT0L,r20     
    193         mtspr   DBAT1U,r20
    194         mtspr   DBAT1L,r20
    195         mtspr   DBAT2U,r20
    196         mtspr   DBAT2L,r20     
    197         mtspr   DBAT3U,r20
    198         mtspr   DBAT3L,r20
    199 1:     
    200         mtspr   IBAT0U,r20
    201         mtspr   IBAT0L,r20
    202         mtspr   IBAT1U,r20
    203         mtspr   IBAT1L,r20
    204         mtspr   IBAT2U,r20
    205         mtspr   IBAT2L,r20
    206         mtspr   IBAT3U,r20
    207         mtspr   IBAT3L,r20
    208         SYNC   
    209         blr
    210 
    211177flush_tlbs:
    212178        lis     r20, 0x1000
  • c/src/lib/libbsp/powerpc/shared/start/start.S

    r912ab10e rec58ea04  
    1717
    1818#include <libcpu/io.h>
     19#include <libcpu/bat.h>
    1920#include <bspopts.h>
    2021
     
    6364         * Make sure we have nothing in BATS and TLB
    6465         */
    65         bl      clear_bats
     66        bl      CPU_clear_bats_early
    6667        bl      flush_tlbs
    6768/*
     
    172173        bctr
    173174
    174 /*
    175  * An undocumented "feature" of 604e requires that the v bit
    176  * be cleared before changing BAT values.
    177  *
    178  * Also, newer IBM firmware does not clear bat3 and 4 so
    179  * this makes sure it's done.
    180  *  -- Cort
    181  */
    182 clear_bats:
    183         li      r20,0
    184         mfspr   r9,PVR
    185         rlwinm  r9,r9,16,16,31          /* r9 = 1 for 601, 4 for 604 */
    186         cmpwi   r9, 1
    187         SYNC
    188         beq     1f
    189         mtspr   DBAT0U,r20
    190         mtspr   DBAT0L,r20
    191         mtspr   DBAT1U,r20
    192         mtspr   DBAT1L,r20
    193         mtspr   DBAT2U,r20
    194         mtspr   DBAT2L,r20
    195         mtspr   DBAT3U,r20
    196         mtspr   DBAT3L,r20
    197 1:
    198         mtspr   IBAT0U,r20
    199         mtspr   IBAT0L,r20
    200         mtspr   IBAT1U,r20
    201         mtspr   IBAT1L,r20
    202         mtspr   IBAT2U,r20
    203         mtspr   IBAT2L,r20
    204         mtspr   IBAT3U,r20
    205         mtspr   IBAT3L,r20
    206         SYNC
    207         blr
    208 
    209175flush_tlbs:
    210176        lis     r20, 0x1000
Note: See TracChangeset for help on using the changeset viewer.