summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@penguin.transmeta.com>2002-11-20 22:17:45 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-11-20 22:17:45 -0800
commitb3cf3e5b3acc10ddc7a4ba27081eebac82260f87 (patch)
tree4903af7e20507e23bdea1c81655904a676bc75ca /include
parentdbc4fc9c16d84f2c6808d1dc436358db0ea802b4 (diff)
parentb61ff743951bf02f68966428fcb306a98790dc7c (diff)
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc/system.h29
-rw-r--r--include/asm-sparc/unistd.h6
-rw-r--r--include/asm-sparc64/unistd.h6
3 files changed, 11 insertions, 30 deletions
diff --git a/include/asm-sparc/system.h b/include/asm-sparc/system.h
index 7186d3416927..962c50d355b5 100644
--- a/include/asm-sparc/system.h
+++ b/include/asm-sparc/system.h
@@ -123,7 +123,7 @@ extern void fpsave(unsigned long *fpregs, unsigned long *fsr,
"save %sp, -0x40, %sp\n\t" \
"restore; restore; restore; restore; restore; restore; restore"); \
} while(0)
-#define finish_arch_switch(rq, next) do{ }while(0)
+#define finish_arch_switch(rq, next) spin_unlock_irq(&(rq)->lock)
#define task_running(rq, p) ((rq)->curr == (p))
/* Much care has gone into this code, do not touch it.
@@ -195,21 +195,6 @@ extern __inline__ void setipl(unsigned long __orig_psr)
: "memory", "cc");
}
-extern __inline__ void local_irq_disable(void)
-{
- unsigned long tmp;
-
- __asm__ __volatile__(
- "rd %%psr, %0\n\t"
- "nop; nop; nop;\n\t" /* Sun4m + Cypress + SMP bug */
- "or %0, %1, %0\n\t"
- "wr %0, 0x0, %%psr\n\t"
- "nop; nop; nop\n"
- : "=r" (tmp)
- : "i" (PSR_PIL)
- : "memory");
-}
-
extern __inline__ void local_irq_enable(void)
{
unsigned long tmp;
@@ -233,6 +218,7 @@ extern __inline__ unsigned long getipl(void)
return retval;
}
+#if 0 /* not used */
extern __inline__ unsigned long swap_pil(unsigned long __new_psr)
{
unsigned long retval;
@@ -254,6 +240,7 @@ extern __inline__ unsigned long swap_pil(unsigned long __new_psr)
return retval;
}
+#endif
extern __inline__ unsigned long read_psr_and_cli(void)
{
@@ -275,15 +262,9 @@ extern __inline__ unsigned long read_psr_and_cli(void)
#define local_save_flags(flags) ((flags) = getipl())
#define local_irq_save(flags) ((flags) = read_psr_and_cli())
#define local_irq_restore(flags) setipl((flags))
+#define local_irq_disable() ((void) read_psr_and_cli())
-/* On sparc32 IRQ flags are the PSR register in the PSR_PIL
- * field.
- */
-#define irqs_disabled() \
-({ unsigned long flags; \
- local_save_flags(flags);\
- (flags & PSR_PIL) != 0; \
-})
+#define irqs_disabled() ((getipl() & PSR_PIL) != 0)
#ifdef CONFIG_SMP
diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h
index 82241756c07c..62006ff85d57 100644
--- a/include/asm-sparc/unistd.h
+++ b/include/asm-sparc/unistd.h
@@ -208,9 +208,9 @@
#define __NR_init_module 190 /* Linux Specific */
#define __NR_personality 191 /* Linux Specific */
#define __NR_remap_file_pages 192 /* Linux Specific */
-/* #define __NR_break 193 Linux Specific */
-/* #define __NR_lock 194 Linux Specific */
-/* #define __NR_mpx 195 Linux Specific */
+#define __NR_epoll_create 193 /* Linux Specific */
+#define __NR_epoll_ctl 194 /* Linux Specific */
+#define __NR_epoll_wait 195 /* Linux Specific */
/* #define __NR_ulimit 196 Linux Specific */
#define __NR_getppid 197 /* Linux Specific */
#define __NR_sigaction 198 /* Linux Specific */
diff --git a/include/asm-sparc64/unistd.h b/include/asm-sparc64/unistd.h
index f2fe4a9a6adf..7de23077a285 100644
--- a/include/asm-sparc64/unistd.h
+++ b/include/asm-sparc64/unistd.h
@@ -208,9 +208,9 @@
#define __NR_init_module 190 /* Linux Specific */
#define __NR_personality 191 /* Linux Specific */
#define __NR_remap_file_pages 192 /* Linux Specific */
-/* #define __NR_break 193 Linux Specific */
-/* #define __NR_lock 194 Linux Specific */
-/* #define __NR_mpx 195 Linux Specific */
+#define __NR_epoll_create 193 /* Linux Specific */
+#define __NR_epoll_ctl 194 /* Linux Specific */
+#define __NR_epoll_wait 195 /* Linux Specific */
/* #define __NR_ulimit 196 Linux Specific */
#define __NR_getppid 197 /* Linux Specific */
#define __NR_sigaction 198 /* Linux Specific */