From: Thomas Huth <thuth@redhat.com>
To: Aurelien Jarno <aurelien@aurel32.net>, qemu-devel@nongnu.org
Cc: Alexander Graf <agraf@suse.de>, Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH v2 03/29] target/s390x: implement local-TLB-clearing in IPTE
Date: Tue, 30 May 2017 11:01:25 +0200 [thread overview]
Message-ID: <b2da0fdb-f964-8d2f-e364-b91a0595d4e0@redhat.com> (raw)
In-Reply-To: <20170529192440.5990-4-aurelien@aurel32.net>
On 29.05.2017 21:24, Aurelien Jarno wrote:
> And at the same time make IPTE SMP aware.
>
> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
> ---
> target/s390x/helper.h | 2 +-
> target/s390x/mem_helper.c | 19 ++++++++++++-------
> target/s390x/translate.c | 6 +++++-
> 3 files changed, 18 insertions(+), 9 deletions(-)
[...]
> @@ -1092,13 +1091,19 @@ void HELPER(ipte)(CPUS390XState *env, uint64_t pto, uint64_t vaddr)
>
> /* XXX we exploit the fact that Linux passes the exact virtual
> address here - it's not obliged to! */
> - tlb_flush_page(cs, page);
> + /* XXX: the LC bit should be considered as 0 if the local-TLB-clearing
> + facility is not installed. */
That should be easy, I think:
if (!s390_has_feat(S390_FEAT_LOCAL_TLB_CLEARING)) {
m4 = 0;
}
> + if (m4 & 1) {
> + tlb_flush_page(cs, page);
> + } else {
> + tlb_flush_page_all_cpus_synced(cs, page);
> + }
>
> /* XXX 31-bit hack */
> - if (page & 0x80000000) {
> - tlb_flush_page(cs, page & ~0x80000000);
> + if (m4 & 1) {
> + tlb_flush_page(cs, page ^ 0x80000000);
> } else {
> - tlb_flush_page(cs, page | 0x80000000);
> + tlb_flush_page_all_cpus_synced(cs, page ^ 0x80000000);
> }
> }
Thomas
next prev parent reply other threads:[~2017-05-30 9:01 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-29 19:24 [Qemu-devel] [PATCH v2 00/29] target/s390x: fix, improve and implement some more instructions Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 01/29] target/s390x: remove dead code in translate.c Aurelien Jarno
2017-05-29 20:47 ` Philippe Mathieu-Daudé
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 02/29] target/s390x: remove some Linux assumptions from IPTE Aurelien Jarno
2017-05-30 8:20 ` Thomas Huth
2017-05-30 11:19 ` Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 03/29] target/s390x: implement local-TLB-clearing in IPTE Aurelien Jarno
2017-05-30 9:01 ` Thomas Huth [this message]
2017-05-30 11:18 ` Aurelien Jarno
2017-05-30 12:03 ` Thomas Huth
2017-05-30 19:59 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 04/29] target/s390x: implement TEST AND SET Aurelien Jarno
2017-05-30 20:01 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 05/29] target/s390x: implement TEST ADDRESSING MODE Aurelien Jarno
2017-05-30 20:01 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 06/29] target/s390x: implement PACK Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 07/29] target/s390x: implement LOAD PAIR FROM QUADWORD Aurelien Jarno
2017-05-30 20:03 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 08/29] target/s390x: implement STORE PAIR TO QUADWORD Aurelien Jarno
2017-05-30 20:03 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 09/29] target/s390x: implement COMPARE AND SIGNAL Aurelien Jarno
2017-05-30 20:08 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 10/29] target/s390x: implement MOVE INVERSE Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 11/29] target/s390x: implement MOVE NUMERICS Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 12/29] target/s390x: implement MOVE WITH OFFSET Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 13/29] target/s390x: implement MOVE ZONES Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 14/29] target/s390x: improve 24-bit and 31-bit addresses read Aurelien Jarno
2017-05-30 9:14 ` Thomas Huth
2017-05-30 20:08 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 15/29] target/s390x: improve 24-bit and 31-bit addresses write Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 16/29] target/s390x: improve 24-bit and 31-bit lengths read/write Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 17/29] target/s390x: fix COMPARE LOGICAL LONG EXTENDED Aurelien Jarno
2017-05-30 20:11 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 18/29] target/s390x: implement COMPARE LOGICAL LONG Aurelien Jarno
2017-05-30 20:12 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 19/29] target/s390x: fix adj_len_to_page Aurelien Jarno
2017-05-30 20:12 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 20/29] target/s390x: improve MOVE LONG and MOVE LONG EXTENDED Aurelien Jarno
2017-05-30 20:14 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 21/29] target/s390x: implement COMPARE LOGICAL LONG UNICODE Aurelien Jarno
2017-05-30 20:15 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 22/29] target/s390x: implement MOVE " Aurelien Jarno
2017-05-30 20:15 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 23/29] target/s390x: implement PACK ASCII Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 24/29] target/s390x: implement PACK UNICODE Aurelien Jarno
2017-05-30 20:16 ` Richard Henderson
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 25/29] target/s390x: implement UNPACK ASCII Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 26/29] target/s390x: implement UNPACK UNICODE Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 27/29] target/s390x: implement TEST DECIMAL Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 28/29] target/s390x: implement TRANSLATE ONE/TWO TO ONE/TWO Aurelien Jarno
2017-05-29 19:24 ` [Qemu-devel] [PATCH v2 29/29] target/s390x: update maximum TCG model to z800 Aurelien Jarno
2017-05-30 9:18 ` Thomas Huth
2017-05-30 20:17 ` Richard Henderson
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=b2da0fdb-f964-8d2f-e364-b91a0595d4e0@redhat.com \
--to=thuth@redhat.com \
--cc=agraf@suse.de \
--cc=aurelien@aurel32.net \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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).