User’s Manual
PPC440x5 CPU Core
Preliminary
Page 150 of 589
mmu.fm.
September 12, 2002
program to remove a locked line from the cache. The locking and unlocking of cache lines is generally a
supervisor mode function, as the supervisor has access to the various mechanisms which control the cache
locking mechanism (e.g., the Data Cache Victim Limit (DVLIM) and Instruction Cache Victim Limit (IVLIM)
registers, and the MMUCR). Therefore, the DULXE field provides a means to prevent any dcbf instructions
executed while in user mode from flushing any cache lines.
Note that with the PPC440x5 core, the Cache Locking exception occurs independent of whether the target
line is truly locked or not. This behavior is necessary because the instruction execution pipeline is such that
the exception determination must be made before it is determined whether or not the target line is actually
locked (or whether it is even a hit).
Software at the Data Storage interrupt handler can determine whether the target line is locked, and if so
whether or not the application should be allowed to unlock it.
If DULXE is 0, or if dcbf is executed while in supervisor mode, then the instruction execution is allowed to
proceed and flush the target line, independent of whether it is locked or not.
See Chapter 4, “Instruction and Data Caches” for more information on cache locking.
Instruction Cache Unlock Exception Enable (IULXE) Field
The IULXE field can be used to force a Cache Locking exception type Data Storage interrupt to occur if an
icbi instruction is executed in user mode (MSR[PR]=1). Since icbi can be executed in user mode and since it
causes a cache line to be removed from the instruction cache, it has the potential for allowing an application
program to remove a locked line from the cache. The locking and unlocking of cache lines is generally a
supervisor mode function, as the supervisor has access to the various mechanisms which control the cache
locking mechanism (e.g., the DVLIM and IVLIM registers, and the MMUCR). Therefore, the IULXE field
provides a means to prevent any icbi instructions executed while in user mode from flushing any cache lines.
Note that with the PPC440x5 core, the Cache Locking exception occurs independent of whether the target
line is truly locked or not. This behavior is necessary because the instruction execution pipeline is such that
the exception determination must be made before it is determined whether or not the target line is actually
locked (or whether it is even a hit).
Software at the Data Storage interrupt handler can determine whether the target line is locked, and if so
whether or not the application should be allowed to unlock it.
If IULXE is 0, or if icbi is executed while in supervisor mode, then the instruction execution is allowed to
proceed and flush the target line, independent of whether it is locked or not.
See Chapter 4, “Instruction and Data Caches” for more information on cache locking.
Search Translation Space (STS) Field
The STS field is used by the tlbsx[.] instruction to designate the value against which the TS field of the TLB
entries is to be matched. For instruction fetch and data storage accesses, the TS field of the TLB entries is
compared with the MSR[IS] bit or the MSR[DS] bit, respectively. For tlbsx[.] however, the MMUCR[STS] field
is used, allowing the TLB to be searched for entries with a TS field which is references an address space
other than the one being used by the currently executing process.
See Address Space Identifier Convention on page 138 for more information on the TLB entry TS field.
Summary of Contents for PPC440X5 CPU Core
Page 1: ...PPC440x5 CPU Core User s Manual Preliminary SA14 2613 02 September 12 2002 Title Page...
Page 22: ...User s Manual PPC440x5 CPU Core Preliminary Page 22 of 583 ppc440x5LOT fm September 12 2002...
Page 26: ...User s Manual PPC440x5 CPU Core Preliminary Page 26 of 589 preface fm September 12 2002...
Page 38: ...User s Manual PPC440x5 CPU Core Preliminary Page 38 of 589 overview fm September 12 2002...
Page 94: ...User s Manual PPC440x5 CPU Core Preliminary Page 94 of 589 init fm September 12 2002...
Page 132: ...User s Manual PPC440x5 CPU Core Preliminary Page 132 of 589 cache fm September 12 2002...
Page 158: ...User s Manual PPC440x5 CPU Core Preliminary Page 158 of 589 mmu fm September 12 2002...
Page 218: ...User s Manual PPC440x5 CPU Core Preliminary Page 218 of 589 timers fm September 12 2002...
Page 248: ...User s Manual PPC440x5 CPU Core Preliminary Page 248 of 589 debug fm September 12 2002...
Page 458: ...User s Manual PPC440x5 CPU Core Preliminary Page 458 of 589 regsummIntro fm September 12 2002...
Page 568: ...User s Manual PPC440x5 CPU Core Preliminary Page 568 of 589 instalfa fm September 12 2002...
Page 588: ...User s Manual PPC440x5 CPU Core Preliminary Page 588 of 583 ppc440x5IX fm September 12 2002...
Page 590: ......