|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 10/10] xen/arm: Handle different bootwrapper locations for Hip04 platform
Hi Frediano,
This could be merged in #1.
Regards,
On 11/03/2014 10:12 AM, Frediano Ziglio wrote:
> From: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>
>
> Signed-off-by: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>
> ---
> xen/arch/arm/platforms/hip04.c | 63
> ++++++++++++++++++++++++++----------------
> 1 file changed, 39 insertions(+), 24 deletions(-)
>
> diff --git a/xen/arch/arm/platforms/hip04.c b/xen/arch/arm/platforms/hip04.c
> index 024c8a0..dec4984 100644
> --- a/xen/arch/arm/platforms/hip04.c
> +++ b/xen/arch/arm/platforms/hip04.c
> @@ -136,7 +136,7 @@ static void hip04_cluster_up(unsigned int cluster)
>
> static int __init hip04_smp_init(void)
> {
> - struct dt_device_node *np, *np_fab;
> + struct dt_device_node *np, *np_fab, *bw;
> const char *msg;
> u64 addr, size;
>
> @@ -150,30 +150,45 @@ static int __init hip04_smp_init(void)
> if ( !np_fab )
> goto err;
>
> - msg = "failed to get bootwrapper-phys\n";
> if ( !dt_property_read_u32(np, "bootwrapper-phys",
> - &hip04_boot.bootwrapper_phys) )
> - goto err;
> -
> - msg = "failed to get bootwrapper-size\n";
> - if ( !dt_property_read_u32(np, "bootwrapper-size",
> - &hip04_boot.bootwrapper_size) )
> - goto err;
> -
> - msg = "failed to get bootwrapper-magic\n";
> - if ( !dt_property_read_u32(np, "bootwrapper-magic",
> - &hip04_boot.bootwrapper_magic) )
> - goto err;
> -
> - msg = "failed to get relocation-entry\n";
> - if ( !dt_property_read_u32(np, "relocation-entry",
> - &hip04_boot.relocation_entry) )
> - goto err;
> -
> - msg = "failed to get relocation-size\n";
> - if ( !dt_property_read_u32(np, "relocation-size",
> - &hip04_boot.relocation_size) )
> - goto err;
> + &hip04_boot.bootwrapper_phys) ) {
> + u32 boot_method[4];
> + bw = dt_find_compatible_node(NULL, NULL,
> "hisilicon,hip04-bootwrapper");
> + msg = "hisilicon,hip04-bootwrapper missing in DT\n";
> + if ( !bw )
> + goto err;
> +
> + msg = "failed to get boot-method\n";
> + if ( !dt_property_read_u32_array(bw, "boot-method", boot_method, 4) )
> + goto err;
> + hip04_boot.bootwrapper_phys = boot_method[0];
> + hip04_boot.bootwrapper_size = boot_method[1];
> + hip04_boot.bootwrapper_magic = 0xa5a5a5a5;
> + hip04_boot.relocation_entry = boot_method[2];
> + hip04_boot.relocation_size = boot_method[3];
> + }
> + else
> + {
> + msg = "failed to get bootwrapper-size\n";
> + if ( !dt_property_read_u32(np, "bootwrapper-size",
> + &hip04_boot.bootwrapper_size) )
> + goto err;
> +
> + msg = "failed to get bootwrapper-magic\n";
> + if ( !dt_property_read_u32(np, "bootwrapper-magic",
> + &hip04_boot.bootwrapper_magic) )
> + goto err;
> +
> + msg = "failed to get relocation-entry\n";
> + if ( !dt_property_read_u32(np, "relocation-entry",
> + &hip04_boot.relocation_entry) )
> + goto err;
> +
> + msg = "failed to get relocation-size\n";
> + if ( !dt_property_read_u32(np, "relocation-size",
> + &hip04_boot.relocation_size) )
> + goto err;
> + }
>
> relocation = ioremap_nocache(hip04_boot.relocation_entry,
> hip04_boot.relocation_size);
>
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |