1 --- linux-2.4.19/arch/sparc/kernel/process.c.org Sat Aug 3 02:39:43 2002
2 +++ linux-2.4.19/arch/sparc/kernel/process.c Fri Sep 27 09:34:30 2002
6 /* endless idle loop with no priority at all */
10 if (ARCH_SUN4C_SUN4) {
14 /* endless idle loop with no priority at all */
18 if(current->need_resched) {
19 --- linux/include/asm-sparc/bitops.h.orig Tue Aug 21 14:26:16 2001
20 +++ linux/include/asm-sparc/bitops.h Fri Jul 19 15:03:33 2002
22 #include <asm/byteorder.h>
23 #include <asm/system.h>
26 + * __ffs - find first bit in word.
27 + * @word: The word to search
29 + * Undefined if no bit exists, so code should check against 0 first.
31 +static __inline__ unsigned long __ffs(unsigned long word)
33 + unsigned long result = 0;
35 + while (!(word & 1UL)) {
51 + * Every architecture must define this function. It's the fastest
52 + * way of searching a 140-bit bitmap where the first 100 bits are
53 + * unlikely to be set. It's guaranteed that at least one of the 140
56 +static inline int _sched_find_first_bit(unsigned long *b)
61 + return __ffs(b[1]) + 32;
63 + return __ffs(b[2]) + 64;
65 + return __ffs(b[3]) + 96;
66 + return __ffs(b[4]) + 128;
70 * ffs - find first bit set
71 --- linux-2.4.19/include/asm-sparc/system.h.org Wed Oct 31 00:08:11 2001
72 +++ linux-2.4.19/include/asm-sparc/system.h Sat Nov 2 23:54:48 2002
75 * SWITCH_ENTER and SWITH_DO_LAZY_FPU do not work yet (e.g. SMP does not work)
77 -#define prepare_to_switch() do { \
78 +#define prepare_arch_switch(rq, next) do { \
79 __asm__ __volatile__( \
80 ".globl\tflush_patch_switch\nflush_patch_switch:\n\t" \
81 "save %sp, -0x40, %sp; save %sp, -0x40, %sp; save %sp, -0x40, %sp\n\t" \
83 "save %sp, -0x40, %sp\n\t" \
84 "restore; restore; restore; restore; restore; restore; restore"); \
86 +#define finish_arch_switch(rq, next) do{ }while(0)
87 +#define task_running(rq, p) ((rq)->curr == (p))
89 /* Much care has gone into this code, do not touch it.
91 --- linux-2.4.19/include/asm-sparc/pgtable.h.org Mon Sep 23 09:33:03 2002
92 +++ linux-2.4.19/include/asm-sparc/pgtable.h Mon Sep 23 10:23:24 2002
94 #define PAGE_COPY __pgprot(BTFIXUP_INT(page_copy))
95 #define PAGE_READONLY __pgprot(BTFIXUP_INT(page_readonly))
97 +#ifdef CONFIG_GRKERNSEC_PAX
98 +#define PAGE_SHARED_NOEXEC PAGE_SHARED
99 +#define PAGE_COPY_NOEXEC PAGE_COPY
100 +#define PAGE_READONLY_NOEXEC PAGE_READONLY
102 +#define PAGE_SHARED_NOEXEC PAGE_SHARED
103 +#define PAGE_COPY_NOEXEC PAGE_COPY
104 +#define PAGE_READONLY_NOEXEC PAGE_READONLY
107 extern unsigned long page_kernel;
110 --- linux-2.4.19/kernel/sched.c.org Fri Sep 13 10:27:12 2002
111 +++ linux-2.4.19/kernel/sched.c Fri Sep 13 10:12:38 2002
114 finish_arch_switch(this_rq(), prev);
117 +asmlinkage void schedule_tail(task_t *prev)
119 + finish_arch_switch(this_rq(), prev);
123 static inline task_t * context_switch(task_t *prev, task_t *next)