3 initializing the cache, Initializing the cache -7 – Kontron VM162 User Manual

Page 77

Advertising
background image

VM162/VM172

Chapter 4 Programming

July 19,1997

Page 4- 7

© PEP Modular Computers

Address List of Involved Registers

MBAR

0x3FF00

(CPU space!)

RSR

0xC0001009

SYPCR

0xC0001022

MCR

0xC0001000

PLLCR

0xC0001010

CDVCR

0xC0001014

CLKOCR

0xC000100C

PEPAR

0xC0001016

GMR

0xC0001040

AVR

0xC0001008

BR0

0xC0001050

OR0

0xC0001054

BR1

0xC0001060

OR1

0xC0001064

BR2

0xC0001070

OR2

0xC0001074

BR3

0xC0001080

OR3

0xC0001084

BR4

0xC0001090

OR4

0xC0001094

BR5

0xC00010A0

OR5

0xC00010A4

BR6

0xC00010B0

OR6

0xC00010B4

BR7

0xC00010C0

OR7

0xC00010C4

CICR

0xC0001540

SDCR

0xC000151E

VCSR

0xCD000005

BCSR

0xCD000007

4.3 Initializing the Cache

Before the system enables any cache present, they should be invalidated using:

cinva bc

Furthermore, the complete address range should not be cachable, as caching only makes sense on
DRAM and FLASH EPROM. Other areas should never be cached and must be switched to serialized in
order to prevent the MC68040/MC68060 from mixing up read and write cycles.

The easiest way of doing this is to make use of the DTT0 register, in the following way:

move.l

#$807FE040,d1

movec

d1,dtt0

The code above sets all addresses below $80000000 to cacheable and non-serialized, whereas all
addresses above are set to non-cacheable and serialized.

Advertising
This manual is related to the following products: