All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/6] Support 4 levels of translation tables for ARM64
@ 2014-05-01  2:33 ` Jungseok Lee
  0 siblings, 0 replies; 4+ messages in thread
From: Jungseok Lee @ 2014-05-01  2:33 UTC (permalink / raw)
  To: linux-arm-kernel, kvmarm, Catalin.Marinas, Marc Zyngier,
	Christoffer Dall
  Cc: linux-kernel, linux-samsung-soc, steve.capper, sungjinn.chung,
	Arnd Bergmann, kgene.kim, ilho215.lee

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



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v5 0/6] Support 4 levels of translation tables for ARM64
@ 2014-05-01  2:33 ` Jungseok Lee
  0 siblings, 0 replies; 4+ messages in thread
From: Jungseok Lee @ 2014-05-01  2:33 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [PATCH v5 0/6] Support 4 levels of translation tables for ARM64
  2014-05-01  2:33 ` Jungseok Lee
@ 2014-05-02  5:44   ` Kukjin Kim
  -1 siblings, 0 replies; 4+ messages in thread
From: Kukjin Kim @ 2014-05-02  5:44 UTC (permalink / raw)
  To: 'Jungseok Lee',
	linux-arm-kernel, kvmarm, Catalin.Marinas, 'Marc Zyngier',
	'Christoffer Dall'
  Cc: linux-kernel, 'linux-samsung-soc',
	steve.capper, sungjinn.chung, 'Arnd Bergmann',
	ilho215.lee

Jungseok Lee wrote:
> 
> 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

Looks good to me and Samsung SoCs stuff :-)

All of this series:

Acked-by: Kukjin Kim <kgene.kim@samsung.com>

Thanks,
Kukjin


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v5 0/6] Support 4 levels of translation tables for ARM64
@ 2014-05-02  5:44   ` Kukjin Kim
  0 siblings, 0 replies; 4+ messages in thread
From: Kukjin Kim @ 2014-05-02  5:44 UTC (permalink / raw)
  To: linux-arm-kernel

Jungseok Lee wrote:
> 
> 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

Looks good to me and Samsung SoCs stuff :-)

All of this series:

Acked-by: Kukjin Kim <kgene.kim@samsung.com>

Thanks,
Kukjin

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-05-02  5:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-01  2:33 [PATCH v5 0/6] Support 4 levels of translation tables for ARM64 Jungseok Lee
2014-05-01  2:33 ` Jungseok Lee
2014-05-02  5:44 ` Kukjin Kim
2014-05-02  5:44   ` Kukjin Kim

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.