All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yinghai Lu <yinghai@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
	"H. Peter Anvin" <hpa@zytor.com>, Jacob Shin <jacob.shin@amd.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, Yinghai Lu <yinghai@kernel.org>
Subject: [PATCH 26/46] x86, mm, Xen: Remove mapping_pagetable_reserve()
Date: Mon, 12 Nov 2012 13:18:22 -0800	[thread overview]
Message-ID: <1352755122-25660-27-git-send-email-yinghai@kernel.org> (raw)
In-Reply-To: <1352755122-25660-1-git-send-email-yinghai@kernel.org>

Page table area are pre-mapped now after
	x86, mm: setup page table in top-down
	x86, mm: Remove early_memremap workaround for page table accessing on 64bit

mapping_pagetable_reserve is not used anymore, so remove it.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
---
 arch/x86/include/asm/pgtable_types.h |    1 -
 arch/x86/include/asm/x86_init.h      |   12 ------------
 arch/x86/kernel/x86_init.c           |    4 ----
 arch/x86/mm/init.c                   |    4 ----
 arch/x86/xen/mmu.c                   |   28 ----------------------------
 5 files changed, 0 insertions(+), 49 deletions(-)

diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h
index ec8a1fc..79738f2 100644
--- a/arch/x86/include/asm/pgtable_types.h
+++ b/arch/x86/include/asm/pgtable_types.h
@@ -301,7 +301,6 @@ int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,
 /* Install a pte for a particular vaddr in kernel space. */
 void set_pte_vaddr(unsigned long vaddr, pte_t pte);
 
-extern void native_pagetable_reserve(u64 start, u64 end);
 #ifdef CONFIG_X86_32
 extern void native_pagetable_init(void);
 #else
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 5769349..3b2ce8f 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -69,17 +69,6 @@ struct x86_init_oem {
 };
 
 /**
- * struct x86_init_mapping - platform specific initial kernel pagetable setup
- * @pagetable_reserve:	reserve a range of addresses for kernel pagetable usage
- *
- * For more details on the purpose of this hook, look in
- * init_memory_mapping and the commit that added it.
- */
-struct x86_init_mapping {
-	void (*pagetable_reserve)(u64 start, u64 end);
-};
-
-/**
  * struct x86_init_paging - platform specific paging functions
  * @pagetable_init:	platform specific paging initialization call to setup
  *			the kernel pagetables and prepare accessors functions.
@@ -136,7 +125,6 @@ struct x86_init_ops {
 	struct x86_init_mpparse		mpparse;
 	struct x86_init_irqs		irqs;
 	struct x86_init_oem		oem;
-	struct x86_init_mapping		mapping;
 	struct x86_init_paging		paging;
 	struct x86_init_timers		timers;
 	struct x86_init_iommu		iommu;
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index 7a3d075..50cf83e 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -62,10 +62,6 @@ struct x86_init_ops x86_init __initdata = {
 		.banner			= default_banner,
 	},
 
-	.mapping = {
-		.pagetable_reserve		= native_pagetable_reserve,
-	},
-
 	.paging = {
 		.pagetable_init		= native_pagetable_init,
 	},
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 7a6669e..9d51af72 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -112,10 +112,6 @@ static void __init probe_page_size_mask(void)
 		__supported_pte_mask |= _PAGE_GLOBAL;
 	}
 }
-void __init native_pagetable_reserve(u64 start, u64 end)
-{
-	memblock_reserve(start, end - start);
-}
 
 #ifdef CONFIG_X86_32
 #define NR_RANGE_MR 3
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index dcf5f2d..bbb883f 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1178,20 +1178,6 @@ static void xen_exit_mmap(struct mm_struct *mm)
 
 static void xen_post_allocator_init(void);
 
-static __init void xen_mapping_pagetable_reserve(u64 start, u64 end)
-{
-	/* reserve the range used */
-	native_pagetable_reserve(start, end);
-
-	/* set as RW the rest */
-	printk(KERN_DEBUG "xen: setting RW the range %llx - %llx\n", end,
-			PFN_PHYS(pgt_buf_top));
-	while (end < PFN_PHYS(pgt_buf_top)) {
-		make_lowmem_page_readwrite(__va(end));
-		end += PAGE_SIZE;
-	}
-}
-
 #ifdef CONFIG_X86_64
 static void __init xen_cleanhighmap(unsigned long vaddr,
 				    unsigned long vaddr_end)
