MOTOROLA
Chapter 11. L-Bus to U-Bus Interface (L2U)
11-9
Reservation Support
The reservation logic in the L2U performs the following functions:
Snoops accesses to all L-bus and U-bus slaves
Holds one reservation (address) for the core
Sets the reservation flag when the RPCU issues a load-with-reservation request
The unit for reservation is one word. A byte or half-word store request by another master
will clear the reservation flag.
A load-with-reservation request by the RPCU updates the reservation address related to a
previous load-with-reservation request and sets the reservation flag for the new location. A
store-with-reservation request by the RPCU clears the reservation flag. A store request by
the RPCU does not clear the flag. A store request by some other master to the reservation
address clears the reservation flag.
If the storage reservation is lost, it is guaranteed that a store-with-reservation request by the
RPCU will not modify the storage.
The L2U does not start a store-with-reservation cycle on the U-bus if the reserved location
on the U-bus has been touched by another master. The L2U drives the reservation status
back to the core.
When the reserved location in the CALRAM on the L-bus is touched by an alternate master,
on the following clock the L2U indicates to the RPCU that the reservation has been
touched. On assertion of the cancel-reservation signal, the RCPU clears the internal
reservation bit. If an stwcx cycle has been issued at the same time, the RCPU aborts the
cycle. Software must check the CR0[EQ] bit to determine if the stwcx instruction
completed successfully.
Storage reservation is set regardless of the termination status (address or data phase) of the
lwarx access. Storage reservation is cleared regardless of the data phase termination status
of the stwcx access if the address phase is terminated normally.
Storage reservation will be cleared regardless of the data phase termination status of the
write requests by another master to the reserved address if the address phase of the write
access is terminated normally on the destination (U-bus/L-bus) bus.
If the programmable memory map of the part is modified between a lwarx and a stwcx
instruction, the reservation is not guaranteed.
11.6.3
Reserved Location (Bus) and Possible Actions
Once the RPCU core reserves a memory location, the L2U module is responsible for
snooping the L-bus and U-bus for possible intrusion of the reserved location. Under certain
circumstances, the L2U depends on the USIU or the UIMB to provide status of reservation
on external bus and the IMB3 respectively.