From: Jungseok Lee <jays.lee@samsung.com>
To: linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, Catalin.Marinas@arm.com,
Marc Zyngier <Marc.Zyngier@arm.com>,
Christoffer Dall <christoffer.dall@linaro.org>
Cc: linux-kernel@vger.kernel.org,
linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
steve.capper@linaro.org, sungjinn.chung@samsung.com,
Arnd Bergmann <arnd@arndb.de>,
kgene.kim@samsung.com, ilho215.lee@samsung.com
Subject: [PATCH v5 0/6] Support 4 levels of translation tables for ARM64
Date: Thu, 01 May 2014 11:33:39 +0900 [thread overview]
Message-ID: <000001cf64e5$c2d71e40$48855ac0$@samsung.com> (raw)
Hi All,
This v5 patchset supports 4 levels of tranlsation tables for ARM64.
Firstly, the patchset introduces virtual address space size and
translation level options as taking account into the comment from
Catalin Marinas:
http://www.spinics.net/linux/lists/arm-kernel/msg319552.html
Then, it implements 4 levels of translation tables for native, HYP and
stage2 sides.
All ARMv8 and ARMv7 related changes are validated with FastModels+kvmtool and
A15+QEMU, respectively.
Changes since v1:
- fixed unmatched data types as per Steve's comment
- removed unnecessary #ifdef in arch/arm64/mm/* as per Steve's comment
- revised create_pgd_entry to deal with PUD entry as per Steve's comment
- introduced a macro for initial memblock limit as per Steve's comment
- dropped "Fix line length exceeding 80 characters" patch as per Marc's comment
- removed unnecessary #ifdef in arch/arm/kvm/mmu.c as per Marc's comment
- added a macro for a number of objects of as per Marc's comment
Changes since v2:
- revised some macros in a generic way as per Marc's comment
- added a 2 level option for kvm mmu cache allocation as per Marc's comment
Changes since v3:
- added #ifdef to decide swapper and idmap size as per Steve's comment
- introduced Steve's create_pgd_entry
Changes since v4:
- hided translation level options from menuconfig as per Catalin's comment
- dropped some printk changes as per Mitchel's comment
- squashed VA_BITS related patches into a single patch
Jungseok Lee (6):
arm64: Use pr_* instead of printk
arm64: Introduce VA_BITS and translation level options
arm64: Add a description on 48-bit address space with 4KB pages
arm64: Add 4 levels of page tables definition with 4KB pages
arm64: mm: Implement 4 levels of translation tables
arm64: KVM: Implement 4 levels of translation tables for HYP and
stage2
Documentation/arm64/memory.txt | 59 ++++++++++++++---
arch/arm/include/asm/kvm_mmu.h | 10 +++
arch/arm/kvm/mmu.c | 88 +++++++++++++++++++++----
arch/arm64/Kconfig | 53 ++++++++++++++-
arch/arm64/include/asm/kvm_arm.h | 34 ++++++++--
arch/arm64/include/asm/kvm_mmu.h | 12 ++++
arch/arm64/include/asm/memblock.h | 6 ++
arch/arm64/include/asm/memory.h | 6 +-
arch/arm64/include/asm/page.h | 6 +-
arch/arm64/include/asm/pgalloc.h | 24 ++++++-
arch/arm64/include/asm/pgtable-4level-hwdef.h | 50 ++++++++++++++
arch/arm64/include/asm/pgtable-4level-types.h | 71 ++++++++++++++++++++
arch/arm64/include/asm/pgtable-hwdef.h | 8 ++-
arch/arm64/include/asm/pgtable.h | 53 +++++++++++++--
arch/arm64/include/asm/tlb.h | 11 +++-
arch/arm64/kernel/head.S | 46 ++++++++++---
arch/arm64/kernel/traps.c | 13 ++--
arch/arm64/mm/fault.c | 1 +
arch/arm64/mm/mmu.c | 16 +++--
19 files changed, 507 insertions(+), 60 deletions(-)
create mode 100644 arch/arm64/include/asm/pgtable-4level-hwdef.h
create mode 100644 arch/arm64/include/asm/pgtable-4level-types.h
--
1.7.10.4
next reply other threads:[~2014-05-01 2:33 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-01 2:33 Jungseok Lee [this message]
2014-05-02 5:44 ` [PATCH v5 0/6] Support 4 levels of translation tables for ARM64 Kukjin Kim
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='000001cf64e5$c2d71e40$48855ac0$@samsung.com' \
--to=jays.lee@samsung.com \
--cc=Catalin.Marinas@arm.com \
--cc=Marc.Zyngier@arm.com \
--cc=arnd@arndb.de \
--cc=christoffer.dall@linaro.org \
--cc=ilho215.lee@samsung.com \
--cc=kgene.kim@samsung.com \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=steve.capper@linaro.org \
--cc=sungjinn.chung@samsung.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