You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(135) |
Nov
(123) |
Dec
(83) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(244) |
Feb
(72) |
Mar
(221) |
Apr
(91) |
May
(104) |
Jun
(93) |
Jul
(78) |
Aug
(1) |
Sep
(1) |
Oct
(29) |
Nov
(98) |
Dec
(20) |
2003 |
Jan
|
Feb
(21) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(18) |
Sep
(18) |
Oct
(23) |
Nov
(12) |
Dec
(6) |
2004 |
Jan
(2) |
Feb
(32) |
Mar
|
Apr
(12) |
May
(11) |
Jun
(11) |
Jul
|
Aug
(9) |
Sep
|
Oct
(15) |
Nov
|
Dec
|
2005 |
Jan
|
Feb
(2) |
Mar
(11) |
Apr
(6) |
May
(1) |
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
(2) |
Mar
|
Apr
(25) |
May
(2) |
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(13) |
Oct
|
Nov
(2) |
Dec
(2) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(10) |
May
(1) |
Jun
(6) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
From: johann d. <jd...@us...> - 2002-03-18 21:34:33
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb In directory usw-pr-cvs1:/tmp/cvs-serv7904 Modified Files: hid-ff.c Log Message: Added queuing of control packets. Index: hid-ff.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/hid-ff.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- hid-ff.c 15 Mar 2002 18:09:08 -0000 1.7 +++ hid-ff.c 18 Mar 2002 21:34:28 -0000 1.8 @@ -31,11 +31,15 @@ #include <linux/sched.h> #undef DEBUG - #include <linux/usb.h> +#include <linux/circ_buf.h> + #include "hid.h" +/* Transmition state */ +#define XMIT_RUNNING 0 + /* Effect status */ #define EFFECT_STARTED 0 /* Effect is going to play after some time (ff_replay.delay) */ @@ -100,9 +104,14 @@ && test_bit(EFFECT_USED, l->effects[i].flags) \ && CHECK_OWNERSHIP(l->effects[i])) -#define LGFF_BUFFER_SIZE 8 +#define LGFF_BUFFER_SIZE 64 #define LGFF_EFFECTS 8 +struct lgff_magnitudes { + unsigned char left; + unsigned char right; +}; + struct lgff_effect { pid_t owner; unsigned char left; /* Magnitude of vibration for left motor */ @@ -114,7 +123,13 @@ struct hid_ff_logitech { struct urb* urbffout; /* Output URB used to send ff commands */ struct usb_ctrlrequest ffcr; /* ff commands use control URBs */ - char buf[LGFF_BUFFER_SIZE]; + char buf[8]; + + spinlock_t xmit_lock; + unsigned int xmit_head, xmit_tail; + struct lgff_magnitudes xmit_data[LGFF_BUFFER_SIZE]; + long xmit_flags[1]; + struct lgff_effect effects[LGFF_EFFECTS]; spinlock_t lock; /* device-level lock. Having locks on a per-effect basis could be nice, but @@ -149,6 +164,10 @@ hid->ff_private = private; spin_lock_init(&private->lock); + spin_lock_init(&private->xmit_lock); + + private->buf[0] = 0x03; + private->buf[1] = 0x42; /* Event and exit callbacks */ hid->ff_exit = hid_lgff_exit; @@ -316,31 +335,28 @@ return 0; } -static void hid_lgff_make_rumble(struct hid_device* hid) +static void hid_lgff_xmit(struct hid_device* hid) { struct hid_ff_logitech *lgff = hid->ff_private; - char packet[] = {0x03, 0x42, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00}; int err; - int left = 0, right = 0; - int i; - - dbg("in hid_make_rumble"); - memcpy(lgff->buf, packet, 8); + int tail; + unsigned long flags; + spin_lock_irqsave(&lgff->xmit_lock, flags); - for (i=0; i<LGFF_EFFECTS; ++i) { - if (test_bit(EFFECT_USED, lgff->effects[i].flags) - && test_bit(EFFECT_PLAYING, lgff->effects[i].flags)) { - left += lgff->effects[i].left; - right += lgff->effects[i].right; - } + tail = lgff->xmit_tail; + if (lgff->xmit_head == tail) { + clear_bit(XMIT_RUNNING, lgff->xmit_flags); + spin_unlock_irqrestore(&lgff->xmit_lock, flags); + return; } + lgff->buf[3] = lgff->xmit_data[tail].left; + lgff->buf[4] = lgff->xmit_data[tail].right; + tail++; tail &= LGFF_BUFFER_SIZE -1; + lgff->xmit_tail = tail; - lgff->buf[3] = left > 0x7f ? 0x7f : left; - lgff->buf[4] = right > 0x7f ? 0x7f : right; + spin_unlock_irqrestore(&lgff->xmit_lock, flags); - /*FIXME: needs a queue. I should at least check if the urb is - available */ lgff->urbffout->pipe = usb_sndctrlpipe(hid->dev, 0); lgff->ffcr.bRequestType = USB_TYPE_CLASS | USB_DIR_OUT | USB_RECIP_INTERFACE; lgff->urbffout->transfer_buffer_length = lgff->ffcr.wLength = 8; @@ -353,7 +369,46 @@ if ((err=usb_submit_urb(lgff->urbffout, GFP_ATOMIC))) warn("usb_submit_urb returned %d", err); - dbg("rumble urb submited"); +} + +static void hid_lgff_make_rumble(struct hid_device* hid) +{ + struct hid_ff_logitech *lgff = hid->ff_private; + int left = 0, right = 0; + int i; + int head, tail; + unsigned long flags; + + for (i=0; i<LGFF_EFFECTS; ++i) { + if (test_bit(EFFECT_USED, lgff->effects[i].flags) + && test_bit(EFFECT_PLAYING, lgff->effects[i].flags)) { + left += lgff->effects[i].left; + right += lgff->effects[i].right; + } + } + + spin_lock_irqsave(&lgff->xmit_lock, flags); + + head = lgff->xmit_head; + tail = lgff->xmit_tail; + + if (CIRC_SPACE(head, tail, LGFF_BUFFER_SIZE) < 1) { + warn("not enough space in xmit buffer to send new packet\n"); + spin_unlock_irqrestore(&lgff->xmit_lock, flags); + return; + } + + lgff->xmit_data[head].left = left > 0x7f ? 0x7f : left; + lgff->xmit_data[head].right = right > 0x7f ? 0x7f : right; + head++; head &= LGFF_BUFFER_SIZE -1; + lgff->xmit_head = head; + + if (test_and_set_bit(XMIT_RUNNING, lgff->xmit_flags)) + spin_unlock_irqrestore(&lgff->xmit_lock, flags); + else { + spin_unlock_irqrestore(&lgff->xmit_lock, flags); + hid_lgff_xmit(hid); + } } static void hid_lgff_ctrl_out(struct urb *urb) @@ -362,6 +417,8 @@ if (urb->status) warn("hid_irq_ffout status %d received", urb->status); + + hid_lgff_xmit(hid); } /* Lock must be held by caller */ |
From: johann d. <jd...@us...> - 2002-03-18 21:30:12
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv6358 Modified Files: iforce-main.c iforce-packets.c Log Message: Treat the left hat as a left hat for AVB Top Shot Pegasus. Index: iforce-main.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-main.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- iforce-main.c 8 Mar 2002 19:34:30 -0000 1.15 +++ iforce-main.c 18 Mar 2002 21:30:08 -0000 1.16 @@ -33,25 +33,46 @@ MODULE_DESCRIPTION("USB/RS232 I-Force joysticks and wheels driver"); MODULE_LICENSE("GPL"); -static signed short btn_joystick[] = { BTN_TRIGGER, BTN_TOP, BTN_THUMB, BTN_TOP2, BTN_BASE, - BTN_BASE2, BTN_BASE3, BTN_BASE4, BTN_BASE5, BTN_A, BTN_B, BTN_C, BTN_DEAD, -1 }; -static signed short btn_wheel[] = { BTN_TRIGGER, BTN_TOP, BTN_THUMB, BTN_TOP2, BTN_BASE, - BTN_BASE2, BTN_BASE3, BTN_BASE4, BTN_BASE5, BTN_A, BTN_B, BTN_C, -1 }; -static signed short btn_avb_tw[] = { BTN_TRIGGER, BTN_THUMB, BTN_TOP, BTN_TOP2, BTN_BASE, - BTN_BASE2, BTN_BASE3, BTN_BASE4, -1 }; -static signed short btn_avb_wheel[] = { BTN_GEAR_DOWN, BTN_GEAR_UP, BTN_BASE, BTN_BASE2, BTN_BASE3, - BTN_BASE4, BTN_BASE5, BTN_BASE6, -1 }; -static signed short abs_joystick[] = { ABS_X, ABS_Y, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y, -1 }; -static signed short abs_joystick2[] = { ABS_X, ABS_Y, ABS_THROTTLE, ABS_RUDDER, ABS_HAT0X, ABS_HAT0Y, -1 }; -static signed short abs_wheel[] = { ABS_WHEEL, ABS_GAS, ABS_BRAKE, ABS_HAT0X, ABS_HAT0Y, -1 }; -static signed short ff_iforce[] = { FF_PERIODIC, FF_CONSTANT, FF_SPRING, FF_DAMPER, - FF_SQUARE, FF_TRIANGLE, FF_SINE, FF_SAW_UP, FF_SAW_DOWN, FF_GAIN, FF_AUTOCENTER, -1 }; +static signed short btn_joystick[] = +{ BTN_TRIGGER, BTN_TOP, BTN_THUMB, BTN_TOP2, BTN_BASE, + BTN_BASE2, BTN_BASE3, BTN_BASE4, BTN_BASE5, BTN_A, BTN_B, BTN_C, -1 }; + +static signed short btn_avb_pegasus[] = +{ BTN_TRIGGER, BTN_TOP, BTN_THUMB, BTN_TOP2, BTN_BASE, + BTN_BASE2, BTN_BASE3, BTN_BASE4, -1 }; + +static signed short btn_wheel[] = +{ BTN_TRIGGER, BTN_TOP, BTN_THUMB, BTN_TOP2, BTN_BASE, + BTN_BASE2, BTN_BASE3, BTN_BASE4, BTN_BASE5, BTN_A, BTN_B, BTN_C, -1 }; + +static signed short btn_avb_tw[] = +{ BTN_TRIGGER, BTN_THUMB, BTN_TOP, BTN_TOP2, BTN_BASE, + BTN_BASE2, BTN_BASE3, BTN_BASE4, -1 }; + +static signed short btn_avb_wheel[] = +{ BTN_GEAR_DOWN, BTN_GEAR_UP, BTN_BASE, BTN_BASE2, BTN_BASE3, + BTN_BASE4, BTN_BASE5, BTN_BASE6, -1 }; + +static signed short abs_joystick[] = +{ ABS_X, ABS_Y, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y, -1 }; + +static signed short abs_avb_pegasus[] = +{ ABS_X, ABS_Y, ABS_THROTTLE, ABS_RUDDER, ABS_HAT0X, ABS_HAT0Y, + ABS_HAT1X, ABS_HAT1Y, -1 }; + +static signed short abs_wheel[] = +{ ABS_WHEEL, ABS_GAS, ABS_BRAKE, ABS_HAT0X, ABS_HAT0Y, -1 }; + +static signed short ff_iforce[] = +{ FF_PERIODIC, FF_CONSTANT, FF_SPRING, FF_DAMPER, + FF_SQUARE, FF_TRIANGLE, FF_SINE, FF_SAW_UP, FF_SAW_DOWN, FF_GAIN, + FF_AUTOCENTER, -1 }; static struct iforce_device iforce_device[] = { { 0x044f, 0xa01c, "Thrustmaster Motor Sport GT", btn_wheel, abs_wheel, ff_iforce }, { 0x046d, 0xc281, "Logitech WingMan Force", btn_joystick, abs_joystick, ff_iforce }, { 0x046d, 0xc291, "Logitech WingMan Formula Force", btn_wheel, abs_wheel, ff_iforce }, - { 0x05ef, 0x020a, "AVB Top Shot Pegasus", btn_joystick, abs_joystick2, ff_iforce }, + { 0x05ef, 0x020a, "AVB Top Shot Pegasus", btn_avb_pegasus, abs_avb_pegasus, ff_iforce }, { 0x05ef, 0x8884, "AVB Mag Turbo Force", btn_avb_wheel, abs_wheel, ff_iforce }, { 0x05ef, 0x8888, "AVB Top Shot Force Feedback Racing Wheel", btn_avb_tw, abs_wheel, ff_iforce }, { 0x06f8, 0x0001, "Guillemot Race Leader Force Feedback", btn_wheel, abs_wheel, ff_iforce }, @@ -66,8 +87,6 @@ struct iforce* iforce = (struct iforce*)(dev->private); unsigned char data[3]; - printk(KERN_DEBUG "iforce.c: input_event(type = %d, code = %d, value = %d)\n", type, code, value); - if (type != EV_FF) return -1; @@ -194,6 +213,8 @@ * Erases an effect: it frees the effect id and mark as unused the memory * allocated for the parameters */ +/*FIXME: stop effect before erasing */ +/*TODO: use CHECK_OWNERSHIP */ static int iforce_erase_effect(struct input_dev *dev, int effect_id) { struct iforce* iforce = (struct iforce*)(dev->private); @@ -444,6 +465,8 @@ case ABS_HAT0X: case ABS_HAT0Y: + case ABS_HAT1X: + case ABS_HAT1Y: iforce->dev.absmax[t] = 1; iforce->dev.absmin[t] = -1; break; Index: iforce-packets.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-packets.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- iforce-packets.c 8 Mar 2002 19:34:30 -0000 1.13 +++ iforce-packets.c 18 Mar 2002 21:30:08 -0000 1.14 @@ -199,6 +199,22 @@ for (i = 0; iforce->type->btn[i] >= 0; i++) input_report_key(dev, iforce->type->btn[i], data[(i >> 3) + 5] & (1 << (i & 7))); + /* If there are untouched bits left, interpret them as the second hat */ + if (i <= 8) { + int btns = data[6]; + if (test_bit(ABS_HAT1X, dev->absbit)) { + if (btns & 8) input_report_abs(dev, ABS_HAT1X, -1); + else if (btns & 2) input_report_abs(dev, ABS_HAT1X, 1); + else input_report_abs(dev, ABS_HAT1X, 0); + } + if (test_bit(ABS_HAT1Y, dev->absbit)) { + if (btns & 1) input_report_abs(dev, ABS_HAT1Y, -1); + else if (btns & 4) input_report_abs(dev, ABS_HAT1Y, 1); + else input_report_abs(dev, ABS_HAT1Y, 0); + } + } + + break; case 0x02: /* status report */ |
From: James S. <jsi...@us...> - 2002-03-18 21:08:07
|
Update of /cvsroot/linuxconsole/ruby/linux/include/video In directory usw-pr-cvs1:/tmp/cvs-serv21502/include/video Added Files: neofb.h Log Message: Neo magic support. --- NEW FILE: neofb.h --- /* * linux/include/video/neofb.h -- NeoMagic Framebuffer Driver * * Copyright (c) 2001 Denis Oliver Kropp <do...@co...> * * This file is subject to the terms and conditions of the GNU General * Public License. See the file COPYING in the main directory of this * archive for more details. */ #define NEO_BS0_BLT_BUSY 0x00000001 #define NEO_BS0_FIFO_AVAIL 0x00000002 #define NEO_BS0_FIFO_PEND 0x00000004 #define NEO_BC0_DST_Y_DEC 0x00000001 #define NEO_BC0_X_DEC 0x00000002 #define NEO_BC0_SRC_TRANS 0x00000004 #define NEO_BC0_SRC_IS_FG 0x00000008 #define NEO_BC0_SRC_Y_DEC 0x00000010 #define NEO_BC0_FILL_PAT 0x00000020 #define NEO_BC0_SRC_MONO 0x00000040 #define NEO_BC0_SYS_TO_VID 0x00000080 #define NEO_BC1_DEPTH8 0x00000100 #define NEO_BC1_DEPTH16 0x00000200 #define NEO_BC1_X_320 0x00000400 #define NEO_BC1_X_640 0x00000800 #define NEO_BC1_X_800 0x00000c00 #define NEO_BC1_X_1024 0x00001000 #define NEO_BC1_X_1152 0x00001400 #define NEO_BC1_X_1280 0x00001800 #define NEO_BC1_X_1600 0x00001c00 #define NEO_BC1_DST_TRANS 0x00002000 #define NEO_BC1_MSTR_BLT 0x00004000 #define NEO_BC1_FILTER_Z 0x00008000 #define NEO_BC2_WR_TR_DST 0x00800000 #define NEO_BC3_SRC_XY_ADDR 0x01000000 #define NEO_BC3_DST_XY_ADDR 0x02000000 #define NEO_BC3_CLIP_ON 0x04000000 #define NEO_BC3_FIFO_EN 0x08000000 #define NEO_BC3_BLT_ON_ADDR 0x10000000 #define NEO_BC3_SKIP_MAPPING 0x80000000 #define NEO_MODE1_DEPTH8 0x0100 #define NEO_MODE1_DEPTH16 0x0200 #define NEO_MODE1_DEPTH24 0x0300 #define NEO_MODE1_X_320 0x0400 #define NEO_MODE1_X_640 0x0800 #define NEO_MODE1_X_800 0x0c00 #define NEO_MODE1_X_1024 0x1000 #define NEO_MODE1_X_1152 0x1400 #define NEO_MODE1_X_1280 0x1800 #define NEO_MODE1_X_1600 0x1c00 #define NEO_MODE1_BLT_ON_ADDR 0x2000 #ifdef __KERNEL__ #ifdef NEOFB_DEBUG # define DBG(x) printk (KERN_DEBUG "neofb: %s\n", (x)); #else # define DBG(x) #endif #define PCI_CHIP_NM2070 0x0001 #define PCI_CHIP_NM2090 0x0002 #define PCI_CHIP_NM2093 0x0003 #define PCI_CHIP_NM2097 0x0083 #define PCI_CHIP_NM2160 0x0004 #define PCI_CHIP_NM2200 0x0005 #define PCI_CHIP_NM2230 0x0025 #define PCI_CHIP_NM2360 0x0006 #define PCI_CHIP_NM2380 0x0016 struct xtimings { unsigned int pixclock; unsigned int HDisplay; unsigned int HSyncStart; unsigned int HSyncEnd; unsigned int HTotal; unsigned int VDisplay; unsigned int VSyncStart; unsigned int VSyncEnd; unsigned int VTotal; unsigned int sync; int dblscan; int interlaced; }; /* --------------------------------------------------------------------- */ typedef volatile struct { __u32 bltStat; __u32 bltCntl; __u32 xpColor; __u32 fgColor; __u32 bgColor; __u32 pitch; __u32 clipLT; __u32 clipRB; __u32 srcBitOffset; __u32 srcStart; __u32 reserved0; __u32 dstStart; __u32 xyExt; __u32 reserved1[19]; __u32 pageCntl; __u32 pageBase; __u32 postBase; __u32 postPtr; __u32 dataPtr; } Neo2200; #define NR_PALETTE 256 #define MMIO_SIZE 0x200000 #define NEO_EXT_CR_MAX 0x85 #define NEO_EXT_GR_MAX 0xC7 struct neofb_par { unsigned char MiscOutReg; /* Misc */ unsigned char CRTC[25]; /* Crtc Controller */ unsigned char Sequencer[5]; /* Video Sequencer */ unsigned char Graphics[9]; /* Video Graphics */ unsigned char Attribute[21]; /* Video Atribute */ unsigned char GeneralLockReg; unsigned char ExtCRTDispAddr; unsigned char ExtCRTOffset; unsigned char SysIfaceCntl1; unsigned char SysIfaceCntl2; unsigned char ExtColorModeSelect; unsigned char biosMode; unsigned char PanelDispCntlReg1; unsigned char PanelDispCntlReg2; unsigned char PanelDispCntlReg3; unsigned char PanelVertCenterReg1; unsigned char PanelVertCenterReg2; unsigned char PanelVertCenterReg3; unsigned char PanelVertCenterReg4; unsigned char PanelVertCenterReg5; unsigned char PanelHorizCenterReg1; unsigned char PanelHorizCenterReg2; unsigned char PanelHorizCenterReg3; unsigned char PanelHorizCenterReg4; unsigned char PanelHorizCenterReg5; int ProgramVCLK; unsigned char VCLK3NumeratorLow; unsigned char VCLK3NumeratorHigh; unsigned char VCLK3Denominator; unsigned char VerticalExt; #ifdef CONFIG_MTRR int mtrr; #endif u8 *mmio_vbase; Neo2200 *neo2200; /* Panels size */ int NeoPanelWidth; int NeoPanelHeight; int maxClock; int pci_burst; int lcd_stretch; int internal_display; int external_display; }; typedef struct { int x_res; int y_res; int mode; } biosMode; /* vga IO functions */ static inline u8 VGArCR (u8 index) { outb (index, 0x3d4); return inb (0x3d5); } static inline void VGAwCR (u8 index, u8 val) { outb (index, 0x3d4); outb (val, 0x3d5); } static inline u8 VGArGR (u8 index) { outb (index, 0x3ce); return inb (0x3cf); } static inline void VGAwGR (u8 index, u8 val) { outb (index, 0x3ce); outb (val, 0x3cf); } static inline u8 VGArSEQ (u8 index) { outb (index, 0x3c4); return inb (0x3c5); } static inline void VGAwSEQ (u8 index, u8 val) { outb (index, 0x3c4); outb (val, 0x3c5); } static int paletteEnabled = 0; static inline void VGAenablePalette (void) { u8 tmp; tmp = inb (0x3da); outb (0x00, 0x3c0); paletteEnabled = 1; } static inline void VGAdisablePalette (void) { u8 tmp; tmp = inb (0x3da); outb (0x20, 0x3c0); paletteEnabled = 0; } static inline void VGAwATTR (u8 index, u8 value) { u8 tmp; if (paletteEnabled) index &= ~0x20; else index |= 0x20; tmp = inb (0x3da); outb (index, 0x3c0); outb (value, 0x3c0); } static inline void VGAwMISC (u8 value) { outb (value, 0x3c2); } #endif |
From: James S. <jsi...@us...> - 2002-03-18 21:08:07
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv21502/drivers/video Added Files: neofb.c Log Message: Neo magic support. --- NEW FILE: neofb.c --- /* * linux/drivers/video/neofb.c -- NeoMagic Framebuffer Driver * * Copyright (c) 2001 Denis Oliver Kropp <do...@co...> * * * Card specific code is based on XFree86's neomagic driver. * Framebuffer framework code is based on code of cyber2000fb. * * This file is subject to the terms and conditions of the GNU General * Public License. See the file COPYING in the main directory of this * archive for more details. * * 0.3.3 * - Porting over to new fbdev api. (jsimmons) * * 0.3.2 * - got rid of all floating point (dok) * [...2092 lines suppressed...] #else /* *************************** init module code **************************** */ int __init init_module(void) { DBG("init_module"); if (disabled) return -ENXIO; neo_init(); /* never return failure; user can hotplug card later... */ return 0; } #endif /* MODULE */ module_exit(neo_done); |
From: James S. <jsi...@us...> - 2002-03-18 19:58:13
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv10368/linux/drivers Modified Files: Makefile Log Message: compile fixes. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- Makefile 18 Mar 2002 19:29:10 -0000 1.29 +++ Makefile 18 Mar 2002 19:58:09 -0000 1.30 @@ -6,11 +6,11 @@ # -mod-subdirs := dio mtd sbus video macintosh usb input telephony sgi ide \ +mod-subdirs := dio mtd sbus macintosh usb input telephony sgi ide \ message/i2o message/fusion scsi md ieee1394 pnp isdn atm \ fc4 net/hamradio i2c acpi bluetooth input/serio input/gameport -subdir-y := base parport char block net misc media cdrom hotplug +subdir-y := base parport char block net misc media cdrom hotplug video subdir-m := $(subdir-y) |
From: James S. <jsi...@us...> - 2002-03-18 19:58:13
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv10368/linux/drivers/char Modified Files: keyboard.c Log Message: compile fixes. Index: keyboard.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/keyboard.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -d -r1.73 -r1.74 --- keyboard.c 5 Mar 2002 17:14:28 -0000 1.73 +++ keyboard.c 18 Mar 2002 19:58:10 -0000 1.74 @@ -1110,6 +1110,7 @@ static void kbd_disconnect(struct input_handle *handle) { struct vt_struct *vt = handle->private; + int i; if (vt && vt->keyboard == handle) { /* disable receieving key events for each VC */ |
From: James S. <jsi...@us...> - 2002-03-18 19:38:08
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32 In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/arch/x86_64/ia32 Modified Files: ia32_ioctl.c Log Message: Synced to 2.5.6 Index: ia32_ioctl.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32/ia32_ioctl.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ia32_ioctl.c 15 Mar 2002 18:28:12 -0000 1.1 +++ ia32_ioctl.c 18 Mar 2002 19:29:09 -0000 1.2 @@ -3089,8 +3089,6 @@ COMPATIBLE_IOCTL(BLKROGET) COMPATIBLE_IOCTL(BLKRRPART) COMPATIBLE_IOCTL(BLKFLSBUF) -COMPATIBLE_IOCTL(BLKRASET) -COMPATIBLE_IOCTL(BLKFRASET) COMPATIBLE_IOCTL(BLKSECTSET) COMPATIBLE_IOCTL(BLKSSZGET) @@ -3602,10 +3600,8 @@ HANDLE_IOCTL(SIOCRTMSG, ret_einval) HANDLE_IOCTL(SIOCGSTAMP, do_siocgstamp) HANDLE_IOCTL(HDIO_GETGEO, hdio_getgeo) -HANDLE_IOCTL(BLKRAGET, w_long) HANDLE_IOCTL(BLKGETSIZE, w_long) HANDLE_IOCTL(0x1260, broken_blkgetsize) -HANDLE_IOCTL(BLKFRAGET, w_long) HANDLE_IOCTL(BLKSECTGET, w_long) HANDLE_IOCTL(BLKPG, blkpg_ioctl_trans) HANDLE_IOCTL(FBIOGETCMAP, fb_ioctl_trans) |
From: James S. <jsi...@us...> - 2002-03-18 19:38:08
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/arch/ppc/kernel Modified Files: ppc_ksyms.c Log Message: Synced to 2.5.6 Index: ppc_ksyms.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/ppc_ksyms.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- ppc_ksyms.c 15 Mar 2002 18:28:11 -0000 1.5 +++ ppc_ksyms.c 18 Mar 2002 19:29:09 -0000 1.6 @@ -217,13 +217,13 @@ EXPORT_SYMBOL(__global_save_flags); EXPORT_SYMBOL(__global_restore_flags); #ifdef SPINLOCK_DEBUG -EXPORT_SYMBOL(_spin_lock); -EXPORT_SYMBOL(_spin_unlock); -EXPORT_SYMBOL(spin_trylock); -EXPORT_SYMBOL(_read_lock); -EXPORT_SYMBOL(_read_unlock); -EXPORT_SYMBOL(_write_lock); -EXPORT_SYMBOL(_write_unlock); +EXPORT_SYMBOL(_raw_spin_lock); +EXPORT_SYMBOL(_raw_spin_unlock); +EXPORT_SYMBOL(_raw_spin_trylock); +EXPORT_SYMBOL(_raw_read_lock); +EXPORT_SYMBOL(_raw_read_unlock); +EXPORT_SYMBOL(_raw_write_lock); +EXPORT_SYMBOL(_raw_write_unlock); #endif EXPORT_SYMBOL(smp_call_function); EXPORT_SYMBOL(smp_hw_index); @@ -357,7 +357,7 @@ EXPORT_SYMBOL(handle_mm_fault); /* For MOL */ EXPORT_SYMBOL_NOVERS(disarm_decr); #ifdef CONFIG_PPC_STD_MMU -EXPORT_SYMBOL(flush_hash_page); /* For MOL */ +EXPORT_SYMBOL(flush_hash_pages); /* For MOL */ extern long *intercept_table; EXPORT_SYMBOL(intercept_table); #endif |
From: James S. <jsi...@us...> - 2002-03-18 19:38:07
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/arch/i386/kernel Modified Files: apm.c dmi_scan.c setup.c Log Message: Synced to 2.5.6 Index: apm.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/apm.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- apm.c 15 Mar 2002 18:28:11 -0000 1.1 +++ apm.c 18 Mar 2002 19:29:09 -0000 1.2 @@ -812,7 +812,7 @@ t1 = IDLE_LEAKY_MAX; - while (need_resched()) { + while (!need_resched()) { if (use_apm_idle) { unsigned int t; Index: dmi_scan.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/dmi_scan.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- dmi_scan.c 20 Jan 2002 03:54:45 -0000 1.3 +++ dmi_scan.c 18 Mar 2002 19:29:09 -0000 1.4 @@ -9,6 +9,7 @@ #include <linux/pm.h> #include <linux/input.h> #include <asm/system.h> +#include <linux/bootmem.h> unsigned long dmi_broken; int is_sony_vaio_laptop; @@ -51,7 +52,7 @@ u8 *data; int i=1; - buf = ioremap(base, len); + buf = bt_ioremap(base, len); if(buf==NULL) return -1; @@ -83,7 +84,7 @@ data+=2; i++; } - iounmap(buf); + bt_iounmap(buf, len); return 0; } @@ -155,7 +156,7 @@ return; if (dmi_ident[slot]) return; - dmi_ident[slot] = kmalloc(strlen(p)+1, GFP_KERNEL); + dmi_ident[slot] = alloc_bootmem(strlen(p)+1); if(dmi_ident[slot]) strcpy(dmi_ident[slot], p); else @@ -408,6 +409,43 @@ return 0; } +/* + * Some machines, usually laptops, can't handle an enabled local APIC. + * The symptoms include hangs or reboots when suspending or resuming, + * attaching or detaching the power cord, or entering BIOS setup screens + * through magic key sequences. + */ +static int __init local_apic_kills_bios(struct dmi_blacklist *d) +{ +#ifdef CONFIG_X86_LOCAL_APIC + extern int dont_enable_local_apic; + if (!dont_enable_local_apic) { + dont_enable_local_apic = 1; + printk(KERN_WARNING "%s with broken BIOS detected. " + "Refusing to enable the local APIC.\n", + d->ident); + } +#endif + return 0; +} + +/* + * The Intel AL440LX mainboard will hang randomly if the local APIC + * timer is running and the APM BIOS hasn't been disabled. + */ +static int __init apm_kills_local_apic_timer(struct dmi_blacklist *d) +{ +#ifdef CONFIG_X86_LOCAL_APIC + extern int dont_use_local_apic_timer; + if (apm_info.bios.version && !dont_use_local_apic_timer) { + dont_use_local_apic_timer = 1; + printk(KERN_WARNING "%s with broken BIOS detected. " + "The local APIC timer will not be used.\n", + d->ident); + } +#endif + return 0; +} /* * Simple "print if true" callback @@ -552,6 +590,25 @@ MATCH(DMI_BIOS_DATE, "09/12/00"), NO_MATCH } }, + /* Machines which have problems handling enabled local APICs */ + + { local_apic_kills_bios, "Dell Inspiron", { + MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), + MATCH(DMI_PRODUCT_NAME, "Inspiron"), + NO_MATCH, NO_MATCH + } }, + + { local_apic_kills_bios, "Dell Latitude", { + MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), + MATCH(DMI_PRODUCT_NAME, "Latitude"), + NO_MATCH, NO_MATCH + } }, + + { apm_kills_local_apic_timer, "Intel AL440LX", { + MATCH(DMI_BOARD_VENDOR, "Intel Corporation"), + MATCH(DMI_BOARD_NAME, "AL440LX"), + NO_MATCH, NO_MATCH } }, + /* Problem Intel 440GX bioses */ { broken_pirq, "SABR1 Bios", { /* Bad $PIR */ @@ -580,7 +637,7 @@ NO_MATCH, NO_MATCH } }, - /* Intel in disgiuse - In this case they can't hide and they don't run + /* Intel in disguise - In this case they can't hide and they don't run too well either... */ { broken_pirq, "Dell PowerEdge 8450", { /* Bad $PIR */ MATCH(DMI_PRODUCT_NAME, "Dell PowerEdge 8450"), @@ -716,12 +773,9 @@ } } -static int __init dmi_scan_machine(void) +void __init dmi_scan_machine(void) { int err = dmi_iterate(dmi_decode); if(err == 0) dmi_check_blacklist(); - return err; } - -module_init(dmi_scan_machine); Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/setup.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- setup.c 14 Mar 2002 22:32:21 -0000 1.36 +++ setup.c 18 Mar 2002 19:29:09 -0000 1.37 @@ -112,6 +112,7 @@ #include <asm/dma.h> #include <asm/mpspec.h> #include <asm/mmu_context.h> + /* * Machine setup.. */ @@ -155,6 +156,7 @@ struct e820map e820; extern void mcheck_init(struct cpuinfo_x86 *c); +extern void dmi_scan_machine(void); extern int root_mountflags; extern char _text, _etext, _edata, _end; extern int blk_nohighio; @@ -903,7 +905,6 @@ */ if (smp_found_config) get_smp_config(); - init_apic_mappings(); #endif @@ -947,6 +948,7 @@ low_mem_size = ((max_low_pfn << PAGE_SHIFT) + 0xfffff) & ~0xfffff; if (low_mem_size > pci_mem_start) pci_mem_start = low_mem_size; + dmi_scan_machine(); } static int cachesize_override __initdata = -1; |
From: James S. <jsi...@us...> - 2002-03-18 19:38:06
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/arch/ppc Modified Files: config.in Log Message: Synced to 2.5.6 Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/config.in,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- config.in 14 Mar 2002 22:32:22 -0000 1.26 +++ config.in 18 Mar 2002 19:29:09 -0000 1.27 @@ -258,8 +258,9 @@ mainmenu_option next_comment comment 'General setup' -bool 'Prompt for advanced kernel configuration options' CONFIG_ADVANCED_OPTIONS bool 'High memory support' CONFIG_HIGHMEM +dep_bool ' Support for PTEs in high memory' CONFIG_HIGHPTE $CONFIG_HIGHMEM +bool 'Prompt for advanced kernel configuration options' CONFIG_ADVANCED_OPTIONS if [ "$CONFIG_ADVANCED_OPTIONS" = "y" ]; then if [ "$CONFIG_HIGHMEM" = "y" ]; then bool " Set high memory pool address" CONFIG_HIGHMEM_START_BOOL |
From: James S. <jsi...@us...> - 2002-03-18 19:38:06
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm/lib In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/arch/arm/lib Modified Files: Makefile Log Message: Synced to 2.5.6 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/lib/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile 15 Mar 2002 18:28:11 -0000 1.1 +++ Makefile 18 Mar 2002 19:29:09 -0000 1.2 @@ -42,8 +42,6 @@ obj-y += io-writesl.o obj-$(CONFIG_CPU_26) += uaccess-armo.o -obj-$(CONFIG_CPU_32) += copy_page-armv3.o copy_page-armv4.o copy_page-armv4mc.o -obj-$(CONFIG_CPU_32v5) += copy_page-armv5te.o include $(TOPDIR)/Rules.make |
From: James S. <jsi...@us...> - 2002-03-18 19:38:06
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/alpha In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/arch/alpha Modified Files: config.in Log Message: Synced to 2.5.6 Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/alpha/config.in,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- config.in 15 Mar 2002 18:59:28 -0000 1.26 +++ config.in 18 Mar 2002 19:29:08 -0000 1.27 @@ -88,13 +88,24 @@ then define_bool CONFIG_ALPHA_EB64P y fi -if [ "$CONFIG_ALPHA_EB164" = "y" -o "$CONFIG_ALPHA_PC164" = "y" \ - -o "$CONFIG_ALPHA_ALCOR" = "y" -o "$CONFIG_ALPHA_TAKARA" = "y" ] +if [ "$CONFIG_ALPHA_ALCOR" = "y" ] then define_bool CONFIG_ALPHA_EV5 y define_bool CONFIG_ALPHA_CIA y + bool 'EV56 CPU (speed >= 366MHz)?' CONFIG_ALPHA_EV56 fi -if [ "$CONFIG_ALPHA_MIKASA" = "y" -o "$CONFIG_ALPHA_NORITAKE" = "y" ] +if [ "$CONFIG_ALPHA_EB164" = "y" ] +then + define_bool CONFIG_ALPHA_EV5 y + define_bool CONFIG_ALPHA_CIA y +fi +if [ "$CONFIG_ALPHA_PC164" = "y" -o "$CONFIG_ALPHA_TAKARA" = "y" ] +then + define_bool CONFIG_ALPHA_EV5 y + define_bool CONFIG_ALPHA_EV56 y + define_bool CONFIG_ALPHA_CIA y +fi +if [ "$CONFIG_ALPHA_MIKASA" = "y" ] then bool 'EV5 CPU daughtercard (model 5/xxx)?' CONFIG_ALPHA_PRIMO if [ "$CONFIG_ALPHA_PRIMO" = "y" ] @@ -106,6 +117,19 @@ define_bool CONFIG_ALPHA_APECS y fi fi +if [ "$CONFIG_ALPHA_NORITAKE" = "y" ] +then + bool 'EV5 CPU daughtercard (model 5/xxx)?' CONFIG_ALPHA_PRIMO + if [ "$CONFIG_ALPHA_PRIMO" = "y" ] + then + define_bool CONFIG_ALPHA_EV5 y + define_bool CONFIG_ALPHA_CIA y + bool 'EV56 CPU (speed >= 333MHz)?' CONFIG_ALPHA_EV56 + else + define_bool CONFIG_ALPHA_EV4 y + define_bool CONFIG_ALPHA_APECS y + fi +fi if [ "$CONFIG_ALPHA_SABLE" = "y" ] then bool 'EV5 CPU(s) (model 5/xxx)?' CONFIG_ALPHA_GAMMA @@ -121,6 +145,7 @@ -o "$CONFIG_ALPHA_SX164" = "y" -o "$CONFIG_ALPHA_RUFFIAN" = "y" ] then define_bool CONFIG_ALPHA_EV5 y + define_bool CONFIG_ALPHA_EV56 y define_bool CONFIG_ALPHA_CIA y define_bool CONFIG_ALPHA_PYXIS y fi @@ -145,10 +170,12 @@ then define_bool CONFIG_ALPHA_EV5 y define_bool CONFIG_ALPHA_MCPCIA y + bool 'EV56 CPU (speed >= 400MHz)?' CONFIG_ALPHA_EV56 fi if [ "$CONFIG_ALPHA_RX164" = "y" ] then define_bool CONFIG_ALPHA_EV5 y + define_bool CONFIG_ALPHA_EV56 y define_bool CONFIG_ALPHA_POLARIS y fi if [ "$CONFIG_ALPHA_JENSEN" = "y" ] |
From: James S. <jsi...@us...> - 2002-03-18 19:38:06
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/arch/arm/kernel Modified Files: armksyms.c setup.c traps.c Log Message: Synced to 2.5.6 Index: armksyms.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/armksyms.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- armksyms.c 15 Mar 2002 18:28:11 -0000 1.1 +++ armksyms.c 18 Mar 2002 19:29:08 -0000 1.2 @@ -20,6 +20,7 @@ #include <linux/interrupt.h> #include <linux/pm.h> #include <linux/tty.h> +#include <linux/smp_lock.h> #include <asm/byteorder.h> #include <asm/elf.h> @@ -118,6 +119,7 @@ EXPORT_SYMBOL(__readwrite_bug); EXPORT_SYMBOL(enable_irq); EXPORT_SYMBOL(disable_irq); +EXPORT_SYMBOL(set_irq_type); EXPORT_SYMBOL(pm_idle); EXPORT_SYMBOL(pm_power_off); @@ -162,10 +164,6 @@ EXPORT_SYMBOL(__bus_to_virt); #endif -#ifndef CONFIG_NO_PGT_CACHE -EXPORT_SYMBOL(quicklists); -#endif - /* string / mem functions */ EXPORT_SYMBOL_NOVERS(strcpy); EXPORT_SYMBOL_NOVERS(strncpy); @@ -268,3 +266,7 @@ EXPORT_SYMBOL_NOVERS(__up_wakeup); EXPORT_SYMBOL(get_wchan); + +#ifdef CONFIG_PREEMPT +EXPORT_SYMBOL(kernel_flag); +#endif Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/setup.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- setup.c 20 Jan 2002 03:54:44 -0000 1.7 +++ setup.c 18 Mar 2002 19:29:08 -0000 1.8 @@ -37,6 +37,10 @@ #define CONFIG_CMDLINE "" #endif +#ifdef CONFIG_PREEMPT +spinlock_t kernel_flag __cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED; +#endif + #if defined(CONFIG_FPE_NWFPE) || defined(CONFIG_FPE_FASTFPE) char fpe_type[8]; @@ -68,6 +72,9 @@ #ifdef MULTI_CPU struct processor processor; #endif +#ifdef MULTI_TLB +struct cpu_tlb_fns cpu_tlb; +#endif char elf_platform[ELF_PLATFORM_SIZE]; char saved_command_line[COMMAND_LINE_SIZE]; @@ -174,7 +181,7 @@ static inline void dump_cache(const char *prefix, unsigned int cache) { - unsigned int mult = 2 + CACHE_M(cache) ? 1 : 0; + unsigned int mult = 2 + (CACHE_M(cache) ? 1 : 0); printk("%s size %dK associativity %d line length %d sets %d\n", prefix, @@ -236,6 +243,9 @@ #ifdef MULTI_CPU processor = *list->proc; #endif +#ifdef MULTI_TLB + cpu_tlb = *list->tlb; +#endif printk("Processor: %s %s revision %d\n", proc_info.manufacturer, proc_info.cpu_name, @@ -651,7 +661,7 @@ static void c_show_cache(struct seq_file *m, const char *type, unsigned int cache) { - unsigned int mult = 2 + CACHE_M(cache) ? 1 : 0; + unsigned int mult = 2 + (CACHE_M(cache) ? 1 : 0); seq_printf(m, "%s size\t\t: %d\n" "%s assoc\t\t: %d\n" @@ -724,7 +734,7 @@ cache_types[CACHE_TYPE(cache_info)], cache_clean[CACHE_TYPE(cache_info)], cache_lockdown[CACHE_TYPE(cache_info)], - CACHE_S(cache_info) ? "separate I,D" : "unified"); + CACHE_S(cache_info) ? "Harvard" : "Unified"); if (CACHE_S(cache_info)) { c_show_cache(m, "I", CACHE_ISIZE(cache_info)); Index: traps.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/traps.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- traps.c 20 Jan 2002 03:54:44 -0000 1.3 +++ traps.c 18 Mar 2002 19:29:08 -0000 1.4 @@ -95,7 +95,7 @@ int i; printk("Code: "); - for (i = -2; i < 3; i++) { + for (i = -4; i < 1; i++) { unsigned int val, bad; if (thumb) @@ -115,7 +115,7 @@ static void dump_stack(struct task_struct *tsk, unsigned long sp) { - dump_mem("Stack: ", sp - 16, 8192+(unsigned long)tsk); + dump_mem("Stack: ", sp - 16, 8192+(unsigned long)tsk->thread_info); } static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk) @@ -146,7 +146,7 @@ void show_trace_task(struct task_struct *tsk) { if (tsk != current) { - unsigned int fp = tsk->thread.save->fp; + unsigned int fp = thread_saved_fp(tsk); c_backtrace(fp, 0x10); } } @@ -304,16 +304,17 @@ static int bad_syscall(int n, struct pt_regs *regs) { + struct thread_info *thread = current_thread_info(); siginfo_t info; /* You might think just testing `handler' would be enough, but PER_LINUX * points it to no_lcall7 to catch undercover SVr4 binaries. Gutted. */ - if (current->personality != PER_LINUX && current->exec_domain->handler) { + if (current->personality != PER_LINUX && thread->exec_domain->handler) { /* Hand it off to iBCS. The extra parameter and consequent type * forcing is necessary because of the weird ARM calling convention. */ - current->exec_domain->handler(n, regs); + thread->exec_domain->handler(n, regs); return regs->ARM_r0; } |
From: James S. <jsi...@us...> - 2002-03-18 19:38:03
|
Update of /cvsroot/linuxconsole/ruby/linux In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux Modified Files: Makefile Log Message: Synced to 2.5.6 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- Makefile 14 Mar 2002 22:32:19 -0000 1.47 +++ Makefile 18 Mar 2002 19:29:08 -0000 1.48 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 5 +SUBLEVEL = 6 EXTRAVERSION = -ruby KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -164,6 +164,7 @@ DRIVERS-$(CONFIG_PCMCIA) += drivers/pcmcia/pcmcia.o DRIVERS-$(CONFIG_NET_PCMCIA) += drivers/net/pcmcia/pcmcia_net.o DRIVERS-$(CONFIG_NET_WIRELESS) += drivers/net/wireless/wireless_net.o +DRIVERS-$(CONFIG_NET_TULIP) += drivers/net/tulip/tulip_net.o DRIVERS-$(CONFIG_PCMCIA_CHRDEV) += drivers/char/pcmcia/pcmcia_char.o DRIVERS-$(CONFIG_DIO) += drivers/dio/dio.a DRIVERS-$(CONFIG_SBUS) += drivers/sbus/sbus_all.o |
From: James S. <jsi...@us...> - 2002-03-18 19:31:10
|
Update of /cvsroot/linuxconsole/ruby In directory usw-pr-cvs1:/tmp/cvs-serv2443 Removed Files: AGAINST-2.5.5 Log Message: --- AGAINST-2.5.5 DELETED --- |
From: James S. <jsi...@us...> - 2002-03-18 19:29:16
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/drivers/usb Modified Files: Config.in Log Message: Synced to 2.5.6 Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/Config.in,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- Config.in 6 Mar 2002 23:02:58 -0000 1.20 +++ Config.in 18 Mar 2002 19:29:10 -0000 1.21 @@ -8,7 +8,7 @@ if [ "$CONFIG_USB" = "y" -o "$CONFIG_USB" = "m" ]; then bool ' USB verbose debug messages' CONFIG_USB_DEBUG -comment 'Miscellaneous USB options' + comment 'Miscellaneous USB options' bool ' USB device filesystem' CONFIG_USB_DEVICEFS if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then bool ' Enforce USB bandwidth allocation (EXPERIMENTAL)' CONFIG_USB_BANDWIDTH @@ -16,93 +16,93 @@ define_bool CONFIG_USB_BANDWIDTH n fi bool ' Long timeout for slow-responding devices (some MGE Ellipse UPSes)' CONFIG_USB_LONG_TIMEOUT -fi -comment 'USB Host Controller Drivers' -source drivers/usb/hcd/Config.in -if [ "$CONFIG_USB_UHCI_ALT" != "y" ]; then - dep_tristate ' UHCI (Intel PIIX4, VIA, ...) support' CONFIG_USB_UHCI $CONFIG_USB -fi -if [ "$CONFIG_USB_UHCI" != "y" ]; then - dep_tristate ' UHCI Alternate Driver (JE) support' CONFIG_USB_UHCI_ALT $CONFIG_USB -else - define_bool CONFIG_USB_UHCI_ALT n -fi -dep_tristate ' OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support' CONFIG_USB_OHCI $CONFIG_USB + comment 'USB Host Controller Drivers' + source drivers/usb/hcd/Config.in + if [ "$CONFIG_USB_UHCI_ALT" != "y" ]; then + dep_tristate ' UHCI (Intel PIIX4, VIA, ...) support' CONFIG_USB_UHCI $CONFIG_USB + fi + if [ "$CONFIG_USB_UHCI" != "y" ]; then + dep_tristate ' UHCI Alternate Driver (JE) support' CONFIG_USB_UHCI_ALT $CONFIG_USB + else + define_bool CONFIG_USB_UHCI_ALT n + fi + dep_tristate ' OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support' CONFIG_USB_OHCI $CONFIG_USB -comment 'USB Device Class drivers' -dep_tristate ' USB Audio support' CONFIG_USB_AUDIO $CONFIG_USB $CONFIG_SOUND -dep_tristate ' USB Bluetooth support (EXPERIMENTAL)' CONFIG_USB_BLUETOOTH $CONFIG_USB $CONFIG_EXPERIMENTAL -if [ "$CONFIG_SCSI" = "n" ]; then - comment ' SCSI support is needed for USB Storage' -fi -dep_tristate ' USB Mass Storage support' CONFIG_USB_STORAGE $CONFIG_USB $CONFIG_SCSI - dep_mbool ' USB Mass Storage verbose debug' CONFIG_USB_STORAGE_DEBUG $CONFIG_USB_STORAGE - dep_mbool ' Datafab MDCFE-B Compact Flash Reader support' CONFIG_USB_STORAGE_DATAFAB $CONFIG_USB_STORAGE $CONFIG_EXPERIMENTAL - dep_mbool ' Freecom USB/ATAPI Bridge support' CONFIG_USB_STORAGE_FREECOM $CONFIG_USB_STORAGE - dep_mbool ' ISD-200 USB/ATA Bridge support' CONFIG_USB_STORAGE_ISD200 $CONFIG_USB_STORAGE - dep_mbool ' Microtech CompactFlash/SmartMedia support' CONFIG_USB_STORAGE_DPCM $CONFIG_USB_STORAGE - dep_mbool ' HP CD-Writer 82xx support' CONFIG_USB_STORAGE_HP8200e $CONFIG_USB_STORAGE $CONFIG_EXPERIMENTAL - dep_mbool ' SanDisk SDDR-09 (and other SmartMedia) support' CONFIG_USB_STORAGE_SDDR09 $CONFIG_USB_STORAGE $CONFIG_EXPERIMENTAL - dep_mbool ' Lexar Jumpshot Compact Flash Reader' CONFIG_USB_STORAGE_JUMPSHOT $CONFIG_USB_STORAGE $CONFIG_EXPERIMENTAL -dep_tristate ' USB Modem (CDC ACM) support' CONFIG_USB_ACM $CONFIG_USB -dep_tristate ' USB Printer support' CONFIG_USB_PRINTER $CONFIG_USB + comment 'USB Device Class drivers' + dep_tristate ' USB Audio support' CONFIG_USB_AUDIO $CONFIG_USB $CONFIG_SOUND + dep_tristate ' USB Bluetooth support (EXPERIMENTAL)' CONFIG_USB_BLUETOOTH $CONFIG_USB $CONFIG_EXPERIMENTAL + if [ "$CONFIG_SCSI" = "n" ]; then + comment ' SCSI support is needed for USB Storage' + fi + dep_tristate ' USB Mass Storage support' CONFIG_USB_STORAGE $CONFIG_USB $CONFIG_SCSI + dep_mbool ' USB Mass Storage verbose debug' CONFIG_USB_STORAGE_DEBUG $CONFIG_USB_STORAGE + dep_mbool ' Datafab MDCFE-B Compact Flash Reader support' CONFIG_USB_STORAGE_DATAFAB $CONFIG_USB_STORAGE $CONFIG_EXPERIMENTAL + dep_mbool ' Freecom USB/ATAPI Bridge support' CONFIG_USB_STORAGE_FREECOM $CONFIG_USB_STORAGE + dep_mbool ' ISD-200 USB/ATA Bridge support' CONFIG_USB_STORAGE_ISD200 $CONFIG_USB_STORAGE + dep_mbool ' Microtech CompactFlash/SmartMedia support' CONFIG_USB_STORAGE_DPCM $CONFIG_USB_STORAGE + dep_mbool ' HP CD-Writer 82xx support' CONFIG_USB_STORAGE_HP8200e $CONFIG_USB_STORAGE $CONFIG_EXPERIMENTAL + dep_mbool ' SanDisk SDDR-09 (and other SmartMedia) support' CONFIG_USB_STORAGE_SDDR09 $CONFIG_USB_STORAGE $CONFIG_EXPERIMENTAL + dep_mbool ' Lexar Jumpshot Compact Flash Reader' CONFIG_USB_STORAGE_JUMPSHOT $CONFIG_USB_STORAGE $CONFIG_EXPERIMENTAL + dep_tristate ' USB Modem (CDC ACM) support' CONFIG_USB_ACM $CONFIG_USB + dep_tristate ' USB Printer support' CONFIG_USB_PRINTER $CONFIG_USB -comment 'USB Human Interface Devices (HID)' -if [ "$CONFIG_INPUT" = "n" ]; then - comment ' Input core support is needed for USB HID' -else - dep_tristate ' USB Human Interface Device (full HID) support' CONFIG_USB_HID $CONFIG_USB $CONFIG_INPUT - dep_mbool ' /dev/hiddev raw HID device support (EXPERIMENTAL)' CONFIG_USB_HIDDEV $CONFIG_USB_HID - if [ "$CONFIG_USB_HID" != "y" ]; then - dep_tristate ' USB HIDBP Keyboard (basic) support' CONFIG_USB_KBD $CONFIG_USB $CONFIG_INPUT - dep_tristate ' USB HIDBP Mouse (basic) support' CONFIG_USB_MOUSE $CONFIG_USB $CONFIG_INPUT + comment 'USB Human Interface Devices (HID)' + if [ "$CONFIG_INPUT" = "n" ]; then + comment ' Input core support is needed for USB HID' + else + dep_tristate ' USB Human Interface Device (full HID) support' CONFIG_USB_HID $CONFIG_USB $CONFIG_INPUT + dep_mbool ' /dev/hiddev raw HID device support (EXPERIMENTAL)' CONFIG_USB_HIDDEV $CONFIG_USB_HID + if [ "$CONFIG_USB_HID" != "y" ]; then + dep_tristate ' USB HIDBP Keyboard (basic) support' CONFIG_USB_KBD $CONFIG_USB $CONFIG_INPUT + dep_tristate ' USB HIDBP Mouse (basic) support' CONFIG_USB_MOUSE $CONFIG_USB $CONFIG_INPUT + fi + dep_tristate ' Wacom Intuos/Graphire tablet support' CONFIG_USB_WACOM $CONFIG_USB $CONFIG_INPUT + dep_tristate ' Griffin Technology PowerMate support' CONFIG_USB_POWERMATE$CONFIG_USB $CONFIG_INPUT + dep_mbool ' Force feedback support' CONFIG_HID_FF $CONFIG_USB_HID + dep_mbool ' Logitech RumblePad support' CONFIG_LOGITECH_RUMBLE $CONFIG_USB_HID $CONFIG_HID_FF fi - dep_tristate ' Wacom Intuos/Graphire tablet support' CONFIG_USB_WACOM $CONFIG_USB $CONFIG_INPUT - dep_tristate ' Griffin Technology PowerMate support' CONFIG_USB_POWERMATE $CONFIG_USB $CONFIG_INPUT - dep_mbool ' Force feedback support' CONFIG_HID_FF $CONFIG_USB_HID - dep_mbool ' Logitech RumblePad support' CONFIG_LOGITECH_RUMBLE $CONFIG_USB_HID $CONFIG_HID_FF -fi -comment 'USB Imaging devices' -dep_tristate ' USB Kodak DC-2xx Camera support' CONFIG_USB_DC2XX $CONFIG_USB -dep_tristate ' USB Mustek MDC800 Digital Camera support (EXPERIMENTAL)' CONFIG_USB_MDC800 $CONFIG_USB $CONFIG_EXPERIMENTAL -dep_tristate ' USB Scanner support' CONFIG_USB_SCANNER $CONFIG_USB -dep_tristate ' Microtek X6USB scanner support' CONFIG_USB_MICROTEK $CONFIG_USB $CONFIG_SCSI -dep_tristate ' HP53xx USB scanner support (EXPERIMENTAL)' CONFIG_USB_HPUSBSCSI $CONFIG_USB $CONFIG_SCSI $CONFIG_EXPERIMENTAL + comment 'USB Imaging devices' + dep_tristate ' USB Kodak DC-2xx Camera support' CONFIG_USB_DC2XX $CONFIG_USB + dep_tristate ' USB Mustek MDC800 Digital Camera support (EXPERIMENTAL)' CONFIG_USB_MDC800 $CONFIG_USB $CONFIG_EXPERIMENTAL + dep_tristate ' USB Scanner support' CONFIG_USB_SCANNER $CONFIG_USB + dep_tristate ' Microtek X6USB scanner support' CONFIG_USB_MICROTEK $CONFIG_USB $CONFIG_SCSI + dep_tristate ' HP53xx USB scanner support (EXPERIMENTAL)' CONFIG_USB_HPUSBSCSI $CONFIG_USB $CONFIG_SCSI $CONFIG_EXPERIMENTAL -comment 'USB Multimedia devices' -if [ "$CONFIG_VIDEO_DEV" = "n" ]; then - comment ' Video4Linux support is needed for USB Multimedia device support' -else - dep_tristate ' USB IBM (Xirlink) C-it Camera support' CONFIG_USB_IBMCAM $CONFIG_USB $CONFIG_VIDEO_DEV - dep_tristate ' USB OV511 Camera support' CONFIG_USB_OV511 $CONFIG_USB $CONFIG_VIDEO_DEV - dep_tristate ' USB Philips Cameras' CONFIG_USB_PWC $CONFIG_USB $CONFIG_VIDEO_DEV - dep_tristate ' USB SE401 Camera support' CONFIG_USB_SE401 $CONFIG_USB $CONFIG_VIDEO_DEV - dep_tristate ' USB STV680 (Pencam) Camera support' CONFIG_USB_STV680 $CONFIG_USB $CONFIG_VIDEO_DEV - dep_tristate ' USB 3com HomeConnect (aka vicam) support (EXPERIMENTAL)' CONFIG_USB_VICAM $CONFIG_USB $CONFIG_VIDEO_DEV $CONFIG_EXPERIMENTAL - dep_tristate ' D-Link USB FM radio support (EXPERIMENTAL)' CONFIG_USB_DSBR $CONFIG_USB $CONFIG_VIDEO_DEV $CONFIG_EXPERIMENTAL - dep_tristate ' DABUSB driver' CONFIG_USB_DABUSB $CONFIG_USB - dep_tristate ' USB Konica Webcam support' CONFIG_USB_KONICAWC $CONFIG_USB $CONFIG_VIDEO_DEV -fi + comment 'USB Multimedia devices' + if [ "$CONFIG_VIDEO_DEV" = "n" ]; then + comment ' Video4Linux support is needed for USB Multimedia device support' + else + dep_tristate ' USB IBM (Xirlink) C-it Camera support' CONFIG_USB_IBMCAM $CONFIG_USB $CONFIG_VIDEO_DEV + dep_tristate ' USB OV511 Camera support' CONFIG_USB_OV511 $CONFIG_USB $CONFIG_VIDEO_DEV + dep_tristate ' USB Philips Cameras' CONFIG_USB_PWC $CONFIG_USB $CONFIG_VIDEO_DEV + dep_tristate ' USB SE401 Camera support' CONFIG_USB_SE401 $CONFIG_USB $CONFIG_VIDEO_DEV + dep_tristate ' USB STV680 (Pencam) Camera support' CONFIG_USB_STV680 $CONFIG_USB $CONFIG_VIDEO_DEV + dep_tristate ' USB 3com HomeConnect (aka vicam) support (EXPERIMENTAL)' CONFIG_USB_VICAM $CONFIG_USB $CONFIG_VIDEO_DEV $CONFIG_EXPERIMENTAL + dep_tristate ' D-Link USB FM radio support (EXPERIMENTAL)' CONFIG_USB_DSBR $CONFIG_USB $CONFIG_VIDEO_DEV $CONFIG_EXPERIMENTAL + dep_tristate ' DABUSB driver' CONFIG_USB_DABUSB $CONFIG_USB + dep_tristate ' USB Konica Webcam support' CONFIG_USB_KONICAWC $CONFIG_USB $CONFIG_VIDEO_DEV + fi -comment 'USB Network adaptors' -if [ "$CONFIG_NET" = "n" ]; then - comment ' Networking support is needed for USB Networking device support' -else - dep_tristate ' USB ADMtek Pegasus-based ethernet device support (EXPERIMENTAL)' CONFIG_USB_PEGASUS $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL - dep_tristate ' USB KLSI KL5USB101-based ethernet device support (EXPERIMENTAL)' CONFIG_USB_KAWETH $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL - dep_tristate ' USB CATC NetMate-based Ethernet device support (EXPERIMENTAL)' CONFIG_USB_CATC $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL - dep_tristate ' USB Communication Class Ethernet device support (EXPERIMENTAL)' CONFIG_USB_CDCETHER $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL - dep_tristate ' USB-to-USB Networking cable device support (EXPERIMENTAL)' CONFIG_USB_USBNET $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL -fi + comment 'USB Network adaptors' + if [ "$CONFIG_NET" = "n" ]; then + comment ' Networking support is needed for USB Networking device support' + else + dep_tristate ' USB ADMtek Pegasus-based ethernet device support (EXPERIMENTAL)' CONFIG_USB_PEGASUS $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL + dep_tristate ' USB KLSI KL5USB101-based ethernet device support (EXPERIMENTAL)' CONFIG_USB_KAWETH $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL + dep_tristate ' USB CATC NetMate-based Ethernet device support (EXPERIMENTAL)' CONFIG_USB_CATC $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL + dep_tristate ' USB Communication Class Ethernet device support (EXPERIMENTAL)' CONFIG_USB_CDCETHER $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL + dep_tristate ' USB-to-USB Networking cable device support (EXPERIMENTAL)' CONFIG_USB_USBNET $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL + fi -comment 'USB port drivers' -dep_tristate ' USS720 parport driver' CONFIG_USB_USS720 $CONFIG_USB $CONFIG_PARPORT -source drivers/usb/serial/Config.in + comment 'USB port drivers' + dep_tristate ' USS720 parport driver' CONFIG_USB_USS720 $CONFIG_USB $CONFIG_PARPORT + source drivers/usb/serial/Config.in -comment 'USB Miscellaneous drivers' -dep_tristate ' USB Diamond Rio500 support (EXPERIMENTAL)' CONFIG_USB_RIO500 $CONFIG_USB $CONFIG_EXPERIMENTAL -dep_tristate ' USB Auerswald ISDN support (EXPERIMENTAL)' CONFIG_USB_AUERSWALD $CONFIG_USB $CONFIG_EXPERIMENTAL + comment 'USB Miscellaneous drivers' + dep_tristate ' USB Diamond Rio500 support (EXPERIMENTAL)' CONFIG_USB_RIO500 $CONFIG_USB $CONFIG_EXPERIMENTAL + dep_tristate ' USB Auerswald ISDN support (EXPERIMENTAL)' CONFIG_USB_AUERSWALD $CONFIG_USB $CONFIG_EXPERIMENTAL +fi endmenu |
From: James S. <jsi...@us...> - 2002-03-18 19:29:16
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/drivers/video Modified Files: vesafb.c Log Message: Synced to 2.5.6 Index: vesafb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/vesafb.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- vesafb.c 26 Dec 2001 17:28:11 -0000 1.19 +++ vesafb.c 18 Mar 2002 19:29:11 -0000 1.20 @@ -264,7 +264,7 @@ ypan = pmi_setpal = 0; /* not available or some DOS TSR ... */ if (ypan || pmi_setpal) { - pmi_base = (unsigned short*)bus_to_virt(((unsigned long)screen_info.vesapm_seg << 4) + screen_info.vesapm_off); + pmi_base = (unsigned short*)phys_to_virt(((unsigned long)screen_info.vesapm_seg << 4) + screen_info.vesapm_off); pmi_start = (void*)((char*)pmi_base + pmi_base[1]); pmi_pal = (void*)((char*)pmi_base + pmi_base[2]); printk(KERN_INFO "vesafb: pmi: set display start = %p, set palette = %p\n",pmi_start,pmi_pal); |
From: James S. <jsi...@us...> - 2002-03-18 19:29:16
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/drivers/char Modified Files: Makefile mem.c sysrq.c Log Message: Synced to 2.5.6 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- Makefile 14 Mar 2002 20:02:06 -0000 1.34 +++ Makefile 18 Mar 2002 19:29:10 -0000 1.35 @@ -23,7 +23,7 @@ export-objs := vt.o keyboard.o sysrq.o \ misc.o pty.o random.o selection.o serial.o \ - sonypi.o tty_io.o tty_ioctl.o generic_serial.o + sonypi.o tty_io.o tty_ioctl.o generic_serial.o rtc.o mod-subdirs := ftape drm pcmcia Index: mem.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/mem.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- mem.c 14 Mar 2002 20:02:06 -0000 1.20 +++ mem.c 18 Mar 2002 19:29:10 -0000 1.21 @@ -267,6 +267,8 @@ return virtr + read; } +extern long vwrite(char *buf, char *addr, unsigned long count); + /* * This function writes to the *virtual* memory as seen by the kernel. */ @@ -274,12 +276,46 @@ size_t count, loff_t *ppos) { unsigned long p = *ppos; + ssize_t wrote = 0; + ssize_t virtr = 0; + char * kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */ - if (p >= (unsigned long) high_memory) - return 0; - if (count > (unsigned long) high_memory - p) - count = (unsigned long) high_memory - p; - return do_write_mem(file, (void*)p, p, buf, count, ppos); + if (p < (unsigned long) high_memory) { + wrote = count; + if (count > (unsigned long) high_memory - p) + wrote = (unsigned long) high_memory - p; + + wrote = do_write_mem(file, (void*)p, p, buf, wrote, ppos); + + p += wrote; + buf += wrote; + count -= wrote; + } + + if (count > 0) { + kbuf = (char *)__get_free_page(GFP_KERNEL); + if (!kbuf) + return -ENOMEM; + while (count > 0) { + int len = count; + + if (len > PAGE_SIZE) + len = PAGE_SIZE; + if (len && copy_from_user(kbuf, buf, len)) { + free_page((unsigned long)kbuf); + return -EFAULT; + } + len = vwrite(kbuf, (char *)p, len); + count -= len; + buf += len; + virtr += len; + p += len; + } + free_page((unsigned long)kbuf); + } + + *ppos = p; + return virtr + wrote; } #if !defined(__mc68000__) Index: sysrq.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/sysrq.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- sysrq.c 26 Feb 2002 20:14:27 -0000 1.18 +++ sysrq.c 18 Mar 2002 19:29:10 -0000 1.19 @@ -167,7 +167,7 @@ } file_list_unlock(); DQUOT_OFF(sb); - fsync_dev(sb->s_dev); + fsync_bdev(sb->s_bdev); flags = MS_RDONLY; if (sb->s_op && sb->s_op->remount_fs) { ret = sb->s_op->remount_fs(sb, &flags, NULL); @@ -180,7 +180,7 @@ } else printk("nothing to do\n"); } else { /* Sync only */ - fsync_dev(sb->s_dev); + fsync_bdev(sb->s_bdev); printk("OK\n"); } console_loglevel = orig_loglevel; |
From: James S. <jsi...@us...> - 2002-03-18 19:29:16
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video/riva In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/drivers/video/riva Modified Files: fbdev.c Log Message: Synced to 2.5.6 Index: fbdev.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/riva/fbdev.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- fbdev.c 29 Oct 2001 22:58:43 -0000 1.11 +++ fbdev.c 18 Mar 2002 19:29:11 -0000 1.12 @@ -1,5 +1,5 @@ /* - * linux/drivers/video/rivafb.c - nVidia RIVA 128/TNT/TNT2 fb driver + * linux/drivers/video/riva/fbdev.c - nVidia RIVA 128/TNT/TNT2 fb driver * * Maintained by Ani Joshi <aj...@sh...> * @@ -12,18 +12,22 @@ * * Ferenc Bakonyi: Bug fixes, cleanup, modularization * + * Jindrich Makovicka: Accel code help, hw cursor, mtrr [...3097 lines suppressed...] + +MODULE_PARM(font, "s"); +MODULE_PARM_DESC(font, "Specifies one of the compiled-in fonts (default=none)"); +MODULE_PARM(noaccel, "i"); +MODULE_PARM_DESC(noaccel, "Disables hardware acceleration (0 or 1=disabled) (default=0)"); +MODULE_PARM(nomove, "i"); +MODULE_PARM_DESC(nomove, "Enables YSCROLL_NOMOVE (0 or 1=enabled) (default=0)"); +MODULE_PARM(nohwcursor, "i"); +MODULE_PARM_DESC(nohwcursor, "Disables hardware cursor (0 or 1=disabled) (default=0)"); +MODULE_PARM(noblink, "i"); +MODULE_PARM_DESC(noblink, "Disables hardware cursor blinking (0 or 1=disabled) (default=0)"); +#ifdef CONFIG_MTRR +MODULE_PARM(nomtrr, "i"); +MODULE_PARM_DESC(nomtrr, "Disables MTRR support (0 or 1=disabled) (default=0)"); +#endif +#endif /* MODULE */ + +MODULE_AUTHOR("Ani Joshi, maintainer"); +MODULE_DESCRIPTION("Framebuffer driver for nVidia Riva 128, TNT, TNT2"); +MODULE_LICENSE("GPL"); |
From: James S. <jsi...@us...> - 2002-03-18 19:29:15
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/drivers/input Modified Files: joydev.c Log Message: Synced to 2.5.6 Index: joydev.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joydev.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- joydev.c 24 Jan 2002 19:54:08 -0000 1.40 +++ joydev.c 18 Mar 2002 19:29:10 -0000 1.41 @@ -29,7 +29,6 @@ #include <asm/io.h> #include <asm/system.h> -#include <asm/segment.h> #include <linux/delay.h> #include <linux/errno.h> #include <linux/joystick.h> |
From: James S. <jsi...@us...> - 2002-03-18 19:29:15
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/drivers Modified Files: Makefile Log Message: Synced to 2.5.6 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- Makefile 14 Mar 2002 22:32:23 -0000 1.28 +++ Makefile 18 Mar 2002 19:29:10 -0000 1.29 @@ -1,7 +1,7 @@ # # Makefile for the Linux kernel device drivers. # -# 15 Sep 2000, Christoph Hellwig <hc...@ca...> +# 15 Sep 2000, Christoph Hellwig <hc...@in...> # Rewritten to use lists instead of if-statements. # |
From: James S. <jsi...@us...> - 2002-03-18 19:29:15
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/x86_64/mm In directory usw-pr-cvs1:/tmp/cvs-serv1539/linux/arch/x86_64/mm Modified Files: fault.c Log Message: Synced to 2.5.6 Index: fault.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/x86_64/mm/fault.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- fault.c 15 Mar 2002 19:01:08 -0000 1.1 +++ fault.c 18 Mar 2002 19:29:09 -0000 1.2 @@ -108,7 +108,7 @@ mm = tsk->mm; info.si_code = SEGV_MAPERR; - if (address >= TASK_SIZE) + if (address >= TASK_SIZE && !(error_code & 5)) goto vmalloc_fault; |
From: James S. <jsi...@us...> - 2002-03-18 19:29:14
|
Update of /cvsroot/linuxconsole/ruby In directory usw-pr-cvs1:/tmp/cvs-serv1539 Added Files: AGAINST-2.5.6 Log Message: Synced to 2.5.6 --- NEW FILE: AGAINST-2.5.6 --- |
From: James S. <jsi...@us...> - 2002-03-18 19:28:25
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/serio In directory usw-pr-cvs1:/tmp/cvs-serv1320 Added Files: serport.c Log Message: Readded serport.c again. |
From: James S. <jsi...@us...> - 2002-03-18 17:56:00
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/x86_64/kernel In directory usw-pr-cvs1:/tmp/cvs-serv21884 Added Files: setup.c Log Message: Missed a file. --- NEW FILE: setup.c --- /* * linux/arch/x86-64/kernel/setup.c * * Copyright (C) 1995 Linus Torvalds * * Nov 2001 Dave Jones <da...@su...> * Forked from i386 setup code. * * $Id: setup.c,v 1.1 2002/03/18 17:37:26 jsimmons Exp $ */ /* * This file handles the architecture-dependent parts of initialization */ #include <linux/errno.h> #include <linux/sched.h> #include <linux/kernel.h> #include <linux/mm.h> [...1078 lines suppressed...] { return *pos < NR_CPUS ? cpu_data + *pos : NULL; } static void *c_next(struct seq_file *m, void *v, loff_t *pos) { ++*pos; return c_start(m, pos); } static void c_stop(struct seq_file *m, void *v) { } struct seq_operations cpuinfo_op = { start: c_start, next: c_next, stop: c_stop, show: show_cpuinfo, }; |