diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-19 15:38:55 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-19 15:38:55 -0500 |
commit | dd59f6c76b265ed2ff18b497d6105a9511b1feb1 (patch) | |
tree | 20b2dada6ef16126c8e4c372d65790cc5b757b86 | |
parent | 70e66a5079b2b33f142303d31581cf03f7af98fe (diff) | |
parent | acadbfb90a54673d6c8b05aa4e93218433890411 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6:
alpha: Convert BUG() to use unreachable()
alpha: Add minimal support for software performance events
alpha: Wire up missing/new syscalls
-rw-r--r-- | arch/alpha/Kconfig | 1 | ||||
-rw-r--r-- | arch/alpha/include/asm/bug.h | 3 | ||||
-rw-r--r-- | arch/alpha/include/asm/perf_event.h | 9 | ||||
-rw-r--r-- | arch/alpha/include/asm/unistd.h | 17 | ||||
-rw-r--r-- | arch/alpha/kernel/systbls.S | 16 |
5 files changed, 43 insertions, 3 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index 443448154f32..bd7261ea8f94 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig | |||
@@ -9,6 +9,7 @@ config ALPHA | |||
9 | select HAVE_IDE | 9 | select HAVE_IDE |
10 | select HAVE_OPROFILE | 10 | select HAVE_OPROFILE |
11 | select HAVE_SYSCALL_WRAPPERS | 11 | select HAVE_SYSCALL_WRAPPERS |
12 | select HAVE_PERF_EVENTS | ||
12 | help | 13 | help |
13 | The Alpha is a 64-bit general-purpose processor designed and | 14 | The Alpha is a 64-bit general-purpose processor designed and |
14 | marketed by the Digital Equipment Corporation of blessed memory, | 15 | marketed by the Digital Equipment Corporation of blessed memory, |
diff --git a/arch/alpha/include/asm/bug.h b/arch/alpha/include/asm/bug.h index 1720c8ad86fe..f091682e3cc8 100644 --- a/arch/alpha/include/asm/bug.h +++ b/arch/alpha/include/asm/bug.h | |||
@@ -13,7 +13,8 @@ | |||
13 | "call_pal %0 # bugchk\n\t" \ | 13 | "call_pal %0 # bugchk\n\t" \ |
14 | ".long %1\n\t.8byte %2" \ | 14 | ".long %1\n\t.8byte %2" \ |
15 | : : "i"(PAL_bugchk), "i"(__LINE__), "i"(__FILE__)); \ | 15 | : : "i"(PAL_bugchk), "i"(__LINE__), "i"(__FILE__)); \ |
16 | for ( ; ; ); } while (0) | 16 | unreachable(); \ |
17 | } while (0) | ||
17 | 18 | ||
18 | #define HAVE_ARCH_BUG | 19 | #define HAVE_ARCH_BUG |
19 | #endif | 20 | #endif |
diff --git a/arch/alpha/include/asm/perf_event.h b/arch/alpha/include/asm/perf_event.h new file mode 100644 index 000000000000..3bef8522017c --- /dev/null +++ b/arch/alpha/include/asm/perf_event.h | |||
@@ -0,0 +1,9 @@ | |||
1 | #ifndef __ASM_ALPHA_PERF_EVENT_H | ||
2 | #define __ASM_ALPHA_PERF_EVENT_H | ||
3 | |||
4 | /* Alpha only supports software events through this interface. */ | ||
5 | static inline void set_perf_event_pending(void) { } | ||
6 | |||
7 | #define PERF_EVENT_INDEX_OFFSET 0 | ||
8 | |||
9 | #endif /* __ASM_ALPHA_PERF_EVENT_H */ | ||
diff --git a/arch/alpha/include/asm/unistd.h b/arch/alpha/include/asm/unistd.h index 7f23665122df..804e5311c841 100644 --- a/arch/alpha/include/asm/unistd.h +++ b/arch/alpha/include/asm/unistd.h | |||
@@ -247,6 +247,7 @@ | |||
247 | #define __IGNORE_pause | 247 | #define __IGNORE_pause |
248 | #define __IGNORE_time | 248 | #define __IGNORE_time |
249 | #define __IGNORE_utime | 249 | #define __IGNORE_utime |
250 | #define __IGNORE_umount2 | ||
250 | 251 | ||
251 | /* | 252 | /* |
252 | * Linux-specific system calls begin at 300 | 253 | * Linux-specific system calls begin at 300 |
@@ -434,10 +435,24 @@ | |||
434 | #define __NR_timerfd 477 | 435 | #define __NR_timerfd 477 |
435 | #define __NR_eventfd 478 | 436 | #define __NR_eventfd 478 |
436 | #define __NR_recvmmsg 479 | 437 | #define __NR_recvmmsg 479 |
438 | #define __NR_fallocate 480 | ||
439 | #define __NR_timerfd_create 481 | ||
440 | #define __NR_timerfd_settime 482 | ||
441 | #define __NR_timerfd_gettime 483 | ||
442 | #define __NR_signalfd4 484 | ||
443 | #define __NR_eventfd2 485 | ||
444 | #define __NR_epoll_create1 486 | ||
445 | #define __NR_dup3 487 | ||
446 | #define __NR_pipe2 488 | ||
447 | #define __NR_inotify_init1 489 | ||
448 | #define __NR_preadv 490 | ||
449 | #define __NR_pwritev 491 | ||
450 | #define __NR_rt_tgsigqueueinfo 492 | ||
451 | #define __NR_perf_event_open 493 | ||
437 | 452 | ||
438 | #ifdef __KERNEL__ | 453 | #ifdef __KERNEL__ |
439 | 454 | ||
440 | #define NR_SYSCALLS 480 | 455 | #define NR_SYSCALLS 494 |
441 | 456 | ||
442 | #define __ARCH_WANT_IPC_PARSE_VERSION | 457 | #define __ARCH_WANT_IPC_PARSE_VERSION |
443 | #define __ARCH_WANT_OLD_READDIR | 458 | #define __ARCH_WANT_OLD_READDIR |
diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S index cda6b8b3d573..09acb786e72b 100644 --- a/arch/alpha/kernel/systbls.S +++ b/arch/alpha/kernel/systbls.S | |||
@@ -495,9 +495,23 @@ sys_call_table: | |||
495 | .quad sys_epoll_pwait | 495 | .quad sys_epoll_pwait |
496 | .quad sys_utimensat /* 475 */ | 496 | .quad sys_utimensat /* 475 */ |
497 | .quad sys_signalfd | 497 | .quad sys_signalfd |
498 | .quad sys_ni_syscall | 498 | .quad sys_ni_syscall /* sys_timerfd */ |
499 | .quad sys_eventfd | 499 | .quad sys_eventfd |
500 | .quad sys_recvmmsg | 500 | .quad sys_recvmmsg |
501 | .quad sys_fallocate /* 480 */ | ||
502 | .quad sys_timerfd_create | ||
503 | .quad sys_timerfd_settime | ||
504 | .quad sys_timerfd_gettime | ||
505 | .quad sys_signalfd4 | ||
506 | .quad sys_eventfd2 /* 485 */ | ||
507 | .quad sys_epoll_create1 | ||
508 | .quad sys_dup3 | ||
509 | .quad sys_pipe2 | ||
510 | .quad sys_inotify_init1 | ||
511 | .quad sys_preadv /* 490 */ | ||
512 | .quad sys_pwritev | ||
513 | .quad sys_rt_tgsigqueueinfo | ||
514 | .quad sys_perf_event_open | ||
501 | 515 | ||
502 | .size sys_call_table, . - sys_call_table | 516 | .size sys_call_table, . - sys_call_table |
503 | .type sys_call_table, @object | 517 | .type sys_call_table, @object |