qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v8 10/20] cpu: introduce CPUClass::virtio_is_big


From: Greg Kurz
Subject: Re: [Qemu-devel] [PATCH v8 10/20] cpu: introduce CPUClass::virtio_is_big_endian()
Date: Fri, 13 Jun 2014 14:08:35 +0200

On Fri, 13 Jun 2014 13:42:04 +0200
Alexander Graf <address@hidden> wrote:
> 
> On 13.06.14 13:22, Greg Kurz wrote:
> > If we want to support targets that can change endianness (modern PPC and
> > ARM for the moment), we need to add a per-CPU class method to be called
> > from the virtio code. The virtio_ prefix in the name is a hint for people
> > to avoid misusage (aka. anywhere but from the virtio code).
> >
> > The default behaviour is to return the compile-time default target
> > endianness.
> >
> > Suggested-by: Peter Maydell <address@hidden>
> > Signed-off-by: Greg Kurz <address@hidden>
> > ---
> >   include/qom/cpu.h |   10 ++++++++++
> >   qom/cpu.c         |    6 ++++++
> >   2 files changed, 16 insertions(+)
> >
> > diff --git a/include/qom/cpu.h b/include/qom/cpu.h
> > index 4b352a2..30e8fe3 100644
> > --- a/include/qom/cpu.h
> > +++ b/include/qom/cpu.h
> > @@ -116,6 +116,7 @@ typedef struct CPUClass {
> >       CPUUnassignedAccess do_unassigned_access;
> >       void (*do_unaligned_access)(CPUState *cpu, vaddr addr,
> >                                   int is_write, int is_user, uintptr_t 
> > retaddr);
> > +    bool (*virtio_is_big_endian)(CPUState *cpu);
> >       int (*memory_rw_debug)(CPUState *cpu, vaddr addr,
> >                              uint8_t *buf, int len, bool is_write);
> >       void (*dump_state)(CPUState *cpu, FILE *f, fprintf_function 
> > cpu_fprintf,
> > @@ -548,6 +549,15 @@ void cpu_interrupt(CPUState *cpu, int mask);
> >   
> >   #endif /* USER_ONLY */
> >   
> > +#ifndef CONFIG_USER_ONLY
> > +static inline bool cpu_virtio_is_big_endian(CPUState *cpu)
> > +{
> > +    CPUClass *cc = CPU_GET_CLASS(cpu);
> > +
> > +    return cc->virtio_is_big_endian(cpu);
> > +}
> > +#endif
> > +
> 
> Why? Just do this from virtio code directly.
> 
> 
> Alex
> 

Well I guess it is the same mistake as in the previous patch... I put
it there because it is a cpu method, but indeed it should only be
exposed to virtio code.

-- 
Gregory Kurz                                     address@hidden
                                                 address@hidden
Software Engineer @ IBM/Meiosys                  http://www.ibm.com
Tel +33 (0)562 165 496

"Anarchy is about taking complete responsibility for yourself."
        Alan Moore.




reply via email to

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