Vladis Korobov wrote:
>
> I checked memory mapping in VMEchip2. The 1-st master memory decoder
> (which maps the local CPU memory to VMEbus) maps the area 0x1000000-0xefff0000
> to VMEbus. Why can't I access this area? May be, something has to be done
> with vxWorks?
Correct, the Memory Management unit needs to be set up to provide the
correct virtual to physical address translation, which be default is only
provided for about 32Mb of VME space above the mv162 local memory. There
are two ways to do this - edit the sysPhysMemDesc table towards the
beginning of the <tornado>/target/config/mv162/sysLib.c file to add the
area you want to access, or add some code to set the TT registers to allow
a large area of memory space to be translated.
It is *not* recommended to add large areas using sysPhysMemDesc as this
will waste a lot of memory for the page tables that have to be created at
startup (and cause a long delay when booting). We use the assembler
routine below to set the DTT1 register to allow the top half of memory to
be mapped transparently. Just add it to the sysALib.s file and arrange
for it to be called sometime during startup.
- Andrew
--
Complexity comes for free, Simplicity you have to work for.
.globl _sysSetTTRegs
/*
* Handy C-callable function that maps the upper 1/2 of the
* address space transparently. Suitable for I/O operations.
* The alteration of D0 is OK. (The compiler assumes it will be
* clobbered by any function call.)
*/
_sysSetTTRegs:
movel #0x807fe040,d0 /* enable data passthrough */
/* noncachable & serialized from */
/* 0x80000000..0xffffffff */
.word 0x4e7b,0x0007 /* movec d0,DTT1 */
rts
- References:
- The problem in mvme162 to access A32 space for STR7201 board. Vladis Korobov
- Navigate by Date:
- Prev:
RE: The problem in mvme162 to access A32 space for STR7201 board. Mark Rivers
- Next:
problem w/ 3.13.1 -> 3.13.1.1 Dale L. Brewe
- Index:
1994
1995
1996
1997
1998
<1999>
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
The problem in mvme162 to access A32 space for STR7201 board. Vladis Korobov
- Next:
RE: The problem in mvme162 to access A32 space for STR7201 board. Mark Rivers
- Index:
1994
1995
1996
1997
1998
<1999>
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|