From patchwork Tue May 14 12:11:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 10942799 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2CFAC1390 for ; Tue, 14 May 2019 12:13:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1C5C328647 for ; Tue, 14 May 2019 12:13:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 108A7286A1; Tue, 14 May 2019 12:13:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id AD74328647 for ; Tue, 14 May 2019 12:13:19 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hQWHW-0006DZ-Eg; Tue, 14 May 2019 12:11:42 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hQWHV-0006DJ-8H for xen-devel@lists.xenproject.org; Tue, 14 May 2019 12:11:41 +0000 X-Inumbo-ID: 6d94a1e0-7641-11e9-8980-bc764e045a96 Received: from foss.arm.com (unknown [217.140.101.70]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTP id 6d94a1e0-7641-11e9-8980-bc764e045a96; Tue, 14 May 2019 12:11:39 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5309A341; Tue, 14 May 2019 05:11:39 -0700 (PDT) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.196.50]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 40E6A3F71E; Tue, 14 May 2019 05:11:38 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Tue, 14 May 2019 13:11:24 +0100 Message-Id: <20190514121132.26732-1-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 Subject: [Xen-devel] [PATCH MM-PART1 v3 0/8] xen/arm: TLB flush helpers rework X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Oleksandr_Tyshchenko@epam.com, Julien Grall , Stefano Stabellini , Andrii_Anisov@epam.com MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP Hi all, I spent the last few months looking at Xen boot and memory management to make it simpler, more efficient and also more compliant in respect of the Arm Arm. The full rework is quite consequence (already 150 patches and I haven't yet finished!), so I am planning to send in smaller part over the next few weeks. In this first part, I focus on reworking how we flush the TLBs in Xen. The main addition for this version is to prevent Xen booting on AIVIVT instruction caches (see patch #1). For all the other changes, see each patch. Cheers, Julien Grall (8): xen/arm: Don't boot Xen on platform using AIVIVT instruction caches xen/arm: mm: Consolidate setting SCTLR_EL2.WXN in a single place xen/arm: Remove flush_xen_text_tlb_local() xen/arm: tlbflush: Clarify the TLB helpers name xen/arm: page: Clarify the Xen TLBs helpers name xen/arm: Gather all TLB flush helpers in tlbflush.h xen/arm: tlbflush: Rework TLB helpers xen/arm: mm: Flush the TLBs even if a mapping failed in create_xen_entries xen/arch/arm/mm.c | 69 ++++++++++++++++++++++----------- xen/arch/arm/p2m.c | 6 +-- xen/arch/arm/setup.c | 5 +++ xen/arch/arm/smp.c | 2 +- xen/arch/arm/traps.c | 2 +- xen/include/asm-arm/arm32/flushtlb.h | 71 +++++++++++++++++++--------------- xen/include/asm-arm/arm32/page.h | 48 ++++------------------- xen/include/asm-arm/arm64/flushtlb.h | 75 ++++++++++++++++++++---------------- xen/include/asm-arm/arm64/page.h | 49 +++-------------------- xen/include/asm-arm/flushtlb.h | 38 ++++++++++++++++++ xen/include/asm-arm/page.h | 38 ------------------ xen/include/asm-arm/processor.h | 5 +++ 12 files changed, 194 insertions(+), 214 deletions(-)