
6-48
G2 PowerPC Core Reference Manual
For More Information On This Product,
Go to: www.freescale.com
MOTOROLA
Page Table Search Operation
beq
xor
dsi2:
r1,r1,0x07
# if little endian then:
# de-mung the data address
dsi2:
mtspr
mfmsr
xoris
mtcrf
mtmsr
b
dar, r1
r0
r0, r0, 0x2
0x80, r3
r0
vec300
# put in dar
# get msr
# flip the msr<tgpr> bit
# restore CR0
# flip back to the native gprs
# branch to DSI exception
6.5.3
Page Table Updates
TLBs are defined as noncoherent caches of the PTEs. TLB entries must be flushed
explicitly with the TLB invalidate entry instruction (
tlbie
) whenever the corresponding
PTE is modified. Because the G2 core is intended primarily for uniprocessor environments,
it does not provide coherency checking for TLBs between multiple processors. If the G2
core is used in a multiprocessor environment where TLB coherency is required,
synchronization must be implemented in software.
Processors may write referenced and changed bits with unsynchronized, atomic byte store
operations. Note that each V, R, and C bits reside in a distinct byte of a PTE. Therefore,
extreme care must be taken to use byte writes when updating only one of these bits.
Explicitly altering certain MSR bits (using the
mtmsr
instruction), PTEs, or certain system
registers, may have the side effect of changing the effective or physical addresses from
which the current instruction stream is being fetched. This kind of side effect is defined as
an implicit branch. Implicit branches are not supported and an attempt to perform one
causes boundedly-undefined results. Therefore, PTEs must not be changed in a manner that
causes an implicit branch. Chapter 2, “Register Set,” in the
Programming Environments
Manual
, lists the possible implicit branch conditions that can occur when system registers
and MSR bits are changed.
6.5.4
Segment Register Updates
Synchronization requirements for using the move to segment register instructions (
mtsr
and
mtsrin
) are described in “Synchronization Requirements for Special Registers and for
Lookaside Buffers” in Chapter 2, “Register Set,” in the
Programming Environments
Manual
.
F
Freescale Semiconductor, Inc.
n
.