Messages in this thread Patch in this message | | | Date | Sat, 24 Jul 1999 23:32:44 -0400 (EDT) | From | Jeff Garzik <> | Subject | Re: error compiling 2.3.11 on DEC/Alpha |
| |
On Sun, 25 Jul 1999, Christian Groessler wrote:
> > > > Hi, > > this is what happens: > > make[2]: Entering directory `/usr/src/linux-2.3.11/kernel' > gcc -D__KERNEL__ -I/usr/src/linux-2.3.11/include -Wall -Wstrict-prototypes > -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -mno-fp-regs -ffixed-8 > -mcpu=ev4 -DEXPORT_SYMTAB -c signal.c > /usr/src/linux-2.3.11/include/asm/uaccess.h: In function `verify_area': > In file included from signal.c:16: > /usr/src/linux-2.3.11/include/asm/uaccess.h:51: structure has no member > named `tss' [...]
Attached is a patch that gets things compiling on the Alpha, but it needs more work because it crashes on boot w/ some waitqueue debug errors.
Jeff
diff -urbN /g/vanilla/v2.3.12-pre1/linux/Makefile linux/Makefile --- /g/vanilla/v2.3.12-pre1/linux/Makefile Sat Jul 24 13:42:04 1999 +++ linux/Makefile Sat Jul 24 13:12:41 1999 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 3 SUBLEVEL = 12 -EXTRAVERSION = +EXTRAVERSION = pre1 ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/) @@ -16,7 +16,7 @@ FINDHPATH = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net HOSTCC =gcc -HOSTCFLAGS =-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer +HOSTCFLAGS =-Wall -Wstrict-prototypes -O -fomit-frame-pointer CROSS_COMPILE = @@ -86,7 +86,7 @@ # standard CFLAGS # -CFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer +CFLAGS = -Wall -Wstrict-prototypes -O -fomit-frame-pointer # use '-fno-strict-aliasing', but only if the compiler can take it CFLAGS += $(shell if $(CC) -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-fno-strict-aliasing"; fi) diff -urbN /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/osf_sys.c linux/arch/alpha/kernel/osf_sys.c --- /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/osf_sys.c Sat Jul 24 13:41:46 1999 +++ linux/arch/alpha/kernel/osf_sys.c Sat Jul 24 14:01:46 1999 @@ -895,11 +895,11 @@ w = ieee_fpcr_to_swcr(fpcr); if (!(fpcr & FPCR_UNDZ)) { w &= ~IEEE_TRAP_ENABLE_UNF; - w |= current->tss.flags & IEEE_TRAP_ENABLE_UNF; + w |= current->thread.flags & IEEE_TRAP_ENABLE_UNF; } } else { /* Otherwise we are forced to do everything in sw. */ - w = current->tss.flags & IEEE_SW_MASK; + w = current->thread.flags & IEEE_SW_MASK; } if (put_user(w, (unsigned long *) buffer)) @@ -917,7 +917,7 @@ case GSI_UACPROC: if (nbytes < sizeof(unsigned int)) return -EINVAL; - w = (current->tss.flags >> UAC_SHIFT) & UAC_BITMASK; + w = (current->thread.flags >> UAC_SHIFT) & UAC_BITMASK; if (put_user(w, (unsigned int *)buffer)) return -EFAULT; return 1; @@ -964,8 +964,8 @@ /* Update softare trap enable bits. */ if (get_user(swcr, (unsigned long *)buffer)) return -EFAULT; - current->tss.flags &= ~IEEE_SW_MASK; - current->tss.flags |= swcr & IEEE_SW_MASK; + current->thread.flags &= ~IEEE_SW_MASK; + current->thread.flags |= swcr & IEEE_SW_MASK; /* Update the real fpcr. Keep UNFD off if not UNDZ. */ fpcr = rdfpcr(); @@ -997,9 +997,9 @@ return -EFAULT; switch (v) { case SSIN_UACPROC: - current->tss.flags &= + current->thread.flags &= ~(UAC_BITMASK << UAC_SHIFT); - current->tss.flags |= + current->thread.flags |= (w & UAC_BITMASK) << UAC_SHIFT; break; diff -urbN /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/process.c linux/arch/alpha/kernel/process.c --- /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/process.c Sat Jul 24 13:41:46 1999 +++ linux/arch/alpha/kernel/process.c Sat Jul 24 14:21:24 1999 @@ -61,7 +61,7 @@ struct mm_struct init_mm = INIT_MM(init_mm); union task_union init_task_union __attribute__((section("init_task"))) - = { task: INIT_TASK(init_task_union.task) }; + = { INIT_TASK(init_task_union.task), }; /* * No need to acquire the kernel lock, we're entirely local.. @@ -255,7 +255,7 @@ that EV6 defines UNFD valid only with UNDZ, which we don't want for IEEE conformance -- so that disabled bit remains in software. */ - current->tss.flags &= ~IEEE_SW_MASK; + current->thread.flags &= ~IEEE_SW_MASK; wrfpcr(FPCR_DYN_NORMAL | FPCR_INVD | FPCR_DZED | FPCR_OVFD | FPCR_INED); } @@ -325,10 +325,10 @@ #else childstack->r26 = (unsigned long) ret_from_sys_call; #endif - p->tss.usp = usp; - p->tss.ksp = (unsigned long) childstack; - p->tss.pal_flags = 1; /* set FEN, clear everything else */ - p->tss.flags = current->tss.flags; + p->thread.usp = usp; + p->thread.ksp = (unsigned long) childstack; + p->thread.pal_flags = 1; /* set FEN, clear everything else */ + p->thread.flags = current->thread.flags; return 0; } diff -urbN /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/ptrace.c linux/arch/alpha/kernel/ptrace.c --- /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/ptrace.c Sat Jul 24 13:41:46 1999 +++ linux/arch/alpha/kernel/ptrace.c Sat Jul 24 14:02:12 1999 @@ -106,7 +106,7 @@ long *addr; if (regno == 30) { - addr = &task->tss.usp; + addr = &task->thread.usp; } else if (regno == 31 || regno > 64) { zero = 0; addr = &zero; @@ -175,31 +175,31 @@ * branch (emulation can be tricky for fp branches). */ displ = ((s32)(insn << 11)) >> 9; - child->tss.bpt_addr[nsaved++] = pc + 4; + child->thread.bpt_addr[nsaved++] = pc + 4; if (displ) /* guard against unoptimized code */ - child->tss.bpt_addr[nsaved++] = pc + 4 + displ; + child->thread.bpt_addr[nsaved++] = pc + 4 + displ; DBG(DBG_BPT, ("execing branch\n")); } else if (op_code == 0x1a) { reg_b = (insn >> 16) & 0x1f; - child->tss.bpt_addr[nsaved++] = get_reg(child, reg_b); + child->thread.bpt_addr[nsaved++] = get_reg(child, reg_b); DBG(DBG_BPT, ("execing jump\n")); } else { - child->tss.bpt_addr[nsaved++] = pc + 4; + child->thread.bpt_addr[nsaved++] = pc + 4; DBG(DBG_BPT, ("execing normal insn\n")); } /* install breakpoints: */ for (i = 0; i < nsaved; ++i) { - res = read_int(child, child->tss.bpt_addr[i], &insn); + res = read_int(child, child->thread.bpt_addr[i], &insn); if (res < 0) return res; - child->tss.bpt_insn[i] = insn; - DBG(DBG_BPT, (" -> next_pc=%lx\n", child->tss.bpt_addr[i])); - res = write_int(child, child->tss.bpt_addr[i], BREAKINST); + child->thread.bpt_insn[i] = insn; + DBG(DBG_BPT, (" -> next_pc=%lx\n", child->thread.bpt_addr[i])); + res = write_int(child, child->thread.bpt_addr[i], BREAKINST); if (res < 0) return res; } - child->tss.bpt_nsaved = nsaved; + child->thread.bpt_nsaved = nsaved; return 0; } @@ -210,9 +210,9 @@ int ptrace_cancel_bpt(struct task_struct * child) { - int i, nsaved = child->tss.bpt_nsaved; + int i, nsaved = child->thread.bpt_nsaved; - child->tss.bpt_nsaved = 0; + child->thread.bpt_nsaved = 0; if (nsaved > 2) { printk("ptrace_cancel_bpt: bogus nsaved: %d!\n", nsaved); @@ -220,8 +220,8 @@ } for (i = 0; i < nsaved; ++i) { - write_int(child, child->tss.bpt_addr[i], - child->tss.bpt_insn[i]); + write_int(child, child->thread.bpt_addr[i], + child->thread.bpt_insn[i]); } return (nsaved != 0); } @@ -365,7 +365,7 @@ ret = -EIO; if ((unsigned long) data > _NSIG) goto out; - child->tss.bpt_nsaved = -1; /* mark single-stepping */ + child->thread.bpt_nsaved = -1; /* mark single-stepping */ child->flags &= ~PF_TRACESYS; wake_up_process(child); child->exit_code = data; diff -urbN /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/smp.c linux/arch/alpha/kernel/smp.c --- /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/smp.c Sat Jul 24 13:41:46 1999 +++ linux/arch/alpha/kernel/smp.c Sat Jul 24 14:02:36 1999 @@ -339,17 +339,17 @@ time. Precalculate the target PCBB. */ hwpcb->ksp = (unsigned long) idle + sizeof(union task_union) - 16; hwpcb->usp = 0; - hwpcb->ptbr = idle->tss.ptbr; + hwpcb->ptbr = idle->thread.ptbr; hwpcb->pcc = 0; hwpcb->asn = 0; - hwpcb->unique = virt_to_phys(&idle->tss); - hwpcb->flags = idle->tss.pal_flags; + hwpcb->unique = virt_to_phys(&idle->thread); + hwpcb->flags = idle->thread.pal_flags; hwpcb->res1 = hwpcb->res2 = 0; DBGS(("KSP 0x%lx PTBR 0x%lx VPTBR 0x%lx UNIQUE 0x%lx\n", hwpcb->ksp, hwpcb->ptbr, hwrpb->vptb, hwcpb->unique)); DBGS(("Starting secondary cpu %d: state 0x%lx pal_flags 0x%lx\n", - cpuid, idle->state, idle->tss.pal_flags)); + cpuid, idle->state, idle->thread.pal_flags)); /* Setup HWRPB fields that SRM uses to activate secondary CPU */ hwrpb->CPU_restart = __smp_callin; diff -urbN /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/traps.c linux/arch/alpha/kernel/traps.c --- /g/vanilla/v2.3.12-pre1/linux/arch/alpha/kernel/traps.c Fri May 14 15:41:23 1999 +++ linux/arch/alpha/kernel/traps.c Sat Jul 24 14:02:44 1999 @@ -103,12 +103,12 @@ dik_show_code((unsigned int *)regs->pc); dik_show_trace((unsigned long *)(regs+1)); - if (current->tss.flags & (1UL << 63)) { + if (current->thread.flags & (1UL << 63)) { printk("die_if_kernel recursion detected.\n"); sti(); while (1); } - current->tss.flags |= (1UL << 63); + current->thread.flags |= (1UL << 63); do_exit(SIGSEGV); } @@ -494,12 +494,12 @@ dik_show_code((unsigned int *)pc); dik_show_trace((unsigned long *)(®s+1)); - if (current->tss.flags & (1UL << 63)) { + if (current->thread.flags & (1UL << 63)) { printk("die_if_kernel recursion detected.\n"); sti(); while (1); } - current->tss.flags |= (1UL << 63); + current->thread.flags |= (1UL << 63); do_exit(SIGSEGV); } @@ -601,7 +601,7 @@ /* Check the UAC bits to decide what the user wants us to do with the unaliged access. */ - uac_bits = (current->tss.flags >> UAC_SHIFT) & UAC_BITMASK; + uac_bits = (current->thread.flags >> UAC_SHIFT) & UAC_BITMASK; if (!(uac_bits & UAC_NOPRINT)) { if (cnt >= 5 && jiffies - last_time > 5*HZ) { cnt = 0; diff -urbN /g/vanilla/v2.3.12-pre1/linux/arch/alpha/math-emu/fp-emul.c linux/arch/alpha/math-emu/fp-emul.c --- /g/vanilla/v2.3.12-pre1/linux/arch/alpha/math-emu/fp-emul.c Mon May 10 12:55:21 1999 +++ linux/arch/alpha/math-emu/fp-emul.c Sat Jul 24 15:55:46 1999 @@ -107,7 +107,7 @@ alpha_fp_emul (unsigned long pc) { unsigned long op_fun, fa, fb, fc, func, mode; - unsigned long fpcw = current->tss.flags; + unsigned long fpcw = current->thread.flags; unsigned long va, vb, vc, res, fpcr; __u32 insn; @@ -255,7 +255,7 @@ */ if (res) { /* Record exceptions in software control word. */ - current->tss.flags = fpcw |= res >> 35; + current->thread.flags = fpcw |= res >> 35; /* Update hardware control register */ fpcr &= (~FPCR_MASK | FPCR_DYN_MASK); diff -urbN /g/vanilla/v2.3.12-pre1/linux/arch/alpha/mm/fault.c linux/arch/alpha/mm/fault.c --- /g/vanilla/v2.3.12-pre1/linux/arch/alpha/mm/fault.c Sat Jul 24 13:41:47 1999 +++ linux/arch/alpha/mm/fault.c Sat Jul 24 15:53:43 1999 @@ -42,7 +42,7 @@ { unsigned long new = __get_new_mmu_context(p, mm); mm->context = new; - p->tss.asn = new & HARDWARE_ASN_MASK; + p->thread.asn = new & HARDWARE_ASN_MASK; } diff -urbN /g/vanilla/v2.3.12-pre1/linux/arch/alpha/mm/init.c linux/arch/alpha/mm/init.c --- /g/vanilla/v2.3.12-pre1/linux/arch/alpha/mm/init.c Sat Jul 24 13:41:47 1999 +++ linux/arch/alpha/mm/init.c Sat Jul 24 15:53:58 1999 @@ -233,10 +233,10 @@ } /* Also set up the real kernel PCB while we're at it. */ - init_task.tss.ptbr = newptbr; - init_task.tss.pal_flags = 1; /* set FEN, clear everything else */ - init_task.tss.flags = 0; - original_pcb_ptr = load_PCB(&init_task.tss); + init_task.thread.ptbr = newptbr; + init_task.thread.pal_flags = 1; /* set FEN, clear everything else */ + init_task.thread.flags = 0; + original_pcb_ptr = load_PCB(&init_task.thread); tbia(); /* Save off the contents of the original PCB so that we can diff -urbN /g/vanilla/v2.3.12-pre1/linux/fs/exec.c linux/fs/exec.c --- /g/vanilla/v2.3.12-pre1/linux/fs/exec.c Sat Jul 24 13:42:05 1999 +++ linux/fs/exec.c Sat Jul 24 13:46:01 1999 @@ -850,6 +850,7 @@ if (!binfmt || !binfmt->core_dump) goto fail; if (!current->dumpable || atomic_read(¤t->mm->mm_users) != 1) + goto fail; current->dumpable = 0; if (current->rlim[RLIMIT_CORE].rlim_cur < binfmt->min_coredump) goto fail; diff -urbN /g/vanilla/v2.3.12-pre1/linux/fs/proc/array.c linux/fs/proc/array.c --- /g/vanilla/v2.3.12-pre1/linux/fs/proc/array.c Sat Jul 24 13:41:50 1999 +++ linux/fs/proc/array.c Sat Jul 24 13:36:26 1999 @@ -523,9 +523,9 @@ unsigned long schedule_frame; unsigned long pc; - pc = thread_saved_pc(&p->tss); + pc = thread_saved_pc(&p->thread); if (pc >= first_sched && pc < last_sched) { - schedule_frame = ((unsigned long *)p->tss.ksp)[6]; + schedule_frame = ((unsigned long *)p->thread.ksp)[6]; return ((unsigned long *)schedule_frame)[12]; } return pc; @@ -537,7 +537,7 @@ int count = 0; stack_page = (unsigned long)p; - fp = ((struct switch_stack *)p->tss.ksp)->a6; + fp = ((struct switch_stack *)p->thread.ksp)->a6; do { if (fp < stack_page+sizeof(struct task_struct) || fp >= 8184+stack_page) @@ -555,7 +555,7 @@ unsigned long stack_page = (unsigned long) p; int count = 0; - sp = p->tss.ksp; + sp = p->thread.ksp; do { sp = *(unsigned long *)sp; if (sp < stack_page || sp >= stack_page + 8188) @@ -574,7 +574,7 @@ int count = 0; stack_page = 4096 + (unsigned long)p; - fp = get_css_fp (&p->tss); + fp = get_css_fp (&p->thread); do { if (fp < stack_page || fp > 4092+stack_page) return 0; @@ -594,7 +594,7 @@ #ifdef __sparc_v9__ bias = STACK_BIAS; #endif - fp = p->tss.ksp + bias; + fp = p->thread.ksp + bias; do { /* Bogus frame pointer? */ if (fp < (task_base + sizeof(struct task_struct)) || @@ -622,7 +622,7 @@ + (long)&((struct pt_regs *)0)->reg) # define KSTK_EIP(tsk) \ (*(unsigned long *)(PT_REG(pc) + PAGE_SIZE + (unsigned long)(tsk))) -# define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->tss.usp) +# define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->thread.usp) #elif defined(__arm__) # define KSTK_EIP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[1022]) # define KSTK_ESP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)))[1020]) @@ -630,20 +630,20 @@ #define KSTK_EIP(tsk) \ ({ \ unsigned long eip = 0; \ - if ((tsk)->tss.esp0 > PAGE_SIZE && \ - MAP_NR((tsk)->tss.esp0) < max_mapnr) \ - eip = ((struct pt_regs *) (tsk)->tss.esp0)->pc; \ + if ((tsk)->thread.esp0 > PAGE_SIZE && \ + MAP_NR((tsk)->thread.esp0) < max_mapnr) \ + eip = ((struct pt_regs *) (tsk)->thread.esp0)->pc; \ eip; }) -#define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->tss.usp) +#define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->thread.usp) #elif defined(__powerpc__) -#define KSTK_EIP(tsk) ((tsk)->tss.regs->nip) -#define KSTK_ESP(tsk) ((tsk)->tss.regs->gpr[1]) +#define KSTK_EIP(tsk) ((tsk)->thread.regs->nip) +#define KSTK_ESP(tsk) ((tsk)->thread.regs->gpr[1]) #elif defined (__sparc_v9__) -# define KSTK_EIP(tsk) ((tsk)->tss.kregs->tpc) -# define KSTK_ESP(tsk) ((tsk)->tss.kregs->u_regs[UREG_FP]) +# define KSTK_EIP(tsk) ((tsk)->thread.kregs->tpc) +# define KSTK_ESP(tsk) ((tsk)->thread.kregs->u_regs[UREG_FP]) #elif defined(__sparc__) -# define KSTK_EIP(tsk) ((tsk)->tss.kregs->pc) -# define KSTK_ESP(tsk) ((tsk)->tss.kregs->u_regs[UREG_FP]) +# define KSTK_EIP(tsk) ((tsk)->thread.kregs->pc) +# define KSTK_ESP(tsk) ((tsk)->thread.kregs->u_regs[UREG_FP]) #endif /* Gcc optimizes away "strlen(x)" for constant x */ diff -urbN /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/mmu_context.h linux/include/asm-alpha/mmu_context.h --- /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/mmu_context.h Sat Jul 24 13:41:50 1999 +++ linux/include/asm-alpha/mmu_context.h Sat Jul 24 13:48:31 1999 @@ -144,9 +144,16 @@ /* Always update the PCB ASN. Another thread may have allocated a new mm->context (via flush_tlb_mm) without the ASN serial number wrapping. We have no way to detect when this is needed. */ - p->tss.asn = mmc & HARDWARE_ASN_MASK; + p->thread.asn = mmc & HARDWARE_ASN_MASK; } +__EXTERN_INLINE void +set_mmu_context(struct task_struct *prev, struct task_struct *next) +{ + next->mm->context = prev->mm->context; +} + + #ifdef CONFIG_ALPHA_GENERIC # define get_mmu_context (alpha_mv.mv_get_mmu_context) #else @@ -158,7 +165,7 @@ #endif extern inline void -init_new_context(struct mm_struct *mm) +init_new_context(struct task_struct *t, struct mm_struct *mm) { mm->context = 0; } @@ -203,7 +210,7 @@ extern inline void reload_context(struct task_struct *task) { - __reload_tss(&task->tss); + __reload_tss(&task->thread); } /* @@ -212,10 +219,10 @@ */ extern inline void -activate_context(struct task_struct *task) +activate_context(void) { - get_new_mmu_context(task, task->mm); - reload_context(task); + get_new_mmu_context(current, current->mm); + reload_context(current); } #endif /* __ALPHA_MMU_CONTEXT_H */ diff -urbN /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/pgtable.h linux/include/asm-alpha/pgtable.h --- /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/pgtable.h Sat Jul 24 13:41:50 1999 +++ linux/include/asm-alpha/pgtable.h Sat Jul 24 15:17:27 1999 @@ -405,7 +405,7 @@ extern inline void SET_PAGE_DIR(struct task_struct * tsk, pgd_t * pgdir) { pgd_val(pgdir[PTRS_PER_PGD]) = pte_val(mk_pte((unsigned long) pgdir, PAGE_KERNEL)); - tsk->tss.ptbr = ((unsigned long) pgdir - PAGE_OFFSET) >> PAGE_SHIFT; + tsk->thread.ptbr = ((unsigned long) pgdir - PAGE_OFFSET) >> PAGE_SHIFT; if (tsk == current) reload_context(tsk); } diff -urbN /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/processor.h linux/include/asm-alpha/processor.h --- /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/processor.h Sat Jul 24 14:26:15 1999 +++ linux/include/asm-alpha/processor.h Sat Jul 24 15:17:04 1999 @@ -7,6 +7,8 @@ #ifndef __ASM_ALPHA_PROCESSOR_H #define __ASM_ALPHA_PROCESSOR_H +#include <asm/page.h> + /* * Returns current instruction pointer ("program counter"). */ @@ -70,6 +72,8 @@ int bpt_nsaved; }; +#define THREAD_SIZE (2*PAGE_SIZE) + #define INIT_MMAP { &init_mm, PAGE_OFFSET, PAGE_OFFSET+0x10000000, \ NULL, PAGE_SHARED, VM_READ | VM_WRITE | VM_EXEC, 1, NULL, NULL } @@ -118,7 +122,7 @@ /* Free all resources held by a thread. */ extern void release_thread(struct task_struct *); -#define copy_segments(nr, tsk, mm) do { } while (0) +#define copy_segments(tsk, mm) do { } while (0) #define release_segments(mm) do { } while (0) #define forget_segments() do { } while (0) diff -urbN /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/resource.h linux/include/asm-alpha/resource.h --- /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/resource.h Fri Aug 23 08:30:14 1996 +++ linux/include/asm-alpha/resource.h Sat Jul 24 14:23:19 1999 @@ -30,7 +30,7 @@ {LONG_MAX, LONG_MAX}, /* RLIMIT_RSS */ \ { NR_OPEN, NR_OPEN}, /* RLIMIT_NOFILE */ \ {LONG_MAX, LONG_MAX}, /* RLIMIT_AS */ \ - {MAX_TASKS_PER_USER, MAX_TASKS_PER_USER}, /* RLIMIT_NPROC */ \ + {0, 0}, /* RLIMIT_NPROC */ \ {LONG_MAX, LONG_MAX}, /* RLIMIT_MEMLOCK */ \ } diff -urbN /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/system.h linux/include/asm-alpha/system.h --- /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/system.h Tue Jun 22 13:46:52 1999 +++ linux/include/asm-alpha/system.h Sat Jul 24 12:51:24 1999 @@ -92,7 +92,7 @@ do { \ unsigned long pcbb; \ current = (next); \ - pcbb = virt_to_phys(¤t->tss); \ + pcbb = virt_to_phys(¤t->thread); \ (last) = alpha_switch_to(pcbb, (prev)); \ } while (0) diff -urbN /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/uaccess.h linux/include/asm-alpha/uaccess.h --- /g/vanilla/v2.3.12-pre1/linux/include/asm-alpha/uaccess.h Sat Apr 24 20:54:08 1999 +++ linux/include/asm-alpha/uaccess.h Sat Jul 24 15:17:22 1999 @@ -23,9 +23,9 @@ #define VERIFY_READ 0 #define VERIFY_WRITE 1 -#define get_fs() (current->tss.fs) +#define get_fs() (current->thread.fs) #define get_ds() (KERNEL_DS) -#define set_fs(x) (current->tss.fs = (x)) +#define set_fs(x) (current->thread.fs = (x)) #define segment_eq(a,b) ((a).seg == (b).seg)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |