[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH ARM v8 2/4] mini-os: arm: interrupt controller



Julien Grall, le Wed 22 Oct 2014 14:06:44 +0100, a écrit :
> >>>> +    return value;
> >>>> +}
> >>>> +
> >>>> +static inline void REG_WRITE32(volatile uint32_t *addr, unsigned int 
> >>>> value)
> >>>> +{
> >>>> +    __asm__ __volatile__("str %0, [%1]"::"r"(value), "r"(addr));
> >>>> +    wmb();
> >>>> +}
> 
> write barrier may be necessary on some, where we need to wait that all
> write has been done before doing this one (such as enable the GIC ...).
> 
> So this function is buggy. It should be:
> 
> wmb();
> __asm__ __volatile__(....).

Well, I'd say it's the caller of REG_WRITE32 which should explicit it.

Samuel

_______________________________________________
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®.