Message ID | 1425690609-42982-1-git-send-email-agraf@suse.de |
---|---|
State | Accepted |
Delegated to: | York Sun |
Headers | show |
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
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 --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
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(-)