From: Jerone Young <jyoung5@us.ibm.com>
To: Kumar Gala <galak@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: [PATCH] powerpc/booke: Fix definitions for dbcr[1-2] and dbsr registers
Date: Wed, 11 Jun 2008 13:55:17 -0500 [thread overview]
Message-ID: <1213210517.6672.0.camel@thinkpadL> (raw)
In-Reply-To: <Pine.LNX.4.64.0806111336320.28205@blarg.am.freescale.net>
Looks good to me. Yeah moving many of the aliases to 40x is much
cleaner.
On Wed, 2008-06-11 at 13:38 -0500, Kumar Gala wrote:
> From: Jerone Young <jyoung5@us.ibm.com>
>
> This takes values from the PowerPC ISA BookIII-E specifications that are
> for DBCR0. Many of these values are different from those currently
> specified, which are for the ppc405. Also added some bookE definitions
> for DBCR1 & DBCR2.
>
> [ galak@kernel.crashing.org: Added aliases to 40x DBCR0 to match Book-E,
> Added enhanced debug DBCR0/DBSR _CIRPT and _CRET defines and DBSR
> IRPT and RET. ]
>
> Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
> Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
>
> Jerone, take a look at this one. Its in the powerpc-next branch of my git
> tree. Note I've dropped some of the aliases you added and the reason is
> to match the existing DBSR bits.
>
> - k
>
> include/asm-powerpc/reg_booke.h | 53 +++++++++++++++++++++++++++++++++++++++
> 1 files changed, 53 insertions(+), 0 deletions(-)
>
> diff --git a/include/asm-powerpc/reg_booke.h b/include/asm-powerpc/reg_booke.h
> index cf54a3f..8223254 100644
> --- a/include/asm-powerpc/reg_booke.h
> +++ b/include/asm-powerpc/reg_booke.h
> @@ -210,6 +210,7 @@
> #ifdef CONFIG_BOOKE
> #define DBSR_IC 0x08000000 /* Instruction Completion */
> #define DBSR_BT 0x04000000 /* Branch Taken */
> +#define DBSR_IRPT 0x02000000 /* Exception Debug Event */
> #define DBSR_TIE 0x01000000 /* Trap Instruction Event */
> #define DBSR_IAC1 0x00800000 /* Instr Address Compare 1 Event */
> #define DBSR_IAC2 0x00400000 /* Instr Address Compare 2 Event */
> @@ -219,10 +220,14 @@
> #define DBSR_DAC1W 0x00040000 /* Data Addr Compare 1 Write Event */
> #define DBSR_DAC2R 0x00020000 /* Data Addr Compare 2 Read Event */
> #define DBSR_DAC2W 0x00010000 /* Data Addr Compare 2 Write Event */
> +#define DBSR_RET 0x00008000 /* Return Debug Event */
> +#define DBSR_CIRPT 0x00000040 /* Critical Interrupt Taken Event */
> +#define DBSR_CRET 0x00000020 /* Critical Return Debug Event */
> #endif
> #ifdef CONFIG_40x
> #define DBSR_IC 0x80000000 /* Instruction Completion */
> #define DBSR_BT 0x40000000 /* Branch taken */
> +#define DBSR_IRPT 0x20000000 /* Exception Debug Event */
> #define DBSR_TIE 0x10000000 /* Trap Instruction debug Event */
> #define DBSR_IAC1 0x04000000 /* Instruction Address Compare 1 Event */
> #define DBSR_IAC2 0x02000000 /* Instruction Address Compare 2 Event */
> @@ -253,6 +258,7 @@
> #define ESR_BO 0x00020000 /* Byte Ordering */
>
> /* Bit definitions related to the DBCR0. */
> +#if defined(CONFIG_40x)
> #define DBCR0_EDM 0x80000000 /* External Debug Mode */
> #define DBCR0_IDM 0x40000000 /* Internal Debug Mode */
> #define DBCR0_RST 0x30000000 /* all the bits in the RST field */
> @@ -261,20 +267,67 @@
> #define DBCR0_RST_CORE 0x10000000 /* Core Reset */
> #define DBCR0_RST_NONE 0x00000000 /* No Reset */
> #define DBCR0_IC 0x08000000 /* Instruction Completion */
> +#define DBCR0_ICMP DBCR0_IC
> #define DBCR0_BT 0x04000000 /* Branch Taken */
> +#define DBCR0_BRT DBCR0_BT
> #define DBCR0_EDE 0x02000000 /* Exception Debug Event */
> +#define DBCR0_IRPT DBCR0_EDE
> #define DBCR0_TDE 0x01000000 /* TRAP Debug Event */
> #define DBCR0_IA1 0x00800000 /* Instr Addr compare 1 enable */
> +#define DBCR0_IAC1 DBCR0_IA1
> #define DBCR0_IA2 0x00400000 /* Instr Addr compare 2 enable */
> +#define DBCR0_IAC2 DBCR0_IA2
> #define DBCR0_IA12 0x00200000 /* Instr Addr 1-2 range enable */
> #define DBCR0_IA12X 0x00100000 /* Instr Addr 1-2 range eXclusive */
> #define DBCR0_IA3 0x00080000 /* Instr Addr compare 3 enable */
> +#define DBCR0_IAC3 DBCR0_IA3
> #define DBCR0_IA4 0x00040000 /* Instr Addr compare 4 enable */
> +#define DBCR0_IAC4 DBCR0_IA4
> #define DBCR0_IA34 0x00020000 /* Instr Addr 3-4 range Enable */
> #define DBCR0_IA34X 0x00010000 /* Instr Addr 3-4 range eXclusive */
> #define DBCR0_IA12T 0x00008000 /* Instr Addr 1-2 range Toggle */
> #define DBCR0_IA34T 0x00004000 /* Instr Addr 3-4 range Toggle */
> #define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */
> +#elif defined(CONFIG_BOOKE)
> +#define DBCR0_EDM 0x80000000 /* External Debug Mode */
> +#define DBCR0_IDM 0x40000000 /* Internal Debug Mode */
> +#define DBCR0_RST 0x30000000 /* all the bits in the RST field */
> +/* DBCR0_RST_* is 44x specific and not followed in fsl booke */
> +#define DBCR0_RST_SYSTEM 0x30000000 /* System Reset */
> +#define DBCR0_RST_CHIP 0x20000000 /* Chip Reset */
> +#define DBCR0_RST_CORE 0x10000000 /* Core Reset */
> +#define DBCR0_RST_NONE 0x00000000 /* No Reset */
> +#define DBCR0_ICMP 0x08000000 /* Instruction Completion */
> +#define DBCR0_BRT 0x04000000 /* Branch Taken */
> +#define DBCR0_BT DBCR0_BRT
> +#define DBCR0_IRPT 0x02000000 /* Exception Debug Event */
> +#define DBCR0_TDE 0x01000000 /* TRAP Debug Event */
> +#define DBCR0_IAC1 0x00800000 /* Instr Addr compare 1 enable */
> +#define DBCR0_IAC2 0x00400000 /* Instr Addr compare 2 enable */
> +#define DBCR0_IAC3 0x00200000 /* Instr Addr compare 3 enable */
> +#define DBCR0_IAC4 0x00100000 /* Instr Addr compare 4 enable */
> +#define DBCR0_DAC1R 0x00080000 /* DAC 1 Read enable */
> +#define DBCR0_DAC1W 0x00040000 /* DAC 1 Write enable */
> +#define DBCR0_DAC2R 0x00020000 /* DAC 2 Read enable */
> +#define DBCR0_DAC2W 0x00010000 /* DAC 2 Write enable */
> +#define DBCR0_RET 0x00008000 /* Return Debug Event */
> +#define DBCR0_CIRPT 0x00000040 /* Critical Interrupt Taken Event */
> +#define DBCR0_CRET 0x00000020 /* Critical Return Debug Event */
> +#define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */
> +
> +/* Bit definitions related to the DBCR1. */
> +#define DBCR1_IAC12M 0x00800000 /* Instr Addr 1-2 range enable */
> +#define DBCR1_IAC12MX 0x00C00000 /* Instr Addr 1-2 range eXclusive */
> +#define DBCR1_IAC12AT 0x00010000 /* Instr Addr 1-2 range Toggle */
> +#define DBCR1_IAC34M 0x00000080 /* Instr Addr 3-4 range enable */
> +#define DBCR1_IAC34MX 0x000000C0 /* Instr Addr 3-4 range eXclusive */
> +#define DBCR1_IAC34AT 0x00000001 /* Instr Addr 3-4 range Toggle */
> +
> +/* Bit definitions related to the DBCR2. */
> +#define DBCR2_DAC12M 0x00800000 /* DAC 1-2 range enable */
> +#define DBCR2_DAC12MX 0x00C00000 /* DAC 1-2 range eXclusive */
> +#define DBCR2_DAC12A 0x00200000 /* DAC 1-2 Asynchronous */
> +#endif
>
> /* Bit definitions related to the TCR. */
> #define TCR_WP(x) (((x)&0x3)<<30) /* WDT Period */
prev parent reply other threads:[~2008-06-11 18:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-11 18:38 [PATCH] powerpc/booke: Fix definitions for dbcr[1-2] and dbsr registers Kumar Gala
2008-06-11 18:48 ` [PATCH v2] " Kumar Gala
2008-06-11 18:55 ` Jerone Young [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1213210517.6672.0.camel@thinkpadL \
--to=jyoung5@us.ibm.com \
--cc=galak@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.