|
[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 |