qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 13/24] memory: remove unnecessary masking of MemoryRegion ram_addr
Date: Mon, 23 May 2016 17:09:48 +0200	[thread overview]
Message-ID: <1464016199-43768-14-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1464016199-43768-1-git-send-email-pbonzini@redhat.com>

mr->ram_block->offset is already aligned to both host and target size
(see qemu_ram_alloc_internal).  Remove further masking as it is
unnecessary.

Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 exec.c          | 21 +++++++--------------
 memory.c        |  5 ++---
 translate-all.c |  3 +--
 3 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/exec.c b/exec.c
index 8cf535d..a3a93ae 100644
--- a/exec.c
+++ b/exec.c
@@ -1046,8 +1046,7 @@ hwaddr memory_region_section_get_iotlb(CPUState *cpu,
 
     if (memory_region_is_ram(section->mr)) {
         /* Normal RAM.  */
-        iotlb = (memory_region_get_ram_addr(section->mr) & TARGET_PAGE_MASK)
-            + xlat;
+        iotlb = memory_region_get_ram_addr(section->mr) + xlat;
         if (!section->readonly) {
             iotlb |= PHYS_SECTION_NOTDIRTY;
         } else {
@@ -3079,9 +3078,7 @@ static inline uint32_t address_space_ldl_internal(AddressSpace *as, hwaddr addr,
     } else {
         /* RAM case */
         ptr = qemu_get_ram_ptr(mr->ram_block,
-                               (memory_region_get_ram_addr(mr)
-                                & TARGET_PAGE_MASK)
-                               + addr1);
+                               memory_region_get_ram_addr(mr) + addr1);
         switch (endian) {
         case DEVICE_LITTLE_ENDIAN:
             val = ldl_le_p(ptr);
@@ -3175,9 +3172,7 @@ static inline uint64_t address_space_ldq_internal(AddressSpace *as, hwaddr addr,
     } else {
         /* RAM case */
         ptr = qemu_get_ram_ptr(mr->ram_block,
-                               (memory_region_get_ram_addr(mr)
-                                & TARGET_PAGE_MASK)
-                               + addr1);
+                               memory_region_get_ram_addr(mr) + addr1);
         switch (endian) {
         case DEVICE_LITTLE_ENDIAN:
             val = ldq_le_p(ptr);
@@ -3291,9 +3286,7 @@ static inline uint32_t address_space_lduw_internal(AddressSpace *as,
     } else {
         /* RAM case */
         ptr = qemu_get_ram_ptr(mr->ram_block,
-                               (memory_region_get_ram_addr(mr)
-                                & TARGET_PAGE_MASK)
-                               + addr1);
+                               memory_region_get_ram_addr(mr) + addr1);
         switch (endian) {
         case DEVICE_LITTLE_ENDIAN:
             val = lduw_le_p(ptr);
@@ -3375,7 +3368,7 @@ void address_space_stl_notdirty(AddressSpace *as, hwaddr addr, uint32_t val,
 
         r = memory_region_dispatch_write(mr, addr1, val, 4, attrs);
     } else {
-        addr1 += memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK;
+        addr1 += memory_region_get_ram_addr(mr);
         ptr = qemu_get_ram_ptr(mr->ram_block, addr1);
         stl_p(ptr, val);
 
@@ -3430,7 +3423,7 @@ static inline void address_space_stl_internal(AddressSpace *as,
         r = memory_region_dispatch_write(mr, addr1, val, 4, attrs);
     } else {
         /* RAM case */
-        addr1 += memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK;
+        addr1 += memory_region_get_ram_addr(mr);
         ptr = qemu_get_ram_ptr(mr->ram_block, addr1);
         switch (endian) {
         case DEVICE_LITTLE_ENDIAN:
@@ -3540,7 +3533,7 @@ static inline void address_space_stw_internal(AddressSpace *as,
         r = memory_region_dispatch_write(mr, addr1, val, 2, attrs);
     } else {
         /* RAM case */
-        addr1 += memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK;
+        addr1 += memory_region_get_ram_addr(mr);
         ptr = qemu_get_ram_ptr(mr->ram_block, addr1);
         switch (endian) {
         case DEVICE_LITTLE_ENDIAN:
diff --git a/memory.c b/memory.c
index 9d00dc5..4e3cda8 100644
--- a/memory.c
+++ b/memory.c
@@ -1628,7 +1628,7 @@ int memory_region_get_fd(MemoryRegion *mr)
 
     assert(mr->ram_block);
 
-    return qemu_get_ram_fd(memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK);
+    return qemu_get_ram_fd(memory_region_get_ram_addr(mr));
 }
 
 void *memory_region_get_ram_ptr(MemoryRegion *mr)
@@ -1642,8 +1642,7 @@ void *memory_region_get_ram_ptr(MemoryRegion *mr)
         mr = mr->alias;
     }
     assert(mr->ram_block);
-    ptr = qemu_get_ram_ptr(mr->ram_block,
-                           memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK);
+    ptr = qemu_get_ram_ptr(mr->ram_block, memory_region_get_ram_addr(mr));
     rcu_read_unlock();
 
     return ptr + offset;
diff --git a/translate-all.c b/translate-all.c
index 1c1c855..c599dc4 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -1555,8 +1555,7 @@ void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr)
         rcu_read_unlock();
         return;
     }
-    ram_addr = (memory_region_get_ram_addr(mr) & TARGET_PAGE_MASK)
-        + addr;
+    ram_addr = memory_region_get_ram_addr(mr) + addr;
     tb_invalidate_phys_page_range(ram_addr, ram_addr + 1, 0);
     rcu_read_unlock();
 }
-- 
1.8.3.1

  parent reply	other threads:[~2016-05-23 15:10 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-23 15:09 [Qemu-devel] [PULL 00/24] Misc patches for 2016-05-23 Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 01/24] exec.c: Ensure right alignment also for file backed ram Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 02/24] docs/atomics.txt: Update pointer to linux macro Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 03/24] i386: kvmvapic: initialise imm32 variable Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 04/24] configure: Allow builds with extra warnings Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 05/24] target-i386: key sfence availability on CPUID_SSE, not CPUID_SSE2 Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 06/24] ioapic: keep RO bits for IOAPIC entry Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 07/24] ioapic: clear remote irr bit for edge-triggered interrupts Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 08/24] vl: change runstate only if new state is different from current state Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 09/24] memory: drop find_ram_block() Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 10/24] exec: adjust rcu_read_lock requirement Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 11/24] memory: Remove code for mr->may_overlap Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 12/24] memory: Drop FlatRange.romd_mode Paolo Bonzini
2016-05-23 15:09 ` Paolo Bonzini [this message]
2016-05-23 15:09 ` [Qemu-devel] [PULL 14/24] cpus.c: Use pthread_sigmask() rather than sigprocmask() Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 15/24] Remove config-devices.mak on 'make clean' Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 16/24] scripts/signrom.py: Allow option ROM checksum script to write the size header Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 17/24] scripts/signrom.py: Check for magic in option ROMs Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 18/24] esp: check command buffer length before write(CVE-2016-4439) Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 19/24] esp: check dma length before reading scsi command(CVE-2016-4441) Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 20/24] iscsi: pass SCSI status back for SG_IO Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 21/24] coccinelle: add g_assert_cmp* to macro file Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 22/24] target-i386: add a generic x86 nmi handler Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 23/24] nmi: remove x86 specific nmi handling Paolo Bonzini
2016-05-23 15:09 ` [Qemu-devel] [PULL 24/24] cpus: call the core nmi injection function Paolo Bonzini
2016-05-23 16:16 ` [Qemu-devel] [PULL 00/24] Misc patches for 2016-05-23 Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1464016199-43768-14-git-send-email-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).