|
Processor setup via co-processor 15 |
|
The setup is controlled by co-processor 15 registers, accessed with MRC and MCR in non-user mode.
These registers are particular to the processor specified.
Bits 0 - 7 Revision of processor Bits 8 - 15 Should be '3', identifying processor as an ARM3 Bits 16 - 23 Manufacturer code (&56 = VLSI Technology Inc.) Bits 24 - 31 Designer code (&41 = ARM Ltd)
Bit 0 - Turns the cache on (1) or off (0)
Bit 1 - Determines if user mode and non-user mode use the same address
mapping. 1 if they do, or 0. Should be 1 for use with MEMC.
Bit 2 - 0 for normal operation, 1 for special monitor mode (processor
runs at memory speed and address/data always put on external
pins even if data fetched from cache - for logic analyser
to trace the program properly).
Other bits reserved.
Bit 0 - 1 if virtual addresses &0000000-&01FFFFF are cacheable, 0 if not Bit 0 - 1 if virtual addresses &0200000-&03FFFFF are cacheable, 0 if not ... Bit 31 - 1 if virtual addresses &3E00000-&3FFFFFF are cacheable, 0 if not
Bit 0 - 1 if virtual addresses &0000000-&01FFFFF are updateable, 0 if not Bit 0 - 1 if virtual addresses &0200000-&03FFFFF are updateable, 0 if not ... Bit 31 - 1 if virtual addresses &3E00000-&3FFFFFF are updateable, 0 if not
Bit 0 - 1 if virtual addresses &0000000-&01FFFFF are distruptive, 0 if not Bit 0 - 1 if virtual addresses &0200000-&03FFFFF are distruptive, 0 if not ... Bit 31 - 1 if virtual addresses &3E00000-&3FFFFFF are distruptive, 0 if not
Bits 0 - 7 Revision of processor (&1x) Bits 8 - 15 Processor identity Bits 16 - 23 Manufacturer code (&56 = VLSI Technology Inc.) Bits 24 - 31 Designer code (&41 = ARM Ltd)
Bit 0 - On-chip MMU turned off (0) or on (1) Bit 1 - Address alignment fault disabled (0) or enabled (1) Bit 2 - Instruction/data cache turned off (0) or on (1) Bit 3 - Write buffer turned off (0) or on (1) Bit 4 - 26 bit program space if 0, 32 bit program space if 1 Bit 5 - 26 bit data space if 0, 32 bit data space if 1 Bit 6 - Early abort mode if 0, late abort mode if 1 Bit 7 - Little-endian operation if 0, big-endian if 1 Bit 8 - System bit - controls the ARM610 permission system
00 No Access - Domain fault generated if tried to access
01 Client - Accesses are checked against permission bits in
section/page descriptor
10 Reserved - Currently behaves like no access mode
11 Manager - Accesses are NOT checked, permission faults cannot
be generated
Bits 0 - 3 Status Bits 4 - 7 Domain Bits 8 - 11 Set to zero Bits 12 - 31 Whatever was the last value on the internal data bus
Bits 0 - 3 Revision of processor? Bits 3 - 15 Processor identity - &710 Bits 16 - 23 Manufacturer code Bits 24 - 31 Designer code (&41 = ARM Ltd)
Bit 0 - On-chip MMU turned off (0) or on (1) Bit 1 - Address alignment fault disabled (0) or enabled (1) Bit 2 - Instruction/data cache turned off (0) or on (1) Bit 3 - Write buffer turned off (0) or on (1) Bit 4 - 26 bit program space if 0, 32 bit program space if 1 Bit 5 - 26 bit data space if 0, 32 bit data space if 1 Bit 6 - Early abort mode if 0, late abort mode if 1 Bit 7 - Little-endian operation if 0, big-endian if 1 Bit 8 - System bit - controls the ARM710 permission system Bit 9 - ROM bit - controls the ARM710 permission system
00 No Access - Domain fault generated if tried to access
01 Client - Accesses are checked against permission bits in
section/page descriptor
10 Reserved - Currently behaves like no access mode
11 Manager - Accesses are NOT checked, permission faults cannot
be generated
Bits 0 - 3 Status Bits 4 - 7 Domain Bits 8 - 11 Set to zero Bits 12 - 31 Whatever was the last value on the internal data bus