Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Fix build with SPARSEMEM_VMEMMAP disabled.
[SPARC]: Make gettimeofday() monotonic again.

+13 -2
+8 -1
arch/sparc/kernel/time.c
··· 436 436 437 437 static inline unsigned long do_gettimeoffset(void) 438 438 { 439 - return (*master_l10_counter >> 10) & 0x1fffff; 439 + unsigned long val = *master_l10_counter; 440 + unsigned long usec = (val >> 10) & 0x1fffff; 441 + 442 + /* Limit hit? */ 443 + if (val & 0x80000000) 444 + usec += 1000000 / HZ; 445 + 446 + return usec; 440 447 } 441 448 442 449 /* Ok, my cute asm atomicity trick doesn't work anymore.
+5 -1
arch/sparc64/kernel/ktlb.S
··· 1 1 /* arch/sparc64/kernel/ktlb.S: Kernel mapping TLB miss handling. 2 2 * 3 - * Copyright (C) 1995, 1997, 2005 David S. Miller <davem@davemloft.net> 3 + * Copyright (C) 1995, 1997, 2005, 2008 David S. Miller <davem@davemloft.net> 4 4 * Copyright (C) 1996 Eddie C. Dost (ecd@brainaid.de) 5 5 * Copyright (C) 1996 Miguel de Icaza (miguel@nuclecu.unam.mx) 6 6 * Copyright (C) 1996,98,99 Jakub Jelinek (jj@sunsite.mff.cuni.cz) ··· 226 226 ba,pt %xcc, sun4v_dtlb_load 227 227 mov %g5, %g3 228 228 229 + #ifdef CONFIG_SPARSEMEM_VMEMMAP 229 230 kvmap_vmemmap: 230 231 sub %g4, %g5, %g5 231 232 srlx %g5, 22, %g5 ··· 235 234 or %g1, %lo(vmemmap_table), %g1 236 235 ba,pt %xcc, kvmap_dtlb_load 237 236 ldx [%g1 + %g5], %g5 237 + #endif 238 238 239 239 kvmap_dtlb_nonlinear: 240 240 /* Catch kernel NULL pointer derefs. */ ··· 244 242 bleu,pn %xcc, kvmap_dtlb_longpath 245 243 nop 246 244 245 + #ifdef CONFIG_SPARSEMEM_VMEMMAP 247 246 /* Do not use the TSB for vmemmap. */ 248 247 mov (VMEMMAP_BASE >> 24), %g5 249 248 sllx %g5, 24, %g5 250 249 cmp %g4,%g5 251 250 bgeu,pn %xcc, kvmap_vmemmap 252 251 nop 252 + #endif 253 253 254 254 KERN_TSB_LOOKUP_TL1(%g4, %g6, %g5, %g1, %g2, %g3, kvmap_dtlb_load) 255 255