You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(6) |
Sep
(2) |
Oct
(43) |
Nov
(4) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(78) |
Feb
(97) |
Mar
(29) |
Apr
(2) |
May
(22) |
Jun
(38) |
Jul
(11) |
Aug
(27) |
Sep
(40) |
Oct
(2) |
Nov
(17) |
Dec
(8) |
2002 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
(480) |
May
(456) |
Jun
(12) |
Jul
|
Aug
(1) |
Sep
|
Oct
(18) |
Nov
(3) |
Dec
(6) |
2003 |
Jan
|
Feb
(18) |
Mar
(1) |
Apr
|
May
(6) |
Jun
(147) |
Jul
(7) |
Aug
(3) |
Sep
(235) |
Oct
(10) |
Nov
(2) |
Dec
(1) |
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ai...@us...> - 2003-09-21 13:12:35
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/ia64/sn In directory sc8-pr-cvs1:/tmp/cvs-serv24917/arch/ia64/sn Removed Files: Makefile Log Message: Merge 2.4.19 --- Makefile DELETED --- |
Update of /cvsroot/linux-vax/kernel-2.4/arch/ia64/sn/io In directory sc8-pr-cvs1:/tmp/cvs-serv24917/arch/ia64/sn/io Removed Files: devsupport.c huberror.c ip37.c mem_refcnt.c ml_SN_intr.c pcibr.c Log Message: Merge 2.4.19 --- devsupport.c DELETED --- --- huberror.c DELETED --- --- ip37.c DELETED --- --- mem_refcnt.c DELETED --- --- ml_SN_intr.c DELETED --- --- pcibr.c DELETED --- |
Update of /cvsroot/linux-vax/kernel-2.4/arch/mips/ddb5476 In directory sc8-pr-cvs1:/tmp/cvs-serv24917/arch/mips/ddb5476 Removed Files: Makefile dbg_io.c int-handler.S irq.c nile4.c pci.c prom.c setup.c time.c Log Message: Merge 2.4.19 --- Makefile DELETED --- --- dbg_io.c DELETED --- --- int-handler.S DELETED --- --- irq.c DELETED --- --- nile4.c DELETED --- --- pci.c DELETED --- --- prom.c DELETED --- --- setup.c DELETED --- --- time.c DELETED --- |
Update of /cvsroot/linux-vax/kernel-2.4/arch/ia64/sn/fprom In directory sc8-pr-cvs1:/tmp/cvs-serv24917/arch/ia64/sn/fprom Removed Files: Makefile README fpmem.c fpmem.h fprom.lds fpromasm.S fw-emu.c main.c runsim Log Message: Merge 2.4.19 --- Makefile DELETED --- --- README DELETED --- --- fpmem.c DELETED --- --- fpmem.h DELETED --- --- fprom.lds DELETED --- --- fpromasm.S DELETED --- --- fw-emu.c DELETED --- --- main.c DELETED --- --- runsim DELETED --- |
Update of /cvsroot/linux-vax/kernel-2.4/arch/ia64/sn/sn1 In directory sc8-pr-cvs1:/tmp/cvs-serv24917/arch/ia64/sn/sn1 Removed Files: Makefile discontig.c error.c iomv.c irq.c llsc4.c llsc4.h machvec.c mm.c probe.c setup.c smp.c sn1_asm.S sn1_ksyms.c sv.c synergy.c Log Message: Merge 2.4.19 --- Makefile DELETED --- --- discontig.c DELETED --- --- error.c DELETED --- --- iomv.c DELETED --- --- irq.c DELETED --- --- llsc4.c DELETED --- --- llsc4.h DELETED --- --- machvec.c DELETED --- --- mm.c DELETED --- --- probe.c DELETED --- --- setup.c DELETED --- --- smp.c DELETED --- --- sn1_asm.S DELETED --- --- sn1_ksyms.c DELETED --- --- sv.c DELETED --- --- synergy.c DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:36
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/net/pcmcia In directory sc8-pr-cvs1:/tmp/cvs-serv2507/drivers/net/pcmcia Removed Files: ax8390.h Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- ax8390.h DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:36
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-s390 In directory sc8-pr-cvs1:/tmp/cvs-serv2507/include/asm-s390 Removed Files: s390-gdbregs.h Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- s390-gdbregs.h DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:36
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-s390x In directory sc8-pr-cvs1:/tmp/cvs-serv2507/include/asm-s390x Removed Files: s390-gdbregs.h Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- s390-gdbregs.h DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:36
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/ieee1394 In directory sc8-pr-cvs1:/tmp/cvs-serv2507/drivers/ieee1394 Removed Files: ieee1394_syms.c Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- ieee1394_syms.c DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:35
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/ppc/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv2507/arch/ppc/kernel Removed Files: feature.c Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- feature.c DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:35
|
Update of /cvsroot/linux-vax/kernel-2.4/fs/ext3 In directory sc8-pr-cvs1:/tmp/cvs-serv2507/fs/ext3 Removed Files: acl.c Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- acl.c DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:35
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/sound/cs4281 In directory sc8-pr-cvs1:/tmp/cvs-serv2507/drivers/sound/cs4281 Removed Files: cs4281_wrapper-24.c Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- cs4281_wrapper-24.c DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:35
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/char In directory sc8-pr-cvs1:/tmp/cvs-serv2507/drivers/char Removed Files: sc26c94.c sc26c94.h vxt2694.c Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- sc26c94.c DELETED --- --- sc26c94.h DELETED --- --- vxt2694.c DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:35
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/isdn/hysdn In directory sc8-pr-cvs1:/tmp/cvs-serv2507/drivers/isdn/hysdn Removed Files: hysdn_procfs.c Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- hysdn_procfs.c DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:34
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-ppc In directory sc8-pr-cvs1:/tmp/cvs-serv2507/include/asm-ppc Removed Files: feature.h Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- feature.h DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:34
|
Update of /cvsroot/linux-vax/kernel-2.4/Documentation/filesystems/devfs In directory sc8-pr-cvs1:/tmp/cvs-serv2507/Documentation/filesystems/devfs Removed Files: rc.devfs Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- rc.devfs DELETED --- |
From: <ke...@us...> - 2003-09-20 19:37:33
|
Update of /cvsroot/linux-vax/kernel-2.4/Documentation/networking In directory sc8-pr-cvs1:/tmp/cvs-serv2507/Documentation/networking Removed Files: tulip.txt Log Message: Deleting files that are no longer in Linus' 2.4.18 tree --- tulip.txt DELETED --- |
From: <ai...@us...> - 2003-09-20 08:17:17
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv27100/arch/vax/kernel Modified Files: vax_ksyms.c Log Message: DA: don't export strtol anymore Index: vax_ksyms.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/vax_ksyms.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- vax_ksyms.c 17 May 2003 11:07:08 -0000 1.1 +++ vax_ksyms.c 20 Sep 2003 08:17:08 -0000 1.2 @@ -28,7 +28,6 @@ EXPORT_SYMBOL(strtok); EXPORT_SYMBOL(strpbrk); -EXPORT_SYMBOL(simple_strtol); EXPORT_SYMBOL(strstr); EXPORT_SYMBOL(__strncpy_from_user); |
From: <ai...@us...> - 2003-09-19 20:25:56
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv17715 Modified Files: signal.c Log Message: DA: add my name to top of file Index: signal.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/signal.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- signal.c 19 Sep 2003 13:37:39 -0000 1.14 +++ signal.c 19 Sep 2003 13:42:22 -0000 1.15 @@ -12,7 +12,8 @@ * Copyright (C) 2000 Axis Communications AB * * Authors: Bjorn Wesen (bj...@ax...) - * VAX port at...@pe.... + * VAX port at...@pe..., + * + David Airlie Copyright (C) 2003 * See syscall.c for details of the call stack layout etc... */ |
From: <ai...@us...> - 2003-09-19 19:58:51
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv16653 Modified Files: signal.c Log Message: DA: okay kernel rt stuff looks good to me .. Index: signal.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/signal.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- signal.c 18 Sep 2003 13:16:01 -0000 1.13 +++ signal.c 19 Sep 2003 13:37:39 -0000 1.14 @@ -110,8 +110,6 @@ { sigset_t saveset, newset; - printk("sys_rt_sigsuspend called but may not work\n"); - /* XXX: Don't preclude handling different sized sigset_t's. */ if (sigsetsize != sizeof(sigset_t)) return -EINVAL; @@ -216,7 +214,7 @@ * (we cannot just pop the sigcontext since we aligned the sp and * stuff after pushing it) */ - + /* FIXME: check process stack */ /* TODO: the other ports use regs->orig_XX to disable syscall checks @@ -270,14 +268,13 @@ } -/* FIXME: _rt_ stuff is completely unchecked + probably does not work */ +/* works better now */ asmlinkage int sys_rt_sigreturn(struct pt_regs *regs) { - struct rt_sigframe *frame = (struct rt_sigframe *)(regs->sp); + struct rt_sigframe *frame = (struct rt_sigframe *)(regs->sp-8); sigset_t set; stack_t st; - printk("sys_rt_sigreturn called but may not work\n"); /* * Since we stacked the signal on a dword boundary, * then frame should be dword aligned here. If it's @@ -371,7 +368,7 @@ #ifdef DEBUG_SIG - printk("setup_frame: pid %d, sig %d, regs %p, frame %p, sigaction %p\n",current->pid,sig,regs,frame,ka); + printk("setup_frame: pid %d, sig %d, regs %p, regs->sp %p, frame %p, sigaction %p\n",current->pid,sig,regs,regs->sp,frame,ka); show_regs(regs); #endif if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) @@ -531,6 +528,10 @@ // machine_halt(); frame = get_sigframe(ka, regs, sizeof(*frame)); +#ifdef DEBUG_SIG + printk("setup_rt_frame: pid %d, sig %d, regs %p, regs->sp %p, frame %p, sigaction %p\n",current->pid,sig,regs,regs->sp,frame,ka); + show_regs(regs); +#endif if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) goto give_sigsegv; @@ -594,7 +595,7 @@ /* chmk __NR_sigreturn; */ err |= __put_user(0xbc, (char *)(frame->retcode+12)); err |= __put_user(0x8f, (char *)(frame->retcode+13)); - err |= __put_user(__NR_sigreturn, (short *)(frame->retcode+14)); + err |= __put_user(__NR_rt_sigreturn, (short *)(frame->retcode+14)); /* plus a halt */ err |= __put_user(0x00, (char *)(frame->retcode+16)); } @@ -603,12 +604,14 @@ goto give_sigsegv; /* TODO what is the current->exec_domain stuff and invmap ? */ - +#ifdef DEBUG_SIG + printk("setup_rt_frame: pid %d, frame->retcode %p, sa_handler %p usp %8lX\n",current->pid,frame->retcode,ka->sa.sa_handler,__mfpr(PR_USP)); +#endif /* Set up registers for signal handler */ regs->pc = (unsigned long) frame->retcode; /* what we enter NOW */ regs->fp = regs->sp; - regs->sp = (unsigned int)frame; /* what we enter LATER */ + regs->sp = (unsigned int)frame; /* what we enter LATER */ __mtpr(frame, PR_USP); return; |
From: <ai...@us...> - 2003-09-19 19:35:54
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv17898 Modified Files: signal.c Log Message: DA: remove some FIXMEs... Index: signal.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/signal.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- signal.c 19 Sep 2003 13:42:22 -0000 1.15 +++ signal.c 19 Sep 2003 13:43:30 -0000 1.16 @@ -185,7 +185,7 @@ unsigned char retcode[20]; /* trampoline code */ }; -/* FIXME: this dont work ... */ +/* This should work now */ struct rt_sigframe { int sig; struct siginfo *pinfo; @@ -519,7 +519,6 @@ force_sig(SIGSEGV, current); } -/* FIXME: this is bogus */ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, sigset_t *set, struct pt_regs * regs) { |
From: <ai...@us...> - 2003-09-18 13:26:09
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv22133 Modified Files: process.c Log Message: DA: backout last commit Index: process.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/process.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- process.c 18 Sep 2003 13:16:01 -0000 1.20 +++ process.c 18 Sep 2003 13:25:59 -0000 1.21 @@ -203,13 +203,13 @@ if (!newsp) { newsp = regs->sp; } -#if 1 /*def VAX_PROCESS_DEBUG*/ +#ifdef VAX_PROCESS_DEBUG printk("sys_clone: calling do_fork(0x%08lx, 0x%08lx, 0x%p)\n", clone_flags, newsp, regs); #endif retval = do_fork(clone_flags, newsp, regs, 0); -#if 1 /*def VAX_PROCESS_DEBUG*/ +#ifdef VAX_PROCESS_DEBUG printk("sys_clone: do_fork() returned %d\n", retval); #endif return retval; |
From: <ai...@us...> - 2003-09-18 13:16:07
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv20312 Modified Files: interrupt.c process.c signal.c Log Message: DA: step two still not working but at least the signal handler gets called Index: interrupt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/interrupt.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- interrupt.c 23 Feb 2003 23:54:55 -0000 1.26 +++ interrupt.c 18 Sep 2003 13:16:01 -0000 1.27 @@ -224,7 +224,7 @@ printk("\nStack dump\n"); - hex_dump((void *)(regs->sp), 256); + hex_dump((void *)(regs->sp)-256, 512); show_regs(regs); show_cpu_regs(); @@ -259,7 +259,7 @@ if (user_mode(regs)) { unsigned int usp = __mfpr(PR_USP); - hex_dump((void *)usp, 256); + hex_dump((void *)usp-128, 256); force_sig(SIGILL,current); return; } Index: process.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/process.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- process.c 9 Mar 2003 23:07:29 -0000 1.19 +++ process.c 18 Sep 2003 13:16:01 -0000 1.20 @@ -203,13 +203,13 @@ if (!newsp) { newsp = regs->sp; } -#ifdef VAX_PROCESS_DEBUG +#if 1 /*def VAX_PROCESS_DEBUG*/ printk("sys_clone: calling do_fork(0x%08lx, 0x%08lx, 0x%p)\n", clone_flags, newsp, regs); #endif retval = do_fork(clone_flags, newsp, regs, 0); -#ifdef VAX_PROCESS_DEBUG +#if 1 /*def VAX_PROCESS_DEBUG*/ printk("sys_clone: do_fork() returned %d\n", retval); #endif return retval; Index: signal.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/signal.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- signal.c 16 Sep 2003 12:34:15 -0000 1.12 +++ signal.c 18 Sep 2003 13:16:01 -0000 1.13 @@ -188,7 +188,9 @@ /* FIXME: this dont work ... */ struct rt_sigframe { - int sig; + int sig; + struct siginfo *pinfo; + void *puc; struct siginfo info; struct ucontext uc; unsigned char retcode[20]; /* trampoline code */ @@ -532,6 +534,10 @@ if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) goto give_sigsegv; + err |= __put_user(sig, (unsigned int *)&frame->sig); + err |= __put_user(&frame->info, &frame->pinfo); + err |= __put_user(&frame->uc, &frame->puc); + err |= copy_siginfo_to_user(&frame->info, info); if (err) goto give_sigsegv; @@ -549,9 +555,6 @@ /* Set up to return from userspace. If provided, use a stub already in userspace. */ - /* Set up to return from userspace. If provided, use a stub - already in userspace. */ - /* We do this differently to other ports. Each function has a two byte RSM. * (due to the calling convention). Each sighandler will expect to be * CALLS'd and will RET from that. So we cant just muck about with PC's on the @@ -559,9 +562,9 @@ * The easiest way to skip around all this is to calls the signal * handler, and then either calls the restorer, or chmk to sys_sigreturn */ - /* CALLS $1, */ + /* CALLS $3, */ err |= __put_user(0xfb, (char *)(frame->retcode+0)); - err |= __put_user(0x01, (char *)(frame->retcode+1)); + err |= __put_user(0x03, (char *)(frame->retcode+1)); /* (absolute address)*/ err |= __put_user(0x9f, (char *)(frame->retcode+2)); /* sighandler */ @@ -603,7 +606,7 @@ /* Set up registers for signal handler */ - regs->pc = (unsigned long) ka->sa.sa_handler; /* what we enter NOW */ + regs->pc = (unsigned long) frame->retcode; /* what we enter NOW */ regs->fp = regs->sp; regs->sp = (unsigned int)frame; /* what we enter LATER */ __mtpr(frame, PR_USP); @@ -652,7 +655,7 @@ /* Set up the stack frame */ #ifdef DEBUG_SIG - printk("handle_signal: setup_frame(sig=%d,ka=%p,oldset=%d,regs=%p)\n",sig,ka,oldset,regs); + printk("handle_signal: setup_frame(sig=%d,flags=%d,ka=%p,oldset=%d,regs=%p)\n",sig,ka->sa.sa_flags,ka,oldset,regs); #endif if (ka->sa.sa_flags & SA_SIGINFO) setup_rt_frame(sig, ka, info, oldset, regs); |
From: <ai...@us...> - 2003-09-16 12:34:22
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv16019 Modified Files: signal.c Log Message: DA: this is better than what was there already - still not tested, I'd say there is still some work left to do Index: signal.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/signal.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- signal.c 16 Feb 2003 23:28:02 -0000 1.11 +++ signal.c 16 Sep 2003 12:34:15 -0000 1.12 @@ -32,7 +32,7 @@ #include <asm/ucontext.h> #include <asm/uaccess.h> -#undef DEBUG_SIG +#undef DEBUG_SIG /* FIXME: Check this & fixup other regs, like r0 */ #define RESTART_VAX_SYSCALL(regs) { (regs)->pc -= 4; } @@ -188,12 +188,10 @@ /* FIXME: this dont work ... */ struct rt_sigframe { - char *pretcode; - struct siginfo *pinfo; - void *puc; + int sig; struct siginfo info; struct ucontext uc; - unsigned char retcode[8]; /* trampoline code */ + unsigned char retcode[20]; /* trampoline code */ }; @@ -526,17 +524,14 @@ sigset_t *set, struct pt_regs * regs) { struct rt_sigframe *frame; - unsigned long return_ip; int err = 0; - machine_halt(); + // machine_halt(); frame = get_sigframe(ka, regs, sizeof(*frame)); if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) goto give_sigsegv; - err |= __put_user(&frame->info, &frame->pinfo); - err |= __put_user(&frame->uc, &frame->puc); err |= copy_siginfo_to_user(&frame->info, info); if (err) goto give_sigsegv; @@ -553,17 +548,54 @@ /* Set up to return from userspace. If provided, use a stub already in userspace. */ + + /* Set up to return from userspace. If provided, use a stub + already in userspace. */ + + /* We do this differently to other ports. Each function has a two byte RSM. + * (due to the calling convention). Each sighandler will expect to be + * CALLS'd and will RET from that. So we cant just muck about with PC's on the + * stack like the i386. So we use the trampoline code on the stack a bit more. + * The easiest way to skip around all this is to calls the signal + * handler, and then either calls the restorer, or chmk to sys_sigreturn */ + + /* CALLS $1, */ + err |= __put_user(0xfb, (char *)(frame->retcode+0)); + err |= __put_user(0x01, (char *)(frame->retcode+1)); + /* (absolute address)*/ + err |= __put_user(0x9f, (char *)(frame->retcode+2)); + /* sighandler */ + err |= __put_user(((unsigned long) ka->sa.sa_handler), (unsigned long *)(frame->retcode + 3)); + if (ka->sa.sa_flags & SA_RESTORER) { - return_ip = (unsigned long)ka->sa.sa_restorer; + /* CALLS $0,*/ + err |= __put_user(0xfb, (char *)(frame->retcode+7)); + err |= __put_user(0x00, (char *)(frame->retcode+8)); + /* (absolute address)*/ + err |= __put_user(0x9f, (char *)(frame->retcode+9)); + /* restorer */ + err |= __put_user(((unsigned long) ka->sa.sa_restorer), (unsigned long *)(frame->retcode + 10)); + /* plus a halt */ + err |= __put_user(0x00, (char *)(frame->retcode+14)); } else { - /* trampoline - the desired return ip is the retcode itself */ - return_ip = (unsigned long)&frame->retcode; - /* TODO: check byteorder */ - err |= __put_user(0xbc8f, (short *)(frame->retcode+0)); - err |= __put_user(__NR_sigreturn, (short *)(frame->retcode+2)); + /* perform a syscall to sys_sigreturn. First set up the + * argument list to avoid confusing it */ + + /* pushl $0x0 */ + err |= __put_user(0xdd, (char *)(frame->retcode+7)); + err |= __put_user(0x00, (char *)(frame->retcode+8)); + /* movl sp, ap */ + err |= __put_user(0xd0, (char *)(frame->retcode+9)); + err |= __put_user(0x5e, (char *)(frame->retcode+10)); + err |= __put_user(0x5c, (char *)(frame->retcode+11)); + /* chmk __NR_sigreturn; */ + err |= __put_user(0xbc, (char *)(frame->retcode+12)); + err |= __put_user(0x8f, (char *)(frame->retcode+13)); + err |= __put_user(__NR_sigreturn, (short *)(frame->retcode+14)); + /* plus a halt */ + err |= __put_user(0x00, (char *)(frame->retcode+16)); } - err |= __put_user(return_ip, &frame->pretcode); if (err) goto give_sigsegv; @@ -572,7 +604,9 @@ /* Set up registers for signal handler */ regs->pc = (unsigned long) ka->sa.sa_handler; /* what we enter NOW */ - regs->sp = (unsigned int)frame; /* what we enter LATER */ + regs->fp = regs->sp; + regs->sp = (unsigned int)frame; /* what we enter LATER */ + __mtpr(frame, PR_USP); return; @@ -657,7 +691,7 @@ return 1; /* FIXME: */ - canrestart=0; + canrestart=regs->r0; #ifdef DEBUG_SIG printk("do_signal: pid %d,canrestart %d, current->sigpending %d,current->blocked %d ", current->pid,canrestart,current->sigpending,current->blocked); #endif |
From: Uns L. <uns...@us...> - 2003-08-03 05:17:46
|
Update of /cvsroot/linux-vax/kernel-2.4/drivers/video In directory sc8-pr-cvs1:/tmp/cvs-serv12950 Modified Files: vmonofb.c Log Message: vmonofb changes: - change line_length from 1280/8 to 1024/8 - add (red,green,blue).length which i guess are used when userspace modifies the palette - when loading the ramdac, get the intensity value from a weighted r/g/b sum - when loading cmap data, don't load a 0 into the data reg first (or you'll end up with a mostly empty-colormap) - fbgen_get_var(&the_fb_info.gen.info.var) instead of &disp.var. this is "wrong" but it seems to work better - init the_fb_info.gen.fbhw _before_ trying to use it i'm not sure how correct these changes are. Index: vmonofb.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/drivers/video/vmonofb.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- vmonofb.c 9 Jun 2002 20:47:23 -0000 1.1 +++ vmonofb.c 3 Aug 2003 05:17:30 -0000 1.2 @@ -67,7 +67,7 @@ fix->type = FB_TYPE_PACKED_PIXELS; fix->type_aux = 0; fix->visual = FB_VISUAL_PSEUDOCOLOR; - fix->line_length = 1280 / 8; + fix->line_length = 1024 / 8; if(par->bpp == 2) fix->line_length *= 2; fix->smem_start = 0x21000000; @@ -118,9 +118,12 @@ var->green.offset = 0; var->blue.offset = 0; + var->red.length = 0; + var->green.length = 4; + var->blue.length = 0; + var->bits_per_pixel = par->bpp; var->grayscale = 1; - /* uh. do we need to set red.length, green.length, blue.length? */ var->xoffset = 0; var->yoffset = 0; @@ -162,8 +165,10 @@ if(regno < 0 || regno > 3) return 1; + if (fbinfo->var.grayscale) + red = green = blue = (19595 * red + 38470 * green + 7471 * blue) >> 16; + info->regs->bt455_cmap_addr = regno; - info->regs->bt455_cmap_data = 0; info->regs->bt455_cmap_data = green >> 12; return 0; @@ -289,7 +294,11 @@ info->updatevar = fbgen_update_var; info->blank = fbgen_blank; +#if 0 fbgen_get_var(&disp.var, -1, &the_fb_info.gen.info); +#else + fbgen_get_var(&the_fb_info.gen.info.var, -1, &the_fb_info.gen.info); +#endif disp.var.activate = FB_ACTIVATE_NOW; fbgen_do_set_var(&disp.var, 1, &the_fb_info.gen); fbgen_set_disp(-1, &the_fb_info.gen); @@ -323,8 +332,8 @@ vmonofb_reset(); - init_fb_info(&the_fb_info.gen.info); the_fb_info.gen.fbhw = &vmono_hwswitch; + init_fb_info(&the_fb_info.gen.info); if(register_framebuffer(&the_fb_info.gen.info) < 0) { printk("vmonofb: unable to register framebuffer!\n"); |