{"id":819235,"url":"http://patchwork.ozlabs.org/api/covers/819235/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20170927170027.8539-1-david@redhat.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170927170027.8539-1-david@redhat.com>","list_archive_url":null,"date":"2017-09-27T17:00:24","name":"[RFC,0/3] s390x/tcg: LAP support using immediate TLB invalidation","submitter":{"id":70402,"url":"http://patchwork.ozlabs.org/api/people/70402/?format=json","name":"David Hildenbrand","email":"david@redhat.com"},"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20170927170027.8539-1-david@redhat.com/mbox/","series":[{"id":5406,"url":"http://patchwork.ozlabs.org/api/series/5406/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=5406","date":"2017-09-27T17:00:24","name":"s390x/tcg: LAP support using immediate TLB invalidation","version":1,"mbox":"http://patchwork.ozlabs.org/series/5406/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/819235/comments/","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=david@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y2PGx2z1Dz9tXb\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 28 Sep 2017 03:01:12 +1000 (AEST)","from localhost ([::1]:55616 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dxFht-0006bW-Kb\n\tfor incoming@patchwork.ozlabs.org; Wed, 27 Sep 2017 13:01:09 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:59927)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <david@redhat.com>) id 1dxFhN-0006b3-2a\n\tfor qemu-devel@nongnu.org; Wed, 27 Sep 2017 13:00:42 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <david@redhat.com>) id 1dxFhI-00060T-Fd\n\tfor qemu-devel@nongnu.org; Wed, 27 Sep 2017 13:00:36 -0400","from mx1.redhat.com ([209.132.183.28]:42698)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <david@redhat.com>) id 1dxFhI-0005zM-97\n\tfor qemu-devel@nongnu.org; Wed, 27 Sep 2017 13:00:32 -0400","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 046F0C0D7978;\n\tWed, 27 Sep 2017 17:00:30 +0000 (UTC)","from t460s.redhat.com (ovpn-117-241.ams2.redhat.com\n\t[10.36.117.241])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 6D94F8922E;\n\tWed, 27 Sep 2017 17:00:28 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 046F0C0D7978","From":"David Hildenbrand <david@redhat.com>","To":"qemu-devel@nongnu.org","Date":"Wed, 27 Sep 2017 19:00:24 +0200","Message-Id":"<20170927170027.8539-1-david@redhat.com>","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.13","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.31]);\n\tWed, 27 Sep 2017 17:00:30 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"[Qemu-devel] [PATCH RFC 0/3] s390x/tcg: LAP support using immediate\n\tTLB invalidation","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Christian Borntraeger <borntraeger@de.ibm.com>, thuth@redhat.com,\n\tcohuck@redhat.com, Richard Henderson <richard.henderson@linaro.org>, \n\tAlexander Graf <agraf@suse.de>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"},"content":"Details about Low-Address Protection can be found in description of\npatch 1 and 2. It is basically a subpage protection of the first two\npages of every address space (for which it is enabled).\n\nWe can achieve this by simply directly invalidating the TLB entry and\ntherefore forcing every write accesses onto these two pages into the slow\npath.\n\nWith this patch, I can boot Linux just fine (which uses LAP). This also\nmakes all related kvm-unit-tests that we have pass.\n\nThe checks are working that good, that I discovered a STFL bug. STFL\nstores into the low addresses but low-address protection does explicitly\nnot apply. The Linux kernel calls STFL while LAP is active. So without\npatch nr 3, booting Linux will fail. (this change is also part of a patch\nof my SMP series).\n\nBased on: https://github.com/cohuck/qemu.git s390-next\nAvailable on: https://github.com/dhildenb/qemu.git s390x_lap\n\n\nDavid Hildenbrand (3):\n  accel/tcg: allow to invalidate a write TLB entry immediately\n  s390x/tcg: low-address protection support\n  s390x/tcg: make STFL store into the lowcore\n\n accel/tcg/cputlb.c           |  5 ++-\n accel/tcg/softmmu_template.h |  4 +-\n include/exec/cpu-all.h       |  3 ++\n target/s390x/excp_helper.c   |  3 +-\n target/s390x/helper.h        |  2 +-\n target/s390x/mem_helper.c    |  8 ----\n target/s390x/misc_helper.c   |  7 +++-\n target/s390x/mmu_helper.c    | 96 ++++++++++++++++++++++++++++----------------\n 8 files changed, 78 insertions(+), 50 deletions(-)"}