Hi pgd_base was only used in the CONFIG_HIGHMEM. Used constant propagation and we are done. Later, Juan. build/arch/mips/mm/init.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diff -puN build/arch/mips/mm/init.c~remove_unused_var_init.c build/arch/mips/mm/init.c --- 24/build/arch/mips/mm/init.c~remove_unused_var_init.c 2003-03-19 23:37:26.000000000 +0100 +++ 24-quintela/build/arch/mips/mm/init.c 2003-03-19 23:39:06.000000000 +0100 @@ -193,7 +193,7 @@ static void __init fixrange_init (unsign void __init pagetable_init(void) { unsigned long vaddr; - pgd_t *pgd, *pgd_base; + pgd_t *pgd; pmd_t *pmd; pte_t *pte; @@ -202,20 +202,18 @@ void __init pagetable_init(void) pgd_init((unsigned long)swapper_pg_dir + sizeof(pgd_t ) * USER_PTRS_PER_PGD); - pgd_base = swapper_pg_dir; - #ifdef CONFIG_HIGHMEM /* * Fixed mappings: */ vaddr = __fix_to_virt(__end_of_fixed_addresses - 1) & PMD_MASK; - fixrange_init(vaddr, 0, pgd_base); + fixrange_init(vaddr, 0, swapper_pg_dir); /* * Permanent kmaps: */ vaddr = PKMAP_BASE; - fixrange_init(vaddr, vaddr + PAGE_SIZE*LAST_PKMAP, pgd_base); + fixrange_init(vaddr, vaddr + PAGE_SIZE*LAST_PKMAP, swapper_pg_dir); pgd = swapper_pg_dir + __pgd_offset(vaddr); pmd = pmd_offset(pgd, vaddr); _ -- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy