From: David Hildenbrand <david@redhat.com>
To: qemu-devel@nongnu.org
Cc: thuth@redhat.com, cohuck@redhat.com,
Christian Borntraeger <borntraeger@de.ibm.com>,
Alexander Graf <agraf@suse.de>,
Richard Henderson <rth@twiddle.net>,
David Hildenbrand <david@redhat.com>
Subject: [Qemu-devel] [PATCH v1 6/6] s390x/tcg: make idte/ipte use the new _real mmu
Date: Tue, 26 Sep 2017 20:33:18 +0200 [thread overview]
Message-ID: <20170926183318.12995-7-david@redhat.com> (raw)
In-Reply-To: <20170926183318.12995-1-david@redhat.com>
We don't wrap addresses in the mmu for the _real case, therefore the
behavior should be unchanged.
Signed-off-by: David Hildenbrand <david@redhat.com>
---
target/s390x/mem_helper.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index 4cf4f29171..010f509ac5 100644
--- a/target/s390x/mem_helper.c
+++ b/target/s390x/mem_helper.c
@@ -1889,11 +1889,11 @@ void HELPER(idte)(CPUS390XState *env, uint64_t r1, uint64_t r2, uint32_t m4)
for (i = 0; i < entries; i++) {
/* addresses are not wrapped in 24/31bit mode but table index is */
raddr = table + ((index + i) & 0x7ff) * sizeof(entry);
- entry = ldq_phys(cs->as, raddr);
+ entry = cpu_ldq_real_ra(env, raddr, ra);
if (!(entry & _REGION_ENTRY_INV)) {
/* we are allowed to not store if already invalid */
entry |= _REGION_ENTRY_INV;
- stq_phys(cs->as, raddr, entry);
+ cpu_stq_real_ra(env, raddr, entry, ra);
}
}
}
@@ -1911,6 +1911,7 @@ void HELPER(ipte)(CPUS390XState *env, uint64_t pto, uint64_t vaddr,
uint32_t m4)
{
CPUState *cs = CPU(s390_env_get_cpu(env));
+ const uintptr_t ra = GETPC();
uint64_t page = vaddr & TARGET_PAGE_MASK;
uint64_t pte_addr, pte;
@@ -1919,9 +1920,9 @@ void HELPER(ipte)(CPUS390XState *env, uint64_t pto, uint64_t vaddr,
pte_addr += (vaddr & VADDR_PX) >> 9;
/* Mark the page table entry as invalid */
- pte = ldq_phys(cs->as, pte_addr);
+ pte = cpu_ldq_real_ra(env, pte_addr, ra);
pte |= _PAGE_INVALID;
- stq_phys(cs->as, pte_addr, pte);
+ cpu_stq_real_ra(env, pte_addr, pte, ra);
/* XXX we exploit the fact that Linux passes the exact virtual
address here - it's not obliged to! */
--
2.13.5
next prev parent reply other threads:[~2017-09-26 18:33 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-26 18:33 [Qemu-devel] [PATCH v1 0/6] s390x/tcg: fix some accesses using low address David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 1/6] s390x/tcg: fix checking for invalid memory check David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 2/6] s390x/tcg: add MMU for real addresses David Hildenbrand
2017-09-27 12:20 ` David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 3/6] s390x/tcg: make lura(g) use the new _real mmu David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 4/6] s390x/tcg: make stora(g) " David Hildenbrand
2017-09-26 18:33 ` [Qemu-devel] [PATCH v1 5/6] s390x/tcg: make testblock " David Hildenbrand
2017-09-26 18:33 ` David Hildenbrand [this message]
2017-09-26 23:10 ` [Qemu-devel] [PATCH v1 0/6] s390x/tcg: fix some accesses using low address Richard Henderson
2017-09-27 7:38 ` Thomas Huth
2017-09-27 11:49 ` Cornelia Huck
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=20170926183318.12995-7-david@redhat.com \
--to=david@redhat.com \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=thuth@redhat.com \
/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).