On Wed, 04 Jun 2008 17:26:44 -0500
Jerone Young <[EMAIL PROTECTED]> wrote:

> Taken from the PowerPC ISA BookIII-E specifies that DBCR0 is different
> for all others that are not ppc405 chips. So I have now chnaged the
> conditional to reflect this. Also added definitions needed for DBCR1 &
> DBCR2.

Interesting.  The only uses of these bit definitions happen to be for
IDM and IC, which match across 440 and 405.  Overall, the patch is
needed.  A few minor nits below.

> 
> Signed-off-by: Jerone Young <[EMAIL PROTECTED]>
> 
> diff --git a/include/asm-powerpc/reg_booke.h b/include/asm-powerpc/reg_booke.h
> --- a/include/asm-powerpc/reg_booke.h
> +++ b/include/asm-powerpc/reg_booke.h
> @@ -253,6 +253,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 */
> @@ -275,6 +276,46 @@
>  #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 */
> +#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_IC     0x08000000      /* Instruction Completion */
> +#define DBCR0_BT     0x04000000      /* Branch Taken */
> +#define DBCR0_EDE    0x02000000      /* Exception Debug Event */
> +#define DBCR0_TDE    0x01000000      /* TRAP Debug Event */
> +#define DBCR0_IA1    0x00800000      /* Instr Addr compare 1 enable */
> +#define DBCR0_IA2    0x00400000      /* Instr Addr compare 2 enable */
> +#define DBCR0_IA3    0x00200000      /* Instr Addr compare 3 enable */
> +#define DBCR0_IA4    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_FT     0x00000001      /* Freeze Timers on debug event */
> +#endif
> +
> +/* Bit definitions related to the DBCR1. */
> +#if defined(CONFIG_BOOKE)
> +#define DBCR1_IA12   0x00800000      /* Instr Addr 1-2 range enable */
> +#define DBCR1_IA12X  0x00C00000      /* Instr Addr 1-2 range eXclusive */
> +#define DBCR1_IA12T  0x00010000      /* Instr Addr 1-2 range Toggle */
> +#define DBCR1_IA34   0x00000080      /* Instr Addr 3-4 range enable */
> +#define DBCR1_IA34X  0x000000C0      /* Instr Addr 3-4 range eXclusive */
> +#define DBCR1_IA34T  0x00000001      /* Instr Addr 3-4 range Toggle */
> +#endif
> +
> +/* Bit definitions related to the DBCR2. */
> +#if defined(CONFIG_BOOKE)
> +#define DBCR2_DAC12  0x00800000      /* DAC 1-2 range enable */
> +#define DBCR2_DAC12X 0x00C00000      /* DAC 1-2 range eXclusive */
> +#define DBCR2_DAC12A 0x00200000      /* DAC 1-2 Asynchronous */
> +#endif

You can collapse these definition into one #if defined(CONFIG_BOOKE)
block.  No need for two.

Also, 405 has DBCR1.  Think you could provide the definitions for 405
while you're at it?

josh
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to