]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
memory: Align MemoryRegionSections fields
authorDr. David Alan Gilbert <dgilbert@redhat.com>
Wed, 14 Aug 2019 17:55:33 +0000 (18:55 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 25 Sep 2019 14:15:59 +0000 (10:15 -0400)
MemoryRegionSection includes an Int128 'size' field;
on some platforms the compiler causes an alignment of this to
a 128bit boundary, leaving 8 bytes of dead space.
This deadspace can be filled with junk.

Move the size field to the top avoiding unnecessary alignment.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190814175535.2023-2-dgilbert@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
include/exec/memory.h

index a30245c25a7c442b64442dac01fc93720db11eeb..a1e6d846cc5e9e636fb5015f3215252990713831 100644 (file)
@@ -495,10 +495,10 @@ static inline FlatView *address_space_to_flatview(AddressSpace *as)
  * @nonvolatile: this section is non-volatile
  */
 struct MemoryRegionSection {
+    Int128 size;
     MemoryRegion *mr;
     FlatView *fv;
     hwaddr offset_within_region;
-    Int128 size;
     hwaddr offset_within_address_space;
     bool readonly;
     bool nonvolatile;