diff options
author | Prabhakar Kushwaha <prabhakar@freescale.com> | 2012-04-29 23:56:30 +0000 |
---|---|---|
committer | Andy Fleming <afleming@freescale.com> | 2012-07-06 17:30:30 -0500 |
commit | 5344f7a258dfb74be11289367b0ffe4852ce74d3 (patch) | |
tree | 5e1c92bcb4246b3bb4c5b78733fbc24dec3c96a2 | |
parent | afa6b551fddc35a83e40c63101947d237bde5183 (diff) | |
download | u-boot-imx-5344f7a258dfb74be11289367b0ffe4852ce74d3.zip u-boot-imx-5344f7a258dfb74be11289367b0ffe4852ce74d3.tar.gz u-boot-imx-5344f7a258dfb74be11289367b0ffe4852ce74d3.tar.bz2 |
powerpc/85xx:Fix MSR[DE] bit in MSR to support debugger
Debugging of e500 and e500v1 processer requires MSR[DE] bit to be set always.
Where MSR = Machine State register
Make sure of MSR[DE] bit is set uniformaly across the different execution
address space i.e. AS0 and AS1.
Signed-off-by: Radu Lazarescu <radu.lazarescu@freescale.com>
Signed-off-by: Catalin Udma <catalin.udma@freescale.com>
Signed-off-by: Marius Grigoras <marius.grigoras@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
-rw-r--r-- | arch/powerpc/cpu/mpc85xx/cpu_init.c | 2 | ||||
-rw-r--r-- | arch/powerpc/cpu/mpc85xx/start.S | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c index 2cd5db7..e7b2d37 100644 --- a/arch/powerpc/cpu/mpc85xx/cpu_init.c +++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c @@ -537,7 +537,7 @@ void arch_preboot_os(void) * disabled by the time we get called. */ msr = mfmsr(); - msr &= ~(MSR_ME|MSR_CE|MSR_DE); + msr &= ~(MSR_ME|MSR_CE); mtmsr(msr); setup_ivors(); diff --git a/arch/powerpc/cpu/mpc85xx/start.S b/arch/powerpc/cpu/mpc85xx/start.S index 8e99ef6..653e222 100644 --- a/arch/powerpc/cpu/mpc85xx/start.S +++ b/arch/powerpc/cpu/mpc85xx/start.S @@ -82,6 +82,9 @@ .globl _start_e500 _start_e500: +/* Enable debug exception */ + li r1,MSR_DE + mtmsr r1 #if defined(CONFIG_SECURE_BOOT) && defined(CONFIG_E500MC) /* ISBC uses L2 as stack. @@ -733,8 +736,8 @@ create_init_ram_area: msync tlbwe - lis r6,MSR_IS|MSR_DS@h - ori r6,r6,MSR_IS|MSR_DS@l + lis r6,MSR_IS|MSR_DS|MSR_DE@h + ori r6,r6,MSR_IS|MSR_DS|MSR_DE@l lis r7,switch_as@h ori r7,r7,switch_as@l |