On Fri, Apr 10, 2020 at 3:50 AM Paolo Bonzini <pbonz...@redhat.com> wrote: > > On 10/04/20 05:41, Alexander Duyck wrote: > > From: Alexander Duyck <alexander.h.du...@linux.intel.com> > > > > According to the documentation in memory.h a ROM memory region will be > > backed by RAM for reads, but is supposed to go through a callback for > > writes. Currently we were not checking for the existence of the rom_device > > flag when determining if we could perform a direct write or not. > > > > To correct that add a check to memory_region_is_direct so that if the > > memory region has the rom_device flag set we will return false for all > > checks where is_write is set. > > > > Signed-off-by: Alexander Duyck <alexander.h.du...@linux.intel.com> > > --- > > include/exec/memory.h | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/include/exec/memory.h b/include/exec/memory.h > > index 1614d9a02c0c..e000bd2f97b2 100644 > > --- a/include/exec/memory.h > > +++ b/include/exec/memory.h > > @@ -2351,8 +2351,8 @@ void > > address_space_write_cached_slow(MemoryRegionCache *cache, > > static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write) > > { > > if (is_write) { > > - return memory_region_is_ram(mr) && > > - !mr->readonly && !memory_region_is_ram_device(mr); > > + return memory_region_is_ram(mr) && !mr->readonly && > > + !mr->rom_device && !memory_region_is_ram_device(mr); > > } else { > > return (memory_region_is_ram(mr) && > > !memory_region_is_ram_device(mr)) || > > memory_region_is_romd(mr); > > > > Good catch. I queued this up for 5.0. > > Thanks, > > Paolo
Thanks Paolo, It looks like you only pulled this patch correct? If so, David & Michael, do I need to resubmit the first 3 in this series or can those be pulled separately? Thanks. Alex