From: Andi Kleen The recent IA64 changes for /proc/kcore broke the access on i386. Currently no notes are written for the direct mapped or vmalloced memory, which makes gdb reject it. This patch fixes it. Other ports probably need to do the same changes. arch/i386/mm/init.c | 7 +++++++ 1 files changed, 7 insertions(+) diff -puN arch/i386/mm/init.c~proc-kcore-notes-fix arch/i386/mm/init.c --- 25/arch/i386/mm/init.c~proc-kcore-notes-fix 2003-06-17 10:19:44.000000000 -0700 +++ 25-akpm/arch/i386/mm/init.c 2003-06-17 10:19:44.000000000 -0700 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -425,6 +426,8 @@ static void __init set_max_mapnr_init(vo extern void set_max_mapnr_init(void); #endif /* !CONFIG_DISCONTIGMEM */ +static struct kcore_list kcore_mem, kcore_vmalloc; + void __init mem_init(void) { extern int ppro_with_ram_bug(void); @@ -477,6 +480,10 @@ void __init mem_init(void) datasize = (unsigned long) &_edata - (unsigned long) &_etext; initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin; + kclist_add(&kcore_mem, __va(0), max_low_pfn << PAGE_SHIFT); + kclist_add(&kcore_vmalloc, (void *)VMALLOC_START, + VMALLOC_END-VMALLOC_START); + printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, %dk reserved, %dk data, %dk init, %ldk highmem)\n", (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), num_physpages << (PAGE_SHIFT-10), _