linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
To: Ingo Molnar <mingo@redhat.com>,
	x86@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Andy Lutomirski <luto@amacapital.net>,
	Borislav Petkov <bp@suse.de>, Andi Kleen <ak@linux.intel.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Subject: [PATCH 0/9] x86/mm: Dynamic memory layout
Date: Wed, 14 Feb 2018 14:16:47 +0300	[thread overview]
Message-ID: <20180214111656.88514-1-kirill.shutemov@linux.intel.com> (raw)

This is the next batch of patches required to bring boot-time switching
between 4- and 5-level paging. Please review and consider applying.

Patches in this patchset makes memory layout dynamic enough to be able to
switch between paging modes at boot-time.

Ingo, it worth noticing that we discussed some parts of the patchset
before (back in October) and had disagrement on how to handle situation.
You can read my position on the matter by the link[1].

Some changes made in this patchset can be replaced by patching constants
in code once we have infrastructure for this.

[1] http://lkml.kernel.org/r/20171031120429.ehaqy2iciewcij35@node.shutemov.name

Kirill A. Shutemov (9):
  x86/mm/64: Make __PHYSICAL_MASK_SHIFT always 52
  mm/zsmalloc: Prepare to variable MAX_PHYSMEM_BITS
  x86/mm: Make virtual memory layout movable for CONFIG_X86_5LEVEL
  x86: Introduce pgtable_l5_enabled
  x86/mm: Make LDT_BASE_ADDR dynamic
  x86/mm: Make PGDIR_SHIFT and PTRS_PER_P4D variable
  x86/mm: Make MAX_PHYSADDR_BITS and MAX_PHYSMEM_BITS dynamic
  x86/mm: Make __VIRTUAL_MASK_SHIFT dynamic
  x86/mm: Adjust virtual address space layout in early boot

 arch/x86/Kconfig                            |  9 ++++
 arch/x86/boot/compressed/kaslr.c            | 14 ++++++
 arch/x86/entry/entry_64.S                   | 12 ++++++
 arch/x86/include/asm/kaslr.h                |  4 --
 arch/x86/include/asm/page_64.h              |  4 ++
 arch/x86/include/asm/page_64_types.h        | 20 ++++-----
 arch/x86/include/asm/pgtable-3level_types.h |  1 +
 arch/x86/include/asm/pgtable_32.h           |  2 +
 arch/x86/include/asm/pgtable_32_types.h     |  2 +
 arch/x86/include/asm/pgtable_64_types.h     | 67 ++++++++++++++++++-----------
 arch/x86/include/asm/sparsemem.h            |  9 +---
 arch/x86/kernel/cpu/mcheck/mce.c            | 18 +++-----
 arch/x86/kernel/head64.c                    | 57 ++++++++++++++++++++++--
 arch/x86/kernel/head_64.S                   |  2 +-
 arch/x86/kernel/setup.c                     |  5 +--
 arch/x86/mm/dump_pagetables.c               | 32 +++++++++-----
 arch/x86/mm/init_64.c                       |  2 +-
 arch/x86/mm/kasan_init_64.c                 |  2 +-
 arch/x86/mm/kaslr.c                         | 23 ++++------
 arch/x86/platform/efi/efi_64.c              |  4 +-
 include/asm-generic/5level-fixup.h          |  1 +
 include/asm-generic/pgtable-nop4d.h         |  9 ++--
 include/linux/kasan.h                       |  2 +-
 mm/kasan/kasan_init.c                       |  2 +-
 mm/zsmalloc.c                               | 13 +++---
 25 files changed, 208 insertions(+), 108 deletions(-)

-- 
2.15.1

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

             reply	other threads:[~2018-02-14 11:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-14 11:16 Kirill A. Shutemov [this message]
2018-02-14 11:16 ` [PATCH 1/9] x86/mm/64: Make __PHYSICAL_MASK_SHIFT always 52 Kirill A. Shutemov
2018-02-14 11:16 ` [PATCH 2/9] mm/zsmalloc: Prepare to variable MAX_PHYSMEM_BITS Kirill A. Shutemov
2018-02-14 11:16 ` [PATCH 3/9] x86/mm: Make virtual memory layout movable for CONFIG_X86_5LEVEL Kirill A. Shutemov
2018-02-14 11:16 ` [PATCH 4/9] x86: Introduce pgtable_l5_enabled Kirill A. Shutemov
2018-02-14 11:16 ` [PATCH 5/9] x86/mm: Make LDT_BASE_ADDR dynamic Kirill A. Shutemov
2018-02-14 13:32   ` Kirill A. Shutemov
2018-02-14 11:16 ` [PATCH 6/9] x86/mm: Make PGDIR_SHIFT and PTRS_PER_P4D variable Kirill A. Shutemov
2018-02-14 11:16 ` [PATCH 7/9] x86/mm: Make MAX_PHYSADDR_BITS and MAX_PHYSMEM_BITS dynamic Kirill A. Shutemov
2018-02-14 11:16 ` [PATCH 8/9] x86/mm: Make __VIRTUAL_MASK_SHIFT dynamic Kirill A. Shutemov
2018-02-14 17:22   ` Andy Lutomirski
2018-02-14 17:55     ` Kirill A. Shutemov
2018-02-14 18:02       ` Andy Lutomirski
2018-02-14 11:16 ` [PATCH 9/9] x86/mm: Adjust virtual address space layout in early boot Kirill A. Shutemov
2018-02-14 12:10   ` Ingo Molnar
2018-02-14 12:19     ` Kirill A. Shutemov
2018-02-14 12:26       ` Ingo Molnar

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=20180214111656.88514-1-kirill.shutemov@linux.intel.com \
    --to=kirill.shutemov@linux.intel.com \
    --cc=ak@linux.intel.com \
    --cc=bp@suse.de \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@amacapital.net \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    /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