Forget this, just seen it in upstream as 4a9040f451c32cd62971ecda1cb5bc4aed444c78. Cheers * Alexander Clouter <alex@xxxxxxxxxxxxx> [2011-05-13 16:49:41+0100]: > > For !HUGETLB_PAGE htlb_info barfs, and when !64BIT we get vmalloc_mode > grumbling. > > CC arch/mips/mm/tlbex.o > arch/mips/mm/tlbex.c: In function 'build_r4000_tlb_refill_handler': > arch/mips/mm/tlbex.c:1155:22: error: variable 'vmalloc_mode' set but not used [-Werror=unused-but-set-variable] > arch/mips/mm/tlbex.c:1154:28: error: variable 'htlb_info' set but not used [-Werror=unused-but-set-variable] > cc1: all warnings being treated as errors > > Untested other than shovelling through a compiler, it really is turning > into an ifdef-fest though in there... > > Signed-off-by: Alexander Clouter <alex@xxxxxxxxxxxxx> > --- > arch/mips/mm/tlbex.c | 17 ++++++++++++++++- > 1 files changed, 16 insertions(+), 1 deletions(-) > > diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c > index 04f9e17..814b3f4 100644 > --- a/arch/mips/mm/tlbex.c > +++ b/arch/mips/mm/tlbex.c > @@ -1151,8 +1151,12 @@ static void __cpuinit build_r4000_tlb_refill_handler(void) > struct uasm_reloc *r = relocs; > u32 *f; > unsigned int final_len; > +#ifdef CONFIG_HUGETLB_PAGE > struct mips_huge_tlb_info htlb_info; > +#endif > +#ifdef CONFIG_64BIT > enum vmalloc64_mode vmalloc_mode; > +#endif > > memset(tlb_handler, 0, sizeof(tlb_handler)); > memset(labels, 0, sizeof(labels)); > @@ -1163,13 +1167,24 @@ static void __cpuinit build_r4000_tlb_refill_handler(void) > scratch_reg = allocate_kscratch(); > > if ((scratch_reg > 0 || scratchpad_available()) && use_bbit_insns()) { > - htlb_info = build_fast_tlb_refill_handler(&p, &l, &r, K0, K1, > +#ifdef CONFIG_HUGETLB_PAGE > + htlb_info = > +#else > + (void) > +#endif > + build_fast_tlb_refill_handler(&p, &l, &r, K0, K1, > scratch_reg); > +#ifdef CONFIG_64BIT > vmalloc_mode = refill_scratch; > +#endif > } else { > +#ifdef CONFIG_HUGETLB_PAGE > htlb_info.huge_pte = K0; > htlb_info.restore_scratch = 0; > +#endif > +#ifdef CONFIG_64BIT > vmalloc_mode = refill_noscratch; > +#endif > /* > * create the plain linear handler > */ > -- Alexander Clouter .sigmonster says: Needs are a function of what other people have.