[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianne
From: |
Greg Kurz |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness() |
Date: |
Thu, 27 Aug 2015 15:10:32 +0200 |
On Thu, 27 Aug 2015 15:30:55 +0300
"Michael S. Tsirkin" <address@hidden> wrote:
> On Thu, Aug 27, 2015 at 01:27:54PM +0100, Peter Maydell wrote:
> > On 27 August 2015 at 13:25, Michael S. Tsirkin <address@hidden> wrote:
> > > On Thu, Aug 27, 2015 at 01:20:52PM +0100, Peter Maydell wrote:
> > >> On 27 August 2015 at 13:17, Michael S. Tsirkin <address@hidden> wrote:
> > >> > Basically the point is that ABI is extended to make
> > >> > ioeventfd with len = 0 mean "any length".
> > >> > 0 is thus not meaningless anymore.
> > >>
> > >> But how can you do adjustment for incorrect endianness
> > >> if you don't know the size of the data that you're
> > >> trying to work with? That's why this switch insists
> > >> that the size is 1, 2, 4 or 8.
> >
> > > For kvm at least, "any length" implies "any data".
> > > So data is eventually discarded, we don't really need
> > > to adjust it for endian-ness.
> >
> > I'm still confused. If you have data it needs to be
> > adjusted. If we're not actually doing anything with
> > the data why are we calling this function in the first
> > place?
> >
> > -- PMM
>
> I guess you could skip calls to adjust_endianness when len == 0,
> that should work just as well.
>
adjust_endianness() is called from 4 different locations:
- memory_region_dispatch_read()
- memory_region_dispatch_write()
- memory_region_add_eventfd()
- memory_region_del_eventfd()
Since the issue was raised for the eventfd ones, it makes more sense to check
in the caller indeed... and to preserve other paths.
Cheers.
--
Greg
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), (continued)
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Peter Maydell, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Michael S. Tsirkin, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Peter Maydell, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Michael S. Tsirkin, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Peter Maydell, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Michael S. Tsirkin, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Peter Maydell, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Michael S. Tsirkin, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Peter Maydell, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Michael S. Tsirkin, 2015/08/27
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(),
Greg Kurz <=
- Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness(), Jason Wang, 2015/08/27