qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [PATCH] virtio: move bi-endian target support to a single


From: Greg Kurz
Subject: Re: [Qemu-ppc] [PATCH] virtio: move bi-endian target support to a single location
Date: Thu, 2 Jun 2016 18:04:37 +0200

On Wed, 1 Jun 2016 12:33:28 +1000
David Gibson <address@hidden> wrote:

> On Tue, May 31, 2016 at 03:15:21PM +0200, Paolo Bonzini wrote:
> > 
> > 
> > On 31/05/2016 15:10, Greg Kurz wrote:  
> > >>> > > +#if defined(TARGET_PPC64) || defined(TARGET_ARM)
> > >>> > > +#define LEGACY_VIRTIO_IS_BIENDIAN 1
> > >>> > > +#endif    
> > >> > 
> > >> > These will only be correct if something else includes cpu.h.  Instead 
> > >> > of  
> > > Unless I missed something, the TARGET_* macros come from the generated
> > > config-target.h header, which is in turn included by qemu/osdep.h and
> > > thus included by most of the code.  
> > 
> > You're right.  Problems _could_ happen if virtio-access.h is included in
> > a file compiled without -DNEED_CPU_H (i.e. with common-obj-y instead of
> > obj-y) but include/exec/poison.h should take care of that.
> >   
> > >> > defining this, you should add
> > >> > 
> > >> > #include "cpu.h"
> > >> > 
> > >> > at the top of include/hw/virtio-access.h and leave the definitions in
> > >> > target-*/cpu.h.
> > >> >   
> > > All this bi-endian stuff is really an old-virtio-only thing... it is
> > > only to be used by virtio_access_is_big_endian(). The fact that it
> > > broke silently with your cleanup series is yet another proof that
> > > this workaround is fragile.  
> > 
> > It is not fragile actually.  cpu.h doesn't exist in common-obj-y, so the
> > TARGET_IS_BIENDIAN define can be safely taken from cpu.h.
> > 
> > Anyway because of poison.h your solution isn't fragile either, so
> > 
> > Reviewed-by: Paolo Bonzini <address@hidden>  
> 
> Should I take this through my tree?
> 

That would be great !

--
Greg




reply via email to

[Prev in Thread] Current Thread [Next in Thread]