[U-Boot] [PATCH v4 6/6] PPC 85xx: Add qemu-ppce500 machine
Alexander Graf
agraf at suse.de
Mon Apr 28 23:27:10 CEST 2014
> Am 28.04.2014 um 20:40 schrieb York Sun <yorksun at freescale.com>:
>
>> On 02/20/2014 04:52 AM, Alexander Graf wrote:
>> For KVM we have a special PV machine type called "ppce500". This machine
>> is inspired by the MPC8544DS board, but implements a lot less features
>> than that one.
>>
>> It also provides more PCI slots and is supposed to be enumerated by
>> device tree only.
>>
>> This patch adds support for the generic ppce500 machine and tries to
>> rely solely on device tree for device enumeration.
>>
>> Signed-off-by: Alexander Graf <agraf at suse.de>
>>
>> ---
>>
>> v3 -> v4:
>>
>> - use new tlb map syntax
>> - check that tlb map mapped everything
>> - always save/restore r3 for cpu_init_early_f
>> - remove CONFIG_DYNAMIC_CCSRBAR
>> - make init_tlbs weak and remove all init_tlbs_dynamic() cruft
>> - always map fdt to fixed virtual address
>> - fold together AS=1 fdt map functions
>> - use tlb_map_range for CCSR map
>> - search for PCI based on device type rather than compatible
>> - remove unnecessary cast
>> - call get_linear_ram_size directly
>> - override get_tbclk with timebase-frequency fetching code
>> ---
>
> <snip>
>
>> diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
>> index 993b8b8..998781b 100644
>> --- a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
>> +++ b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
>> @@ -79,7 +79,7 @@ void setup_ifc(void)
>> #endif
>>
>> /* We run cpu_init_early_f in AS = 1 */
>> -void cpu_init_early_f(void)
>> +void cpu_init_early_f(void *fdt)
>> {
>> u32 mas0, mas1, mas2, mas3, mas7;
>> int i;
>> @@ -102,6 +102,12 @@ void cpu_init_early_f(void)
>> for (i = 0; i < sizeof(gd_t); i++)
>> ((char *)gd)[i] = 0;
>>
>> + /*
>> + * CONFIG_SYS_CCSRBAR_PHYS below may use gd->fdt_blob on ePAPR systems,
>> + * so we need to populate it before it accesses it.
>> + */
>> + gd->fdt_blob = fdt;
>> +
>
> Alex,
>
> I am thinking to add back "#ifdef CONFIG_QEMU_E500" you had for your v3 and
> earlier version for the above change. Do you have any concerns?
>
> The reason I am proposing this is to use generic board architecture.
> gd->fdt_blob is used by some other functions to detect if device tree exists.
> Your change takes r3 from entry and treat it as device tree. It is not the case
> for a normal metal SoC. I need to clear this variable.
No complaints at all from me here :)
Alex
>
> York
>
More information about the U-Boot
mailing list