mpc83xx: Store and display Arbiter Event Register values
authorNick Spence <nick.spence@freescale.com>
Thu, 28 Aug 2008 21:09:19 +0000 (14:09 -0700)
committerKim Phillips <kim.phillips@freescale.com>
Wed, 3 Sep 2008 21:06:57 +0000 (16:06 -0500)
commit46497056ae3b1e81e736e9cf3a170472c5d9719f
tree54a2adf89dbe8eec11474536e82736eca6891033
parentade50c7fa1b16ef98be17e9c3ae286aecf4f5605
mpc83xx: Store and display Arbiter Event Register values

Record the Arbiter Event Register values and optionally display them.

The Arbiter Event Register can record the type and effective address of
an arbiter error, even through an HRESET. This patch stores the values in
the global data structure.

Display of the Arbiter Event registers immediately after the RSR value
can be enabled with defines. The Arbiter values will only be displayed
if an arbiter event has occured since the last Power On Reset, and either
of the following defines exist:
 #define CONFIG_DISPLAY_AER_BRIEF - display only the arbiter address and
                                    and type register values
 #define CONFIG_DISPLAY_AER_FULL  - display and interpret the arbiter
                                    event register values

Address Only transactions are one of the trapped events that can register
as an arbiter event. They occur with some cache manipulation instructions
if the HID0_ABE (Address Broadcast Enable) is set and the memory region
has the MEMORY_COHERENCE WIMG bit set. Setting:
 #define CONFIG_MASK_AER_AO - prevents the arbiter from recording address
                              only events, so that it can still capture
                              other real problems.

Signed-off-by: Nick Spence <nick.spence@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
cpu/mpc83xx/cpu_init.c
cpu/mpc83xx/start.S
include/asm-ppc/global_data.h