diff mbox

[U-Boot] qemu-ppce500: Add support for 64bit CCSR map

Message ID 1425690609-42982-1-git-send-email-agraf@suse.de
State Accepted
Delegated to: York Sun
Headers show

Commit Message

Alexander Graf March 7, 2015, 1:10 a.m. UTC
QEMU 2.3 changes the address layout of the CCSR map in the PV ppce500 machine
to reside in higher address space.

Unfortunately, this exposed a glitch in u-boot for ppce500: While providing
a function to dynamically evaluate the CCSR region's position in physical
address space, we never used it. Plus we forgot to support 64bit physical
addresses.

This patch fixes that mishap, making u-boot work fine with latest QEMU again.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 include/configs/qemu-ppce500.h |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Scott Wood March 9, 2015, 11:15 p.m. UTC | #1
On Sat, 2015-03-07 at 02:10 +0100, Alexander Graf wrote:
> QEMU 2.3 changes the address layout of the CCSR map in the PV ppce500 machine
> to reside in higher address space.
> 
> Unfortunately, this exposed a glitch in u-boot for ppce500: While providing
> a function to dynamically evaluate the CCSR region's position in physical
> address space, we never used it. Plus we forgot to support 64bit physical
> addresses.
> 
> This patch fixes that mishap, making u-boot work fine with latest QEMU again.
> 
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
>  include/configs/qemu-ppce500.h |    8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)

Reviewed-by: Scott Wood <scottwood@freescale.com>

-Scott
York Sun April 20, 2015, 8:57 p.m. UTC | #2
On 03/06/2015 05:10 PM, Alexander Graf wrote:
> QEMU 2.3 changes the address layout of the CCSR map in the PV ppce500 machine
> to reside in higher address space.
> 
> Unfortunately, this exposed a glitch in u-boot for ppce500: While providing
> a function to dynamically evaluate the CCSR region's position in physical
> address space, we never used it. Plus we forgot to support 64bit physical
> addresses.
> 
> This patch fixes that mishap, making u-boot work fine with latest QEMU again.
> 
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---

Applied to mpc85xx master, awaiting upstream.

York
diff mbox

Patch

diff --git a/include/configs/qemu-ppce500.h b/include/configs/qemu-ppce500.h
index 763a47a..7071849 100644
--- a/include/configs/qemu-ppce500.h
+++ b/include/configs/qemu-ppce500.h
@@ -50,8 +50,14 @@ 
 /* Physical address should be a function call */
 #ifndef __ASSEMBLY__
 extern unsigned long long get_phys_ccsrbar_addr_early(void);
+#define CONFIG_SYS_CCSRBAR_PHYS_HIGH (get_phys_ccsrbar_addr_early() >> 32)
+#define CONFIG_SYS_CCSRBAR_PHYS_LOW get_phys_ccsrbar_addr_early()
+#else
+#define CONFIG_SYS_CCSRBAR_PHYS_HIGH 0x0
+#define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR
 #endif
-#define CONFIG_SYS_CCSR_DO_NOT_RELOCATE
+
+#define CONFIG_PHYS_64BIT
 
 /* Virtual address range for PCI region maps */
 #define CONFIG_SYS_PCI_MAP_START	0x80000000