Ignore:
Timestamp:
10/06/11 16:46:36 (11 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.11, 5, master
Children:
71d093f0
Parents:
b7d3a2ca
Message:

2011-10-06 Gedare Bloom <giddyup44@…>

PR 1920/bsp

  • shared/helenos/kernel/sparc64/src/sun4u/takemmu.S, shared/start/start.S, shared/startup/bspgetworkarea.c, shared/startup/linkcmds: Fix BSP memory use to support more than 4 MB of RAM.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/src/sun4u/takemmu.S

    rb7d3a2ca r48449a8  
    179179        membar #Sync
    180180*/
    181 #define SET_TLB_TAG(r1, context) \
    182         set VMA | (context << TLB_TAG_ACCESS_CONTEXT_SHIFT), %r1
     181#define SET_TLB_TAG(xVMA, r1, context) \
     182        set xVMA | (context << TLB_TAG_ACCESS_CONTEXT_SHIFT), %r1
    183183
    184184        ! write DTLB tag
    185         SET_TLB_TAG(g1, MEM_CONTEXT_KERNEL)
     185        SET_TLB_TAG(0x4000, g1, MEM_CONTEXT_KERNEL)
    186186        stxa %g1, [VA_DMMU_TAG_ACCESS] %asi                     
    187187        membar #Sync
     
    272272*/
    273273        ! write ITLB tag of context 0
    274         SET_TLB_TAG(g1, MEM_CONTEXT_KERNEL)
     274        SET_TLB_TAG(0x4000, g1, MEM_CONTEXT_KERNEL)
    275275        mov VA_DMMU_TAG_ACCESS, %g2
    276276        stxa %g1, [%g2] ASI_IMMU
     
    281281        stxa %g1, [%g0] ASI_ITLB_DATA_IN_REG           
    282282        flush %g5
     283
     284  ! GAB: add more mappings for dmmu in 4 MB chunks
     285  SET_TLB_TAG(0x404000, g1, MEM_CONTEXT_KERNEL)
     286  stxa %g1, [VA_DMMU_TAG_ACCESS] %asi
     287  membar #Sync
     288  set 0x400000, %g1
     289  add %g1, %l5, %l5
     290  SET_TLB_DATA(g1, g2, TTE_L | TTE_W)
     291  stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG
     292  membar #Sync
     293
     294  SET_TLB_TAG(0x804000, g1, MEM_CONTEXT_KERNEL)
     295  stxa %g1, [VA_DMMU_TAG_ACCESS] %asi
     296  membar #Sync
     297  set 0x400000, %g1
     298  add %g1, %l5, %l5
     299  SET_TLB_DATA(g1, g2, TTE_L | TTE_W)
     300  stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG
     301  membar #Sync
     302
     303  SET_TLB_TAG(0xc04000, g1, MEM_CONTEXT_KERNEL)
     304  stxa %g1, [VA_DMMU_TAG_ACCESS] %asi
     305  membar #Sync
     306  set 0x400000, %g1
     307  add %g1, %l5, %l5
     308  SET_TLB_DATA(g1, g2, TTE_L | TTE_W)
     309  stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG
     310  membar #Sync
     311
     312
    283313/*
    284314        ! enter nucleus - using context 0
Note: See TracChangeset for help on using the changeset viewer.