diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-01 14:14:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-01 14:14:17 -0400 |
commit | a5fa7b7d8fe0eef36d0adbb36ae71dc82aa0a458 (patch) | |
tree | 01fb5e044c7c5ed8b8c7a46ab9f39b0c6ef43897 /arch/x86/mm | |
parent | 229993001282e128a49a59ec43d255614775703a (diff) | |
parent | 64282278989d5b0398dcb3ba7904cb00c621dc35 (diff) |
Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86/platform changes from Ingo Molnar:
"This cleans up some Xen-induced pagetable init code uglies, by
generalizing new platform callbacks and state: x86_init.paging.*"
* 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86: Document x86_init.paging.pagetable_init()
x86: xen: Cleanup and remove x86_init.paging.pagetable_setup_done()
x86: Move paging_init() call to x86_init.paging.pagetable_init()
x86: Rename pagetable_setup_start() to pagetable_init()
x86: Remove base argument from x86_init.paging.pagetable_setup_start
Diffstat (limited to 'arch/x86/mm')
-rw-r--r-- | arch/x86/mm/init_32.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index 575d86f85ce4..4f04db150027 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c | |||
@@ -445,10 +445,10 @@ static inline void permanent_kmaps_init(pgd_t *pgd_base) | |||
445 | } | 445 | } |
446 | #endif /* CONFIG_HIGHMEM */ | 446 | #endif /* CONFIG_HIGHMEM */ |
447 | 447 | ||
448 | void __init native_pagetable_setup_start(pgd_t *base) | 448 | void __init native_pagetable_init(void) |
449 | { | 449 | { |
450 | unsigned long pfn, va; | 450 | unsigned long pfn, va; |
451 | pgd_t *pgd; | 451 | pgd_t *pgd, *base = swapper_pg_dir; |
452 | pud_t *pud; | 452 | pud_t *pud; |
453 | pmd_t *pmd; | 453 | pmd_t *pmd; |
454 | pte_t *pte; | 454 | pte_t *pte; |
@@ -475,10 +475,7 @@ void __init native_pagetable_setup_start(pgd_t *base) | |||
475 | pte_clear(NULL, va, pte); | 475 | pte_clear(NULL, va, pte); |
476 | } | 476 | } |
477 | paravirt_alloc_pmd(&init_mm, __pa(base) >> PAGE_SHIFT); | 477 | paravirt_alloc_pmd(&init_mm, __pa(base) >> PAGE_SHIFT); |
478 | } | 478 | paging_init(); |
479 | |||
480 | void __init native_pagetable_setup_done(pgd_t *base) | ||
481 | { | ||
482 | } | 479 | } |
483 | 480 | ||
484 | /* | 481 | /* |
@@ -493,7 +490,7 @@ void __init native_pagetable_setup_done(pgd_t *base) | |||
493 | * If we're booting paravirtualized under a hypervisor, then there are | 490 | * If we're booting paravirtualized under a hypervisor, then there are |
494 | * more options: we may already be running PAE, and the pagetable may | 491 | * more options: we may already be running PAE, and the pagetable may |
495 | * or may not be based in swapper_pg_dir. In any case, | 492 | * or may not be based in swapper_pg_dir. In any case, |
496 | * paravirt_pagetable_setup_start() will set up swapper_pg_dir | 493 | * paravirt_pagetable_init() will set up swapper_pg_dir |
497 | * appropriately for the rest of the initialization to work. | 494 | * appropriately for the rest of the initialization to work. |
498 | * | 495 | * |
499 | * In general, pagetable_init() assumes that the pagetable may already | 496 | * In general, pagetable_init() assumes that the pagetable may already |