@@ -1503,19 +1489,6 @@ static pte_t __init mask_rw_pte(pte_t *ptep, pte_t pte)
 #else /* CONFIG_X86_64 */
 static pte_t __init mask_rw_pte(pte_t *ptep, pte_t pte)
 {
-	unsigned long pfn = pte_pfn(pte);
-
-	/*
-	 * If the new pfn is within the range of the newly allocated
-	 * kernel pagetable, and it isn't being mapped into an
-	 * early_ioremap fixmap slot as a freshly allocated page, make sure
-	 * it is RO.
-	 */
-	if (((!is_early_ioremap_ptep(ptep) &&
-			pfn >= pgt_buf_start && pfn < pgt_buf_top)) ||
-			(is_early_ioremap_ptep(ptep) && pfn != (pgt_buf_end - 1)))
-		pte = pte_wrprotect(pte);
-
 	return pte;
 }
 #endif /* CONFIG_X86_64 */
@@ -2197,7 +2170,6 @@ static const struct pv_mmu_ops xen_mmu_ops __initconst = {
 
 void __init xen_init_mmu_ops(void)
 {
-	x86_init.mapping.pagetable_reserve = xen_mapping_pagetable_reserve;
 	x86_init.paging.pagetable_init = xen_pagetable_init;
 	pv_mmu_ops = xen_mmu_ops;
 
-- 
1.7.7


  parent reply	other threads:[~2012-11-12 21:32 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-09 23:58 [PATCH -v3 0/7] x86: Use BRK to pre mapping page table to make xen happy Yinghai Lu
2012-10-09 23:58 ` [PATCH 1/7] x86, mm: align start address to correct big page size Yinghai Lu
2012-10-09 23:58 ` [PATCH 2/7] x86, mm: Use big page size for small memory range Yinghai Lu
2012-10-09 23:58 ` [PATCH 3/7] x86, mm: Don't clear page table if next range is ram Yinghai Lu
2012-10-09 23:58 ` [PATCH 4/7] x86, mm: only keep initial mapping for ram Yinghai Lu
2012-10-10 13:48   ` Konrad Rzeszutek Wilk
2012-10-10 14:59     ` Yinghai Lu
2012-10-09 23:58 ` [PATCH 5/7] x86, mm: Break down init_all_memory_mapping Yinghai Lu
2012-10-10 13:55   ` Konrad Rzeszutek Wilk
2012-10-10 15:42     ` Yinghai Lu
2012-10-09 23:58 ` [PATCH 6/7] x86, mm: setup page table from top-down Yinghai Lu
2012-10-10  1:53   ` Yinghai Lu
2012-10-10 16:38   ` Stefano Stabellini
2012-10-10 17:07     ` Yinghai Lu
2012-10-10 17:26       ` Stefano Stabellini
2012-10-10 17:38         ` Yinghai Lu
2012-11-16 17:14           ` H. Peter Anvin
2012-11-16 17:16             ` Yinghai Lu
2012-10-09 23:58 ` [PATCH 7/7] x86, mm: Remove early_memremap workaround for page table accessing Yinghai Lu
2012-10-10 13:47 ` [PATCH -v3 0/7] x86: Use BRK to pre mapping page table to make xen happy Konrad Rzeszutek Wilk
2012-10-10 14:55   ` Yinghai Lu
2012-10-10 16:40 ` Stefano Stabellini
2012-10-11  6:13   ` Yinghai Lu
2012-10-11 23:04     ` Yinghai Lu
2012-10-18 16:17     ` Stefano Stabellini
2012-10-18 16:26       ` Jacob Shin
2012-10-18 16:57         ` Stefano Stabellini
2012-10-18 20:36           ` Yinghai Lu
2012-10-18 20:40         ` Yinghai Lu
2012-10-18 21:57           ` Jacob Shin
2012-10-18 20:43       ` Yinghai Lu
2012-10-30 13:44     ` Konrad Rzeszutek Wilk
2012-10-30 14:47       ` Yinghai Lu
2012-11-03 21:35         ` Yinghai Lu
2012-11-03 21:37           ` H. Peter Anvin
2012-11-05 20:25             ` Yinghai Lu
2012-11-05 20:27               ` [PATCH 39/42] x86, mm: kill numa_free_all_bootmem() Yinghai Lu
2012-11-05 20:27                 ` [PATCH 40/42] x86, mm: kill numa_64.h Yinghai Lu
2012-11-05 20:27                 ` [PATCH 41/42] sparc, mm: Remove calling of free_all_bootmem_node() Yinghai Lu
2012-11-05 20:27                   ` Yinghai Lu
2012-11-06 17:44                   ` David Miller
2012-11-06 17:44                     ` David Miller
2012-11-05 20:27                 ` [PATCH 42/42] mm: Kill NO_BOOTMEM version free_all_bootmem_node() Yinghai Lu
2012-11-07 16:11               ` [PATCH -v3 0/7] x86: Use BRK to pre mapping page table to make xen happy Konrad Rzeszutek Wilk
2012-11-08  1:40                 ` Konrad Rzeszutek Wilk
2012-11-08  4:06                   ` Yinghai Lu
2012-11-09 20:31                     ` Yinghai Lu
2012-11-12 19:30           ` Konrad Rzeszutek Wilk
2012-11-12 21:17             ` [PATCH v7 00/46] x86, mm: map ram from top-down with BRK and memblock Yinghai Lu
2012-11-12 21:17               ` [PATCH 01/46] x86, mm: Add global page_size_mask and probe one time only Yinghai Lu
2012-11-12 21:17               ` [PATCH 02/46] x86, mm: Split out split_mem_range from init_memory_mapping Yinghai Lu
2012-11-13  5:51                 ` Yasuaki Ishimatsu
2012-11-13  6:20                   ` Yinghai Lu
2012-11-13  7:03                     ` snakky.zhang
2012-11-13 18:34                       ` Yinghai Lu
2012-11-12 21:17               ` [PATCH 03/46] x86, mm: Move down find_early_table_space() Yinghai Lu
2012-11-12 21:18               ` [PATCH 04/46] x86, mm: Move init_memory_mapping calling out of setup.c Yinghai Lu
2012-11-12 21:18               ` [PATCH 05/46] x86, mm: Revert back good_end setting for 64bit Yinghai Lu
2012-11-12 21:18               ` [PATCH 06/46] x86, mm: Change find_early_table_space() paramters Yinghai Lu
2012-11-12 21:18               ` [PATCH 07/46] x86, mm: Find early page table buffer together Yinghai Lu
2012-11-12 21:18               ` [PATCH 08/46] x86, mm: Separate out calculate_table_space_size() Yinghai Lu
2012-11-12 21:18               ` [PATCH 09/46] x86, mm: Set memblock initial limit to 1M Yinghai Lu
2012-11-12 21:18               ` [PATCH 10/46] x86, mm: if kernel .text .data .bss are not marked as E820_RAM, complain and fix Yinghai Lu
2012-11-12 21:18               ` [PATCH 11/46] x86, mm: Fixup code testing if a pfn is direct mapped Yinghai Lu
2012-11-12 21:18               ` [PATCH 12/46] x86, mm: use pfn_range_is_mapped() with CPA Yinghai Lu
2012-11-12 21:18               ` [PATCH 13/46] x86, mm: use pfn_range_is_mapped() with gart Yinghai Lu
2012-11-12 21:18               ` [PATCH 14/46] x86, mm: use pfn_range_is_mapped() with reserve_initrd Yinghai Lu
2012-11-12 21:18               ` [PATCH 15/46] x86, mm: Only direct map addresses that are marked as E820_RAM Yinghai Lu
2012-11-12 21:18               ` [PATCH 16/46] x86, mm: relocate initrd under all mem for 64bit Yinghai Lu
2012-11-12 21:18               ` [PATCH 17/46] x86, mm: Align start address to correct big page size Yinghai Lu
2012-11-12 21:18               ` [PATCH 18/46] x86, mm: Use big page size for small memory range Yinghai Lu
2012-11-12 21:18               ` [PATCH 19/46] x86, mm: Don't clear page table if range is ram Yinghai Lu
2012-11-12 21:18               ` [PATCH 20/46] x86, mm: Break down init_all_memory_mapping Yinghai Lu
2012-11-12 21:18               ` [PATCH 21/46] x86, mm: setup page table in top-down Yinghai Lu
2012-11-13 17:26                 ` Stefano Stabellini
2012-11-13 19:59                   ` Yinghai Lu
2012-11-13 20:01                     ` H. Peter Anvin
2012-11-13 20:36                       ` Yinghai Lu
2012-11-15 19:28                         ` Yinghai Lu
2012-11-12 21:18               ` [PATCH 22/46] x86, mm: Remove early_memremap workaround for page table accessing on 64bit Yinghai Lu
2012-11-13 16:52                 ` Stefano Stabellini
2012-11-12 21:18               ` [PATCH 23/46] x86, mm: Remove parameter in alloc_low_page for 64bit Yinghai Lu
2012-11-13 17:40                 ` Stefano Stabellini
2012-11-12 21:18               ` [PATCH 24/46] x86, mm: Merge alloc_low_page between 64bit and 32bit Yinghai Lu
2012-11-12 21:18               ` [PATCH 25/46] x86, mm: Move min_pfn_mapped back to mm/init.c Yinghai Lu
2012-11-12 21:18               ` Yinghai Lu [this message]
2012-11-13 16:36                 ` [PATCH 26/46] x86, mm, Xen: Remove mapping_pagetable_reserve() Stefano Stabellini
2012-11-13 18:51                   ` Yinghai Lu
2012-11-14 11:19                     ` Stefano Stabellini
2012-11-12 21:18               ` [PATCH 27/46] x86, mm: Add alloc_low_pages(num) Yinghai Lu
2012-11-13 16:37                 ` Stefano Stabellini
2012-11-13 18:53                   ` Yinghai Lu
2012-11-12 21:18               ` [PATCH 28/46] x86, mm: Add pointer about Xen mmu requirement for alloc_low_pages Yinghai Lu
2012-11-13 16:38                 ` Stefano Stabellini
2012-11-13 17:56                   ` H. Peter Anvin
2012-11-13 18:58                     ` Yinghai Lu
2012-11-12 21:18               ` [PATCH 29/46] x86, mm: only call early_ioremap_page_table_range_init() once Yinghai Lu
2012-11-12 21:18               ` [PATCH 30/46] x86, mm: Move back pgt_buf_* to mm/init.c Yinghai Lu
2012-11-12 21:18               ` [PATCH 31/46] x86, mm: Move init_gbpages() out of setup.c Yinghai Lu
2012-11-12 21:18               ` [PATCH 32/46] x86, mm: change low/hignmem_pfn_init to static on 32bit Yinghai Lu
2012-11-12 21:18               ` [PATCH 33/46] x86, mm: Move function declaration into mm_internal.h Yinghai Lu
2012-11-12 21:18               ` [PATCH 34/46] x86, mm: Add check before clear pte above max_low_pfn on 32bit Yinghai Lu
2012-11-12 21:18               ` [PATCH 35/46] x86, mm: use round_up/down in split_mem_range() Yinghai Lu
2012-11-12 21:18               ` [PATCH 36/46] x86, mm: use PFN_DOWN " Yinghai Lu
2012-11-12 21:18               ` [PATCH 37/46] x86, mm: use pfn instead of pos in split_mem_range Yinghai Lu
2012-11-12 21:18               ` [PATCH 38/46] x86, mm: use limit_pfn for end pfn Yinghai Lu
2012-11-12 21:18               ` [PATCH 39/46] x86, mm: Unifying after_bootmem for 32bit and 64bit Yinghai Lu
2012-11-12 21:18               ` [PATCH 40/46] x86, mm: Move after_bootmem to mm_internel.h Yinghai Lu
2012-11-12 21:18               ` [PATCH 41/46] x86, mm: Use clamp_t() in init_range_memory_mapping Yinghai Lu
2012-11-12 21:18               ` [PATCH 42/46] x86, mm: kill numa_free_all_bootmem() Yinghai Lu
2012-11-12 21:18               ` [PATCH 43/46] x86, mm: kill numa_64.h Yinghai Lu
2012-11-12 21:18               ` [PATCH 44/46] sparc, mm: Remove calling of free_all_bootmem_node() Yinghai Lu
2012-11-12 21:18                 ` Yinghai Lu
2012-11-12 21:18               ` [PATCH 45/46] mm: Kill NO_BOOTMEM version free_all_bootmem_node() Yinghai Lu
2012-11-12 21:18               ` [PATCH 46/46] x86, mm: Let "memmap=" take more entries one time Yinghai Lu

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=1352755122-25660-27-git-send-email-yinghai@kernel.org \
    --to=yinghai@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=jacob.shin@amd.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tglx@linutronix.de \
    /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 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.