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 CPU 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 CPU 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 CPU clears the reservation flag. A store request by the
CPU 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
CPU 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 SRAM on the L-bus is touched by an alternate master,
on the following clock, the L2U indicates to the CPU 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 CPU core reserves a memory location, the L2U module is responsible for
snooping 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.
Table 11-2 lists all reservation protocol cases supported by the L2U snooping logic.