User Manual
BCM1250/BCM1125/BCM1125H
10/21/02
B r o a d c o m C o r p o r a t i o n
Document
1250_1125-UM100CB-R
Section 11: Generic/Boot Bus Page
363
C
ACHEABLE
A
CCESS
B
LOCKING
To provide protection against programming errors and prevent side effects from accidental speculative
accesses through kseg0 and xkphys (see section
Section: “CPU Speculative Execution” on page 16
)
cacheable reads may be blocked from being driven on the generic bus. This is done by setting the blk_cache
bit in the
io_ext_start_addr
register. If this bit is set and a cacheable access is done to the region then the
access will be blocked. This bit is clear by default and should be left clear for memory areas like the boot ROM
that are likely to be cached for performance. To avoid causing the CPU to take an imprecise error as the result
of a bad speculative access, a data error is not raised when a read is blocked. The access is just logged.
When a cacheable access is blocked:
1
No cycle is run on the generic bus.
2
For a read UNPREDICTABLE data is returned, marked with the valid data return code.
3
The io_cacheable_blk bit in the
io_interrupt_status
register is set (but no interrupt is raised). This bit is
cleared by a read of the register.
4
If the log is not locked (i.e. the io_error interrupt is deasserted) the address of the access gets logged in
io_interrupt_addr0
and
io_interrupt_addr1
.
G
ENERIC
B
US
P
ARITY
A reset time system configuration option enables parity on the data portion of a transfer on the generic bus (not
the address). This is provided on the IO_ADP[3:0] pins, which are available as GPIO pins if generic bus parity
is disabled. If parity is enabled for the system then each region can be configured in the
io_ext_cfg
register to
have even, odd or no parity check.
On read transactions from parity generating devices, the parity bit of each byte of the incoming data is latched
at the same time as the data, and checked against the parity computed for the byte. If an error is detected,
then the address and region of the error are logged, the io_rd_par_int bit is set in the
io_interrupt_status
register, the generic bus error interrupt is raised and the data is passed to the system bus marked with a bus
error. The data must be passed to the system bus to terminate the read transaction, the error flag will prevent
its use. The Bus Watcher in the SCD (see section
Section: “Bus Watcher” on page 64
) will note the error flag
and increment the
bus_io_error
count. If the data is returning to one of the CPUs then the bus error exception
will be raised (thus the CPU could be told about the error three times: the bus error exception, the bus watcher
error interrupt and the interrupt from the generic bus controller).
When parity is enabled for a region it will be generated for the data in writes and will be driven on the parity
pins with the same timing that the data has. If the device sees a parity error on writes it is device dependent
how it responds and how it reports the error.
shows how the IO_ADP pins match with
the byte lanes.
Data with an uncorrectable error from the system bus will not be seen by the generic bus interface. The Bus
Watcher will log and report the error.
Содержание BCM1125
Страница 18: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xviii Document 1250_1125 UM100CB R ...
Страница 28: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xxviii Document 1250_1125 UM100CB R ...
Страница 515: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page vii Index Document 1250_1125 UM100CB R ...