Hi, I made a custom kernel and it crashes at the below code snippet. Can any one explain whats being done in the below code. It comes from mm/init.c. The error I get on failure is : Checking if this processor honours the WP bit even in supervisor mode... Starting Phase 0Starting Phase 1. general protection fault: bb80 [#1] SMP Modules linked in: CPU: 0 EIP: 0000:[<00000000>] Not tainted VLI EFLAGS: c014705c (2.6.18.8-xen #1) EIP is at rest_init+0x3fefe000/0x30 eax: 00000000 ebx: 00030001 ecx: ffffffff edx: 00000000 esi: 0000bb80 edi: 00000000 ebp: c03e9d9c esp: c03e9d90 ds: 8325 es: 0061 ss: e021 The code segment: void __init test_wp_bit(void) { /* * Ok, all PSE-capable CPUs are definitely handling the WP bit right. */ const unsigned long vaddr = PAGE_OFFSET; pgd_t *pgd; pmd_t *pmd; pte_t *pte, old_pte; printk("Checking if this processor honours the WP bit even in supervisor mode... "); pgd = swapper_pg_dir + __pgd_offset(vaddr); pmd = pmd_offset(pgd, vaddr); pte = pte_offset(pmd, vaddr); old_pte = *pte; *pte = mk_pte_phys(0, PAGE_READONLY); local_flush_tlb(); boot_cpu_data.wp_works_ok = do_test_wp_bit(vaddr); *pte = old_pte; local_flush_tlb(); if (!boot_cpu_data.wp_works_ok) { printk("No.\n"); #ifdef CONFIG_X86_WP_WORKS_OK panic("This kernel doesn't support CPU's with broken WP. Recompile it for a 386!"); #endif } else { printk("Ok.\n"); } } Regards, Asim -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