[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.