The patch titled x86: initial fixmap support has been added to the -mm tree. Its filename is x86-initial-fixmap-support.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: x86: initial fixmap support From: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Needed to get fixed virtual address for USB debug port and earlycon with mmio. Signed-off-by: Eric W. Biderman <ebiderman@xxxxxxxxxxx> Signed-off-by: Yinghai Lu <yinghai.lu@xxxxxxx> Cc: Andi Kleen <ak@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bjorn.helgaas@xxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/i386/kernel/head.S | 8 ++++++++ arch/x86_64/kernel/head.S | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff -puN arch/i386/kernel/head.S~x86-initial-fixmap-support arch/i386/kernel/head.S --- a/arch/i386/kernel/head.S~x86-initial-fixmap-support +++ a/arch/i386/kernel/head.S @@ -168,6 +168,12 @@ page_pde_offset = (__PAGE_OFFSET >> 20); .section .init.text,"ax",@progbits #endif + /* Do an early initialization of the fixmap area */ + movl $(swapper_pg_dir - __PAGE_OFFSET), %edx + movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax + addl $0x007, %eax /* 0x007 = PRESENT+RW+USER */ + movl %eax, 4092(%edx) + #ifdef CONFIG_SMP ENTRY(startup_32_smp) cld @@ -507,6 +513,8 @@ ENTRY(_stext) .section ".bss.page_aligned","w" ENTRY(swapper_pg_dir) .fill 1024,4,0 +ENTRY(swapper_pg_pmd) + .fill 1024,4,0 ENTRY(empty_zero_page) .fill 4096,1,0 diff -puN arch/x86_64/kernel/head.S~x86-initial-fixmap-support arch/x86_64/kernel/head.S --- a/arch/x86_64/kernel/head.S~x86-initial-fixmap-support +++ a/arch/x86_64/kernel/head.S @@ -73,7 +73,11 @@ startup_64: addq %rbp, init_level4_pgt + (511*8)(%rip) addq %rbp, level3_ident_pgt + 0(%rip) + addq %rbp, level3_kernel_pgt + (510*8)(%rip) + addq %rbp, level3_kernel_pgt + (511*8)(%rip) + + addq %rbp, level2_fixmap_pgt + (506*8)(%rip) /* Add an Identity mapping if I am above 1G */ leaq _text(%rip), %rdi @@ -314,7 +318,16 @@ NEXT_PAGE(level3_kernel_pgt) .fill 510,8,0 /* (2^48-(2*1024*1024*1024)-((2^39)*511))/(2^30) = 510 */ .quad level2_kernel_pgt - __START_KERNEL_map + _KERNPG_TABLE - .fill 1,8,0 + .quad level2_fixmap_pgt - __START_KERNEL_map + _PAGE_TABLE + +NEXT_PAGE(level2_fixmap_pgt) + .fill 506,8,0 + .quad level1_fixmap_pgt - __START_KERNEL_map + _PAGE_TABLE + /* 8MB reserved for vsyscalls + a 2MB hole = 4 + 1 entries */ + .fill 5,8,0 + +NEXT_PAGE(level1_fixmap_pgt) + .fill 512,8,0 NEXT_PAGE(level2_ident_pgt) /* Since I easily can, map the first 1G. _ Patches currently in -mm which might be from ebiederm@xxxxxxxxxxxx are dvb_en_50221-convert-to-kthread-api.patch fix-i-oat-for-kexec.patch x86-initial-fixmap-support.patch pci-disable-msi-by-default-on-systems-with-serverworks-ht1000-chips.patch fix-x86_64-mm-xen-core-xen-implementation.patch msi-fix-the-ordering-of-msix-irqs.patch msi-mask-the-msix-vector-before-we-unmap-it.patch clone-flag-clone_parent_tidptr-leaves-invalid-results-in-memory.patch preserve-the-dirty-bit-in-init_page_buffers.patch rd-mark-ramdisk-buffer-heads-dirty-in-ramdisk_set_page_dirty.patch rd-mark-ramdisk-buffer-heads-dirty-in-ramdisk_set_page_dirty-fix.patch rd-simplify-by-using-the-same-helper-functions-in-libfs.patch containersv10-basic-container-framework.patch containersv10-basic-container-framework-fix.patch containersv10-example-cpu-accounting-subsystem.patch containersv10-example-cpu-accounting-subsystem-fix.patch containersv10-add-tasks-file-interface.patch containersv10-add-tasks-file-interface-fix.patch containersv10-add-fork-exit-hooks.patch containersv10-add-fork-exit-hooks-fix.patch containersv10-add-container_clone-interface.patch containersv10-add-container_clone-interface-fix.patch containersv10-add-procfs-interface.patch containersv10-add-procfs-interface-fix.patch containersv10-make-cpusets-a-client-of-containers.patch containersv10-share-css_group-arrays-between-tasks-with-same-container-memberships.patch containersv10-share-css_group-arrays-between-tasks-with-same-container-memberships-fix.patch containersv10-simple-debug-info-subsystem.patch containersv10-simple-debug-info-subsystem-fix.patch containersv10-support-for-automatic-userspace-release-agents.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html