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 master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC]: Wire up sys_sync_file_range() into syscall tables.
[SPARC]: Wire up sys_splice() into the syscall tables.
[SPARC64]: Update defconfig.
[SPARC64]: Align address in huge_pte_alloc().
[SPARC64]: Document the instruction checks we do in do_sparc64_fault().
[SPARC64]: Make tsb_sync() mm comparison more precise.

+51 -17
+2 -2
arch/sparc/kernel/systbls.S
··· 64 64 /*215*/ .long sys_ipc, sys_sigreturn, sys_clone, sys_ioprio_get, sys_adjtimex 65 65 /*220*/ .long sys_sigprocmask, sys_ni_syscall, sys_delete_module, sys_ni_syscall, sys_getpgid 66 66 /*225*/ .long sys_bdflush, sys_sysfs, sys_nis_syscall, sys_setfsuid16, sys_setfsgid16 67 - /*230*/ .long sys_select, sys_time, sys_nis_syscall, sys_stime, sys_statfs64 67 + /*230*/ .long sys_select, sys_time, sys_splice, sys_stime, sys_statfs64 68 68 /* "We are the Knights of the Forest of Ni!!" */ 69 69 /*235*/ .long sys_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys_mlockall 70 70 /*240*/ .long sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler 71 71 /*245*/ .long sys_sched_yield, sys_sched_get_priority_max, sys_sched_get_priority_min, sys_sched_rr_get_interval, sys_nanosleep 72 72 /*250*/ .long sparc_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl 73 - /*255*/ .long sys_nis_syscall, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep 73 + /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep 74 74 /*260*/ .long sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun 75 75 /*265*/ .long sys_timer_delete, sys_timer_create, sys_nis_syscall, sys_io_setup, sys_io_destroy 76 76 /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
+10 -4
arch/sparc64/defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 3 # Linux kernel version: 2.6.16 4 - # Sun Mar 26 14:58:11 2006 4 + # Fri Mar 31 01:40:57 2006 5 5 # 6 6 CONFIG_SPARC=y 7 7 CONFIG_SPARC64=y ··· 180 180 CONFIG_INET_AH=y 181 181 CONFIG_INET_ESP=y 182 182 CONFIG_INET_IPCOMP=y 183 + CONFIG_INET_XFRM_TUNNEL=y 183 184 CONFIG_INET_TUNNEL=y 184 185 CONFIG_INET_DIAG=y 185 186 CONFIG_INET_TCP_DIAG=y ··· 204 203 CONFIG_INET6_AH=m 205 204 CONFIG_INET6_ESP=m 206 205 CONFIG_INET6_IPCOMP=m 206 + CONFIG_INET6_XFRM_TUNNEL=m 207 207 CONFIG_INET6_TUNNEL=m 208 208 CONFIG_IPV6_TUNNEL=m 209 209 # CONFIG_NETFILTER is not set ··· 310 308 # CONFIG_BLK_DEV_SX8 is not set 311 309 CONFIG_BLK_DEV_UB=m 312 310 # CONFIG_BLK_DEV_RAM is not set 313 - CONFIG_BLK_DEV_RAM_COUNT=16 314 311 # CONFIG_BLK_DEV_INITRD is not set 315 312 CONFIG_CDROM_PKTCDVD=m 316 313 CONFIG_CDROM_PKTCDVD_BUFFERS=8 ··· 450 449 CONFIG_MD_RAID1=m 451 450 CONFIG_MD_RAID10=m 452 451 CONFIG_MD_RAID5=m 452 + # CONFIG_MD_RAID5_RESHAPE is not set 453 453 CONFIG_MD_RAID6=m 454 454 CONFIG_MD_MULTIPATH=m 455 455 # CONFIG_MD_FAULTY is not set ··· 743 741 # CONFIG_SENSORS_PCF8574 is not set 744 742 # CONFIG_SENSORS_PCA9539 is not set 745 743 # CONFIG_SENSORS_PCF8591 is not set 746 - # CONFIG_SENSORS_RTC8564 is not set 747 744 # CONFIG_SENSORS_MAX6875 is not set 748 - # CONFIG_RTC_X1205_I2C is not set 749 745 # CONFIG_I2C_DEBUG_CORE is not set 750 746 # CONFIG_I2C_DEBUG_ALGO is not set 751 747 # CONFIG_I2C_DEBUG_BUS is not set ··· 826 826 CONFIG_FB_CFB_COPYAREA=y 827 827 CONFIG_FB_CFB_IMAGEBLIT=y 828 828 # CONFIG_FB_MACMODES is not set 829 + # CONFIG_FB_FIRMWARE_EDID is not set 829 830 CONFIG_FB_MODE_HELPERS=y 830 831 CONFIG_FB_TILEBLITTING=y 831 832 # CONFIG_FB_CIRRUS is not set ··· 1116 1115 # 1117 1116 # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 1118 1117 # 1118 + 1119 + # 1120 + # Real Time Clock 1121 + # 1122 + # CONFIG_RTC_CLASS is not set 1119 1123 1120 1124 # 1121 1125 # Misc Linux/SPARC drivers
+8 -1
arch/sparc64/kernel/smp.c
··· 830 830 831 831 static void tsb_sync(void *info) 832 832 { 833 + struct trap_per_cpu *tp = &trap_block[raw_smp_processor_id()]; 833 834 struct mm_struct *mm = info; 834 835 835 - if (current->active_mm == mm) 836 + /* It is not valid to test "currrent->active_mm == mm" here. 837 + * 838 + * The value of "current" is not changed atomically with 839 + * switch_mm(). But that's OK, we just need to check the 840 + * current cpu's trap block PGD physical address. 841 + */ 842 + if (tp->pgd_paddr == __pa(mm->pgd)) 836 843 tsb_context_switch(mm); 837 844 } 838 845
+2
arch/sparc64/kernel/sys32.S
··· 136 136 SIGN1(sys32_getsockname, sys_getsockname, %o0) 137 137 SIGN2(sys32_ioprio_get, sys_ioprio_get, %o0, %o1) 138 138 SIGN3(sys32_ioprio_set, sys_ioprio_set, %o0, %o1, %o2) 139 + SIGN2(sys32_splice, sys_splice, %o0, %o1) 140 + SIGN2(sys32_sync_file_range, compat_sync_file_range, %o0, %o5) 139 141 140 142 .globl sys32_mmap2 141 143 sys32_mmap2:
+8
arch/sparc64/kernel/sys_sparc32.c
··· 1069 1069 return sys_lookup_dcookie((cookie_high << 32) | cookie_low, 1070 1070 buf, len); 1071 1071 } 1072 + 1073 + long compat_sync_file_range(int fd, unsigned long off_high, unsigned long off_low, unsigned long nb_high, unsigned long nb_low, int flags) 1074 + { 1075 + return sys_sync_file_range(fd, 1076 + (off_high << 32) | off_low, 1077 + (nb_high << 32) | nb_low, 1078 + flags); 1079 + }
+4 -4
arch/sparc64/kernel/systbls.S
··· 66 66 .word sys32_ipc, sys32_sigreturn, sys_clone, sys32_ioprio_get, compat_sys_adjtimex 67 67 /*220*/ .word sys32_sigprocmask, sys_ni_syscall, sys32_delete_module, sys_ni_syscall, sys32_getpgid 68 68 .word sys32_bdflush, sys32_sysfs, sys_nis_syscall, sys32_setfsuid16, sys32_setfsgid16 69 - /*230*/ .word sys32_select, compat_sys_time, sys_nis_syscall, compat_sys_stime, compat_sys_statfs64 69 + /*230*/ .word sys32_select, compat_sys_time, sys32_splice, compat_sys_stime, compat_sys_statfs64 70 70 .word compat_sys_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys32_mlockall 71 71 /*240*/ .word sys_munlockall, sys32_sched_setparam, sys32_sched_getparam, sys32_sched_setscheduler, sys32_sched_getscheduler 72 72 .word sys_sched_yield, sys32_sched_get_priority_max, sys32_sched_get_priority_min, sys32_sched_rr_get_interval, compat_sys_nanosleep 73 73 /*250*/ .word sys32_mremap, sys32_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl 74 - .word sys_ni_syscall, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep 74 + .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep 75 75 /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun 76 76 .word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy 77 77 /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink ··· 135 135 .word sys_ipc, sys_nis_syscall, sys_clone, sys_ioprio_get, sys_adjtimex 136 136 /*220*/ .word sys_nis_syscall, sys_ni_syscall, sys_delete_module, sys_ni_syscall, sys_getpgid 137 137 .word sys_bdflush, sys_sysfs, sys_nis_syscall, sys_setfsuid, sys_setfsgid 138 - /*230*/ .word sys_select, sys_nis_syscall, sys_nis_syscall, sys_stime, sys_statfs64 138 + /*230*/ .word sys_select, sys_nis_syscall, sys_splice, sys_stime, sys_statfs64 139 139 .word sys_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys_mlockall 140 140 /*240*/ .word sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler 141 141 .word sys_sched_yield, sys_sched_get_priority_max, sys_sched_get_priority_min, sys_sched_rr_get_interval, sys_nanosleep 142 142 /*250*/ .word sys64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl 143 - .word sys_ni_syscall, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep 143 + .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep 144 144 /*260*/ .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun 145 145 .word sys_timer_delete, sys_timer_create, sys_ni_syscall, sys_io_setup, sys_io_destroy 146 146 /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
+5 -1
arch/sparc64/mm/fault.c
··· 327 327 insn = get_fault_insn(regs, 0); 328 328 if (!insn) 329 329 goto continue_fault; 330 + /* All loads, stores and atomics have bits 30 and 31 both set 331 + * in the instruction. Bit 21 is set in all stores, but we 332 + * have to avoid prefetches which also have bit 21 set. 333 + */ 330 334 if ((insn & 0xc0200000) == 0xc0200000 && 331 - (insn & 0x1780000) != 0x1680000) { 335 + (insn & 0x01780000) != 0x01680000) { 332 336 /* Don't bother updating thread struct value, 333 337 * because update_mmu_cache only cares which tlb 334 338 * the access came from.
+7
arch/sparc64/mm/hugetlbpage.c
··· 198 198 pmd_t *pmd; 199 199 pte_t *pte = NULL; 200 200 201 + /* We must align the address, because our caller will run 202 + * set_huge_pte_at() on whatever we return, which writes out 203 + * all of the sub-ptes for the hugepage range. So we have 204 + * to give it the first such sub-pte. 205 + */ 206 + addr &= HPAGE_MASK; 207 + 201 208 pgd = pgd_offset(mm, addr); 202 209 pud = pud_alloc(mm, pgd, addr); 203 210 if (pud) {
+3 -3
include/asm-sparc/unistd.h
··· 180 180 #define __NR_sched_get_affinity 161 /* Linux specific, getfh under SunOS */ 181 181 #define __NR_getdomainname 162 /* SunOS Specific */ 182 182 #define __NR_setdomainname 163 /* Common */ 183 - /* #define __NR_ni_syscall 164 ENOSYS under SunOS */ 183 + /* #define __NR_utrap_install 164 Linux sparc64 specific */ 184 184 #define __NR_quotactl 165 /* Common */ 185 185 #define __NR_set_tid_address 166 /* Linux specific, exportfs under SunOS */ 186 186 #define __NR_mount 167 /* Common */ ··· 248 248 #define __NR_setfsgid 229 /* Linux Specific */ 249 249 #define __NR__newselect 230 /* Linux Specific */ 250 250 #define __NR_time 231 /* Linux Specific */ 251 - /* #define __NR_oldstat 232 Linux Specific */ 251 + #define __NR_sys_splice 232 /* Linux Specific */ 252 252 #define __NR_stime 233 /* Linux Specific */ 253 253 #define __NR_statfs64 234 /* Linux Specific */ 254 254 #define __NR_fstatfs64 235 /* Linux Specific */ ··· 271 271 #define __NR_getsid 252 272 272 #define __NR_fdatasync 253 273 273 #define __NR_nfsservctl 254 274 - #define __NR_aplib 255 274 + #define __NR_sys_sync_file_range 255 275 275 #define __NR_clock_settime 256 276 276 #define __NR_clock_gettime 257 277 277 #define __NR_clock_getres 258
+2 -2
include/asm-sparc64/unistd.h
··· 250 250 #ifdef __KERNEL__ 251 251 #define __NR_time 231 /* Linux sparc32 */ 252 252 #endif 253 - /* #define __NR_oldstat 232 Linux Specific */ 253 + #define __NR_sys_splice 232 /* Linux Specific */ 254 254 #define __NR_stime 233 /* Linux Specific */ 255 255 #define __NR_statfs64 234 /* Linux Specific */ 256 256 #define __NR_fstatfs64 235 /* Linux Specific */ ··· 273 273 #define __NR_getsid 252 274 274 #define __NR_fdatasync 253 275 275 #define __NR_nfsservctl 254 276 - #define __NR_aplib 255 276 + #define __NR_sys_sync_file_range 255 277 277 #define __NR_clock_settime 256 278 278 #define __NR_clock_gettime 257 279 279 #define __NR_clock_getres 258