diff options
author | Dave Kleikamp <shaggy@linux.vnet.ibm.com> | 2010-02-08 06:53:26 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-02-16 22:03:17 -0500 |
commit | 99396ac105f54fe3584374c7c70a5cb6def766e6 (patch) | |
tree | 8d46e6f476fa214cd30d2c00c167819301a42e48 /arch/powerpc/include/asm/processor.h | |
parent | 3162d92dfb79a0b5fc03380b8819fa5f870ebf1e (diff) |
powerpc/booke: Add definitions for advanced debug registers
powerpc/booke: Add definitions for advanced debug registers
From: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Based on patches originally written by Torez Smith.
This patch adds additional definitions for BookE Debug Registers
to the reg_booke.h header file.
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Acked-by: David Gibson <dwg@au1.ibm.com>
Cc: Torez Smith <lnxtorez@linux.vnet.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: Sergio Durigan Junior <sergiodj@br.ibm.com>
Cc: Thiago Jung Bauermann <bauerman@br.ibm.com>
Cc: linuxppc-dev list <Linuxppc-dev@ozlabs.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/processor.h')
-rw-r--r-- | arch/powerpc/include/asm/processor.h | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index 9eed29eee604..221ba6240464 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h | |||
@@ -161,9 +161,41 @@ struct thread_struct { | |||
161 | #ifdef CONFIG_PPC32 | 161 | #ifdef CONFIG_PPC32 |
162 | void *pgdir; /* root of page-table tree */ | 162 | void *pgdir; /* root of page-table tree */ |
163 | #endif | 163 | #endif |
164 | #if defined(CONFIG_4xx) || defined (CONFIG_BOOKE) | 164 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS |
165 | unsigned long dbcr0; /* debug control register values */ | 165 | /* |
166 | * The following help to manage the use of Debug Control Registers | ||
167 | * om the BookE platforms. | ||
168 | */ | ||
169 | unsigned long dbcr0; | ||
166 | unsigned long dbcr1; | 170 | unsigned long dbcr1; |
171 | #ifdef CONFIG_BOOKE | ||
172 | unsigned long dbcr2; | ||
173 | #endif | ||
174 | /* | ||
175 | * The stored value of the DBSR register will be the value at the | ||
176 | * last debug interrupt. This register can only be read from the | ||
177 | * user (will never be written to) and has value while helping to | ||
178 | * describe the reason for the last debug trap. Torez | ||
179 | */ | ||
180 | unsigned long dbsr; | ||
181 | /* | ||
182 | * The following will contain addresses used by debug applications | ||
183 | * to help trace and trap on particular address locations. | ||
184 | * The bits in the Debug Control Registers above help define which | ||
185 | * of the following registers will contain valid data and/or addresses. | ||
186 | */ | ||
187 | unsigned long iac1; | ||
188 | unsigned long iac2; | ||
189 | #if CONFIG_PPC_ADV_DEBUG_IACS > 2 | ||
190 | unsigned long iac3; | ||
191 | unsigned long iac4; | ||
192 | #endif | ||
193 | unsigned long dac1; | ||
194 | unsigned long dac2; | ||
195 | #if CONFIG_PPC_ADV_DEBUG_DVCS > 0 | ||
196 | unsigned long dvc1; | ||
197 | unsigned long dvc2; | ||
198 | #endif | ||
167 | #endif | 199 | #endif |
168 | /* FP and VSX 0-31 register set */ | 200 | /* FP and VSX 0-31 register set */ |
169 | double fpr[32][TS_FPRWIDTH]; | 201 | double fpr[32][TS_FPRWIDTH]; |