[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V6] xen: arm: platforms: Adding reset support for xgene arm64 platform.
On Mon, 2014-01-27 at 13:36 +0000, Julien Grall wrote: > On 01/27/2014 11:34 AM, Pranavkumar Sawargaonkar wrote: > > This patch adds a reset support for xgene arm64 platform. > > > > V6: > > - Incorporating comments received on V5 patch. > > V5: > > - Incorporating comments received on V4 patch. > > V4: > > - Removing TODO comment about retriving reset base address from dts > > as that is done now. > > V3: > > - Retriving reset base address and reset mask from device tree. > > - Removed unnecssary header files included earlier. > > V2: > > - Removed unnecssary mdelay in code. > > - Adding iounmap of the base address. > > V1: > > -Initial patch. > > > > Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@xxxxxxxxxx> > > Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxx> > > --- > > xen/arch/arm/platforms/xgene-storm.c | 72 > > ++++++++++++++++++++++++++++++++++ > > 1 file changed, 72 insertions(+) > > > > diff --git a/xen/arch/arm/platforms/xgene-storm.c > > b/xen/arch/arm/platforms/xgene-storm.c > > index 5b0bd5f..4fc185b 100644 > > --- a/xen/arch/arm/platforms/xgene-storm.c > > +++ b/xen/arch/arm/platforms/xgene-storm.c > > @@ -20,8 +20,16 @@ > > > > #include <xen/config.h> > > #include <asm/platform.h> > > +#include <xen/stdbool.h> > > +#include <xen/vmap.h> > > +#include <asm/io.h> > > #include <asm/gic.h> > > > > +/* Variables to save reset address of soc during platform initialization. > > */ > > +static u64 reset_addr, reset_size; > > +static u32 reset_mask; > > +static bool reset_vals_valid = false; > > + > > static uint32_t xgene_storm_quirks(void) > > { > > return PLATFORM_QUIRK_GIC_64K_STRIDE; > > @@ -107,6 +115,68 @@ err: > > return ret; > > } > > > > +static void xgene_storm_reset(void) > > +{ > > I'm concerned about reset function in general, in common code we have > this code (arch/arm/shutdown.c machine_restart). > > while (1) > { > raw_machine_reset(); // which call platform_reset() > mdelay(100); > } > > If platform_reset failed, it's possible with this code, the console will > be spam with "XGENE: ...". Hrm, yes, I hadn't thought of this. > Do we really need to call raw_machine_reset multiple time? I suppose the logic is that there is no harm in trying again, we aren't doing anything else and depending on the failure it might eventually work. I think it would be reasonable to remove the print from xgene_storm_reset, or use a static int once construct. > Would it be more suitable to have this code: > > raw_machine_reset(); > mdelay(100); > printk("Failed to reset\n"); > while (1); > > Or even better, moving the mdelay per platform... I don't think that makes sense. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |