From: Vladimir Murzin <vladimir.murzin@arm.com> To: linux-arm-kernel@lists.infradead.org Cc: marc.zyngier@arm.com, catalin.marinas@arm.com, kbuild-all@01.org, kvmarm@lists.cs.columbia.edu Subject: [PATCH v2 0/3] Support Common Not Private translations Date: Wed, 11 Oct 2017 13:19:52 +0100 [thread overview] Message-ID: <1507724395-13735-1-git-send-email-vladimir.murzin@arm.com> (raw) Common Not Private (CNP) translations is a feature of ARMv8.2 extension which allows translation table entries to be shared between different PEs in the same inner shareable domain, so the hardware can use this fact to optimise the caching of such entries in the TLB. This patch set is an attempt to bring CNP support into Linux. It was tested on a v8.2 Fast Model with exploring traces and checking that TTBRx_ELy and VTTBR_EL2 have CnP bit set where appropriate. Changelog: v1 -> v2 - handle cpuilde case (per James) - use lm_allias with swapper_pg_dir (per James) - rule out ARM64_SW_TTBR0_PAN case (per Catalin) - s/BUG_ON/WARN_ON/ (per Catalin) - comment and commit message updates (per Catalin) - TTBR_CNP_BIT moved to asm/pgtable-hwdef.h (per Catalin) - has_useable_cnp() simplified (per Julien) RFC -> v1 - dropped RFC tag - rebased on 4.14-rc4 Thanks! Vladimir Murzin (3): arm64: mm: Support Common Not Private translations arm64: KVM: Support Common Not Private translations arm64: Introduce command line parameter to disable CNP Documentation/admin-guide/kernel-parameters.txt | 4 +++ arch/arm64/Kconfig | 14 +++++++++++ arch/arm64/include/asm/cpucaps.h | 3 ++- arch/arm64/include/asm/cpufeature.h | 6 +++++ arch/arm64/include/asm/mmu_context.h | 12 +++++++++ arch/arm64/include/asm/pgtable-hwdef.h | 2 ++ arch/arm64/kernel/cpufeature.c | 33 +++++++++++++++++++++++++ arch/arm64/kernel/hibernate.c | 2 +- arch/arm64/kernel/suspend.c | 3 +++ arch/arm64/kvm/hyp-init.S | 4 +++ arch/arm64/kvm/hyp/switch.c | 6 ++++- arch/arm64/mm/proc.S | 5 ++++ 12 files changed, 91 insertions(+), 3 deletions(-) -- 2.0.0
WARNING: multiple messages have this Message-ID (diff)
From: vladimir.murzin@arm.com (Vladimir Murzin) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 0/3] Support Common Not Private translations Date: Wed, 11 Oct 2017 13:19:52 +0100 [thread overview] Message-ID: <1507724395-13735-1-git-send-email-vladimir.murzin@arm.com> (raw) Common Not Private (CNP) translations is a feature of ARMv8.2 extension which allows translation table entries to be shared between different PEs in the same inner shareable domain, so the hardware can use this fact to optimise the caching of such entries in the TLB. This patch set is an attempt to bring CNP support into Linux. It was tested on a v8.2 Fast Model with exploring traces and checking that TTBRx_ELy and VTTBR_EL2 have CnP bit set where appropriate. Changelog: v1 -> v2 - handle cpuilde case (per James) - use lm_allias with swapper_pg_dir (per James) - rule out ARM64_SW_TTBR0_PAN case (per Catalin) - s/BUG_ON/WARN_ON/ (per Catalin) - comment and commit message updates (per Catalin) - TTBR_CNP_BIT moved to asm/pgtable-hwdef.h (per Catalin) - has_useable_cnp() simplified (per Julien) RFC -> v1 - dropped RFC tag - rebased on 4.14-rc4 Thanks! Vladimir Murzin (3): arm64: mm: Support Common Not Private translations arm64: KVM: Support Common Not Private translations arm64: Introduce command line parameter to disable CNP Documentation/admin-guide/kernel-parameters.txt | 4 +++ arch/arm64/Kconfig | 14 +++++++++++ arch/arm64/include/asm/cpucaps.h | 3 ++- arch/arm64/include/asm/cpufeature.h | 6 +++++ arch/arm64/include/asm/mmu_context.h | 12 +++++++++ arch/arm64/include/asm/pgtable-hwdef.h | 2 ++ arch/arm64/kernel/cpufeature.c | 33 +++++++++++++++++++++++++ arch/arm64/kernel/hibernate.c | 2 +- arch/arm64/kernel/suspend.c | 3 +++ arch/arm64/kvm/hyp-init.S | 4 +++ arch/arm64/kvm/hyp/switch.c | 6 ++++- arch/arm64/mm/proc.S | 5 ++++ 12 files changed, 91 insertions(+), 3 deletions(-) -- 2.0.0
next reply other threads:[~2017-10-11 12:19 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-10-11 12:19 Vladimir Murzin [this message] 2017-10-11 12:19 ` [PATCH v2 0/3] Support Common Not Private translations Vladimir Murzin 2017-10-11 12:19 ` [PATCH v2 1/3] arm64: mm: " Vladimir Murzin 2017-10-11 12:19 ` Vladimir Murzin 2017-10-18 15:00 ` James Morse 2017-10-18 15:00 ` James Morse 2017-12-13 14:19 ` James Morse 2017-12-13 14:19 ` James Morse 2017-12-13 16:59 ` Vladimir Murzin 2017-12-13 16:59 ` Vladimir Murzin 2017-10-11 12:19 ` [PATCH v2 2/3] arm64: KVM: " Vladimir Murzin 2017-10-11 12:19 ` Vladimir Murzin 2017-10-11 12:19 ` [PATCH v2 3/3] arm64: Introduce command line parameter to disable CNP Vladimir Murzin 2017-10-11 12:19 ` Vladimir Murzin
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=1507724395-13735-1-git-send-email-vladimir.murzin@arm.com \ --to=vladimir.murzin@arm.com \ --cc=catalin.marinas@arm.com \ --cc=kbuild-all@01.org \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=marc.zyngier@arm.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.