[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V3 33/41] xen/arm: Add versatile express platform
On 05/10/2013 10:44 AM, Ian Campbell wrote: >> @@ -91,6 +93,47 @@ out: >> } >> >> /* >> + * TODO: Get base address from the device tree >> + * See arm,vexpress-reset node >> + */ >> +static void vexpress_reset(void) >> +{ >> + void __iomem *base; >> + void __iomem *sp810; >> + >> + /* Use the SP810 system controller to force a reset */ >> + base = ioremap_attr(SP810_ADDRESS & PAGE_MASK, PAGE_SIZE, >> + PAGE_HYPERVISOR_NOCACHE); >> + if ( !base ) >> + { >> + dprintk(XENLOG_ERR, "Unable to map SP810\n"); >> + return; >> + } >> + >> + sp810 = base + (SP810_ADDRESS & ~PAGE_MASK); > > Didn't I see you making vunmap, which iounmap is based on, take care of > the page offsets itself in an earlier patch? Or is that not the reason > you are going through the base + offset dance? I wasn't not sure if you will accept ioremap(..., 8); I will fix the patch. > >> + >> + /* switch to slow mode */ >> + iowritel(sp810, 0x3); >> + dsb(); isb(); >> + /* writing any value to SCSYSSTAT reg will reset the system */ >> + iowritel(sp810 + 4, 0x1); >> + dsb(); isb(); > > Hopefully we don't get here ;-) > >> + iounmap(base); >> +} >> + > -- Julien _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |