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: James S. <jsi...@us...> - 2002-01-20 03:54:50
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/ppc Modified Files: config.in Log Message: Synced to 2.5.X. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/config.in,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- config.in 2001/12/26 17:28:11 1.22 +++ config.in 2002/01/20 03:54:45 1.23 @@ -368,3 +368,5 @@ bool 'Include kgdb kernel debugger' CONFIG_KGDB bool 'Include xmon kernel debugger' CONFIG_XMON endmenu + +source lib/Config.in |
From: James S. <jsi...@us...> - 2002-01-20 03:54:50
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/parisc/kernel In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/parisc/kernel Modified Files: pdc_cons.c Log Message: Synced to 2.5.X. Index: pdc_cons.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/parisc/kernel/pdc_cons.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pdc_cons.c 2001/09/02 23:15:49 1.1 +++ pdc_cons.c 2002/01/20 03:54:45 1.2 @@ -105,10 +105,6 @@ static struct console pdc_cons = { name: "ttyB", write: pdc_console_write, - read: NULL, - device: NULL, - wait_key: pdc_console_wait_key, - unblank: NULL, setup: pdc_console_setup, flags: CON_PRINTBUFFER|CON_ENABLED, // |CON_CONSDEV, index: -1, |
From: James S. <jsi...@us...> - 2002-01-20 03:54:50
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/amiga In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/ppc/amiga Modified Files: config.c Log Message: Synced to 2.5.X. Index: config.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/amiga/config.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- config.c 2001/12/26 21:08:33 1.3 +++ config.c 2002/01/20 03:54:45 1.4 @@ -101,7 +101,6 @@ extern void amiga_floppy_setup(char *, int *); #endif static void amiga_reset (void); -static int amiga_wait_key (struct console *co); extern void amiga_init_sound(void); static void amiga_savekmsg_init(void); static void amiga_mem_console_write(struct console *co, const char *b, @@ -115,7 +114,6 @@ static struct console amiga_console_driver = { name: "debug", - wait_key: amiga_wait_key, flags: CON_PRINTBUFFER, index: -1, }; @@ -710,33 +708,6 @@ } return 0; -} - -static int amiga_wait_key (struct console *co) -{ - int i; - - while (1) { - while (ciaa.pra & 0x40); - - /* debounce */ - for (i = 0; i < 1000; i++); - - if (!(ciaa.pra & 0x40)) - break; - } - - /* wait for button up */ - while (1) { - while (!(ciaa.pra & 0x40)); - - /* debounce */ - for (i = 0; i < 1000; i++); - - if (ciaa.pra & 0x40) - break; - } - return 0; } static NORET_TYPE void amiga_reset( void ) |
From: James S. <jsi...@us...> - 2002-01-20 03:54:50
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/sh In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/sh Modified Files: config.in Log Message: Synced to 2.5.X. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/sh/config.in,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- config.in 2001/12/26 21:08:33 1.16 +++ config.in 2002/01/20 03:54:45 1.17 @@ -362,3 +362,5 @@ bool 'Early printk support' CONFIG_SH_EARLY_PRINTK fi endmenu + +source lib/Config.in |
From: James S. <jsi...@us...> - 2002-01-20 03:54:49
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/ppc/kernel Modified Files: prep_setup.c Log Message: Synced to 2.5.X. Index: prep_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/prep_setup.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- prep_setup.c 2001/12/26 17:28:11 1.8 +++ prep_setup.c 2002/01/20 03:54:45 1.9 @@ -98,12 +98,6 @@ extern int probingmem; extern unsigned long loops_per_jiffy; -#ifdef CONFIG_BLK_DEV_RAM -extern int rd_doload; /* 1 = load ramdisk, 0 = don't load */ -extern int rd_prompt; /* 1 = prompt for ramdisk, 0 = don't prompt */ -extern int rd_image_start; /* starting block # of image */ -#endif - #ifdef CONFIG_SOUND_MODULE EXPORT_SYMBOL(ppc_cs4232_dma); EXPORT_SYMBOL(ppc_cs4232_dma2); |
From: James S. <jsi...@us...> - 2002-01-20 03:54:49
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/parisc In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/parisc Modified Files: config.in Log Message: Synced to 2.5.X. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/parisc/config.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- config.in 2001/05/12 22:18:12 1.3 +++ config.in 2002/01/20 03:54:45 1.4 @@ -192,3 +192,4 @@ bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ endmenu +source lib/Config.in |
From: James S. <jsi...@us...> - 2002-01-20 03:54:49
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386 In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/i386 Modified Files: config.in Log Message: Synced to 2.5.X. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/config.in,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- config.in 2001/12/26 17:28:10 1.30 +++ config.in 2002/01/20 03:54:45 1.31 @@ -52,6 +52,7 @@ define_int CONFIG_X86_L1_CACHE_SHIFT 4 define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n + define_bool CONFIG_X86_PPRO_FENCE y else define_bool CONFIG_X86_WP_WORKS_OK y define_bool CONFIG_X86_INVLPG y @@ -66,17 +67,20 @@ define_int CONFIG_X86_L1_CACHE_SHIFT 4 define_bool CONFIG_X86_USE_STRING_486 y define_bool CONFIG_X86_ALIGNMENT_16 y + define_bool CONFIG_X86_PPRO_FENCE y fi if [ "$CONFIG_M586" = "y" ]; then define_int CONFIG_X86_L1_CACHE_SHIFT 5 define_bool CONFIG_X86_USE_STRING_486 y define_bool CONFIG_X86_ALIGNMENT_16 y + define_bool CONFIG_X86_PPRO_FENCE y fi if [ "$CONFIG_M586TSC" = "y" ]; then define_int CONFIG_X86_L1_CACHE_SHIFT 5 define_bool CONFIG_X86_USE_STRING_486 y define_bool CONFIG_X86_ALIGNMENT_16 y define_bool CONFIG_X86_TSC y + define_bool CONFIG_X86_PPRO_FENCE y fi if [ "$CONFIG_M586MMX" = "y" ]; then define_int CONFIG_X86_L1_CACHE_SHIFT 5 @@ -84,6 +88,7 @@ define_bool CONFIG_X86_ALIGNMENT_16 y define_bool CONFIG_X86_TSC y define_bool CONFIG_X86_GOOD_APIC y + define_bool CONFIG_X86_PPRO_FENCE y fi if [ "$CONFIG_M686" = "y" ]; then define_int CONFIG_X86_L1_CACHE_SHIFT 5 @@ -91,6 +96,7 @@ define_bool CONFIG_X86_GOOD_APIC y define_bool CONFIG_X86_PGE y define_bool CONFIG_X86_USE_PPRO_CHECKSUM y + define_bool CONFIG_X86_PPRO_FENCE y fi if [ "$CONFIG_MPENTIUMIII" = "y" ]; then define_int CONFIG_X86_L1_CACHE_SHIFT 5 @@ -135,21 +141,24 @@ define_int CONFIG_X86_L1_CACHE_SHIFT 5 define_bool CONFIG_X86_ALIGNMENT_16 y define_bool CONFIG_X86_USE_PPRO_CHECKSUM y + define_bool CONFIG_X86_OOSTORE y fi if [ "$CONFIG_MWINCHIP2" = "y" ]; then define_int CONFIG_X86_L1_CACHE_SHIFT 5 define_bool CONFIG_X86_ALIGNMENT_16 y define_bool CONFIG_X86_TSC y define_bool CONFIG_X86_USE_PPRO_CHECKSUM y + define_bool CONFIG_X86_OOSTORE y fi if [ "$CONFIG_MWINCHIP3D" = "y" ]; then define_int CONFIG_X86_L1_CACHE_SHIFT 5 define_bool CONFIG_X86_ALIGNMENT_16 y define_bool CONFIG_X86_TSC y define_bool CONFIG_X86_USE_PPRO_CHECKSUM y + define_bool CONFIG_X86_OOSTORE y fi tristate 'Toshiba Laptop support' CONFIG_TOSHIBA -tristate 'Dell Inspiron 8000 support' CONFIG_I8K +tristate 'Dell laptop support' CONFIG_I8K tristate '/dev/cpu/microcode - Intel IA32 CPU microcode support' CONFIG_MICROCODE tristate '/dev/cpu/*/msr - Model-specific register support' CONFIG_X86_MSR @@ -360,7 +369,7 @@ endmenu # -# input before char - char/joystick depends on it. +# input before char - char/joystick depends on it. As does USB. # source drivers/usb/Config.in source drivers/input/Config.in @@ -400,3 +409,5 @@ fi endmenu + +source lib/Config.in |
From: James S. <jsi...@us...> - 2002-01-20 03:54:49
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/i386/kernel Modified Files: dmi_scan.c setup.c Log Message: Synced to 2.5.X. Index: dmi_scan.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/dmi_scan.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- dmi_scan.c 2001/10/29 00:10:58 1.2 +++ dmi_scan.c 2002/01/20 03:54:45 1.3 @@ -7,8 +7,10 @@ #include <linux/slab.h> #include <asm/io.h> #include <linux/pm.h> -#include <linux/keyboard.h> +#include <linux/input.h> +#include <asm/system.h> +unsigned long dmi_broken; int is_sony_vaio_laptop; struct dmi_header @@ -86,7 +88,7 @@ } -int __init dmi_iterate(void (*decode)(struct dmi_header *)) +static int __init dmi_iterate(void (*decode)(struct dmi_header *)) { unsigned char buf[20]; long fp=0xE0000L; @@ -97,7 +99,7 @@ * Skip on x86/64 with simnow. Will eventually go away * If you see this ifdef in 2.6pre mail me ! */ - return; + return -1; #endif while( fp < 0xFFFFF) @@ -189,6 +191,7 @@ * corruption problems */ +#if 0 static __init int disable_ide_dma(struct dmi_blacklist *d) { #ifdef CONFIG_BLK_DEV_IDE @@ -201,6 +204,7 @@ #endif return 0; } +#endif /* * Reboot options and system auto-detection code provided by @@ -314,15 +318,14 @@ return 0; } -#if defined(CONFIG_SONYPI) || defined(CONFIG_SONYPI_MODULE) /* - * Check for a Sony Vaio system in order to enable the use of - * the sonypi driver (we don't want this driver to be used on - * other systems, even if they have the good PCI IDs). + * Check for a Sony Vaio system * - * This one isn't a bug detect for those who asked, we simply want to - * activate Sony specific goodies like the camera and jogdial.. + * On a Sony system we want to enable the use of the sonypi + * driver for Sony-specific goodies like the camera and jogdial. + * We also want to avoid using certain functions of the PnP BIOS. */ + static __init int sony_vaio_laptop(struct dmi_blacklist *d) { if (is_sony_vaio_laptop == 0) @@ -332,7 +335,6 @@ } return 0; } -#endif /* * This bios swaps the APM minute reporting bytes over (Many sony laptops @@ -358,12 +360,66 @@ printk(KERN_INFO " *** Possibly defective BIOS detected (irqtable)\n"); printk(KERN_INFO " *** Many BIOSes matching this signature have incorrect IRQ routing tables.\n"); printk(KERN_INFO " *** If you see IRQ problems, in paticular SCSI resets and hangs at boot\n"); - printk(KERN_INFO " *** contact your vendor and ask about updates.\n"); + printk(KERN_INFO " *** contact your hardware vendor and ask about updates.\n"); printk(KERN_INFO " *** Building an SMP kernel may evade the bug some of the time.\n"); return 0; } /* + * ASUS K7V-RM has broken ACPI table defining sleep modes + */ + +static __init int broken_acpi_Sx(struct dmi_blacklist *d) +{ + printk(KERN_WARNING "Detected ASUS mainboard with broken ACPI sleep table\n"); + dmi_broken |= BROKEN_ACPI_Sx; + return 0; +} + +/* + * Toshiba fails to preserve interrupts over S1 + */ + +static __init int init_ints_after_s1(struct dmi_blacklist *d) +{ + printk(KERN_WARNING "Toshiba with broken S1 detected.\n"); + dmi_broken |= BROKEN_INIT_AFTER_S1; + return 0; +} + +/* + * Some Bioses enable the PS/2 mouse (touchpad) at resume, even if it + * was disabled before the suspend. Linux gets terribly confused by that. + */ + +typedef void (pm_kbd_func) (void); + +static __init int broken_ps2_resume(struct dmi_blacklist *d) +{ +#ifdef CONFIG_INPUT +/* + if (pm_kbd_request_override == NULL) + { + pm_kbd_request_override = pckbd_pm_resume; + printk(KERN_INFO "%s machine detected. Mousepad Resume Bug workaround enabled.\n", d->ident); + } +*/ +#endif + return 0; +} + + +/* + * Simple "print if true" callback + */ + +static __init int print_if_true(struct dmi_blacklist *d) +{ + printk("%s\n", d->ident); + return 0; +} + +/* * Process the DMI blacklists */ @@ -380,6 +436,11 @@ NO_MATCH, NO_MATCH, NO_MATCH } }, #endif + { broken_ps2_resume, "Dell Latitude C600", { /* Handle problems with APM on the C600 */ + MATCH(DMI_SYS_VENDOR, "Dell"), + MATCH(DMI_PRODUCT_NAME, "Latitude C600"), + NO_MATCH, NO_MATCH + } }, { broken_apm_power, "Dell Inspiron 5000e", { /* Handle problems with APM on Inspiron 5000e */ MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"), MATCH(DMI_BIOS_VERSION, "A04"), @@ -400,10 +461,6 @@ MATCH(DMI_PRODUCT_NAME, "PowerEdge 300/"), NO_MATCH, NO_MATCH } }, - { set_apm_ints, "IBM", { /* Allow interrupts during suspend on IBM laptops */ - MATCH(DMI_SYS_VENDOR, "IBM"), - NO_MATCH, NO_MATCH, NO_MATCH - } }, { set_apm_ints, "Dell Inspiron", { /* Allow interrupts during suspend on Dell Inspiron laptops*/ MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), MATCH(DMI_PRODUCT_NAME, "Inspiron 4000"), @@ -431,13 +488,11 @@ MATCH(DMI_BIOS_VENDOR,"SystemSoft"), MATCH(DMI_BIOS_VERSION,"Version R2.08") } }, -#if defined(CONFIG_SONYPI) || defined(CONFIG_SONYPI_MODULE) { sony_vaio_laptop, "Sony Vaio", { /* This is a Sony Vaio laptop */ MATCH(DMI_SYS_VENDOR, "Sony Corporation"), MATCH(DMI_PRODUCT_NAME, "PCG-"), NO_MATCH, NO_MATCH, } }, -#endif { swab_apm_power_in_minutes, "Sony VAIO", { /* Handle problems with APM on Sony Vaio PCG-N505X(DE) */ MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"), MATCH(DMI_BIOS_VERSION, "R0206H"), @@ -462,6 +517,12 @@ MATCH(DMI_BIOS_DATE, "05/11/00"), NO_MATCH } }, + { swab_apm_power_in_minutes, "Sony VAIO", { /* Handle problems with APM on Sony Vaio PCG-Z600NE */ + MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"), + MATCH(DMI_BIOS_VERSION, "WME01Z1"), + MATCH(DMI_BIOS_DATE, "08/11/00"), NO_MATCH + } }, + { swab_apm_power_in_minutes, "Sony VAIO", { /* Handle problems with APM on Sony Vaio PCG-Z505LS */ MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"), MATCH(DMI_BIOS_VERSION, "R0203D0"), @@ -503,16 +564,53 @@ MATCH(DMI_BIOS_VERSION,"L440GX0.86B.0094.P10"), NO_MATCH, NO_MATCH } }, + { broken_pirq, "l44GX Bios", { /* Bad $PIR */ + MATCH(DMI_BIOS_VENDOR, "Intel Corporation"), + MATCH(DMI_BIOS_VERSION,"L440GX0.86B.0120.P12"), + NO_MATCH, NO_MATCH + } }, { broken_pirq, "l44GX Bios", { /* Bad $PIR */ MATCH(DMI_BIOS_VENDOR, "Intel Corporation"), MATCH(DMI_BIOS_VERSION,"L440GX0.86B.0125.P13"), NO_MATCH, NO_MATCH } }, + { broken_pirq, "l44GX Bios", { /* Bad $PIR */ + MATCH(DMI_BIOS_VENDOR, "Intel Corporation"), + MATCH(DMI_BIOS_VERSION,"L440GX0.86B.0066.P07.9906041405"), + NO_MATCH, NO_MATCH + } }, /* Intel in disgiuse - 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"), + NO_MATCH, NO_MATCH, NO_MATCH + } }, + + { broken_acpi_Sx, "ASUS K7V-RM", { /* Bad ACPI Sx table */ + MATCH(DMI_BIOS_VERSION,"ASUS K7V-RM ACPI BIOS Revision 1003A"), + MATCH(DMI_BOARD_NAME, "<K7V-RM>"), + NO_MATCH, NO_MATCH + } }, + + { init_ints_after_s1, "Toshiba Satellite 4030cdt", { /* Reinitialization of 8259 is needed after S1 resume */ + MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"), + NO_MATCH, NO_MATCH, NO_MATCH + } }, + + { print_if_true, KERN_WARNING "IBM T23 - BIOS 1.03b+ and controller firmware 1.02+ may be needed for Linux APM.", { + MATCH(DMI_SYS_VENDOR, "IBM"), + MATCH(DMI_BIOS_VERSION, "1AET38WW (1.01b)"), + NO_MATCH, NO_MATCH + } }, + + + /* + * Generic per vendor APM settings + */ + + { set_apm_ints, "IBM", { /* Allow interrupts during suspend on IBM laptops */ + MATCH(DMI_SYS_VENDOR, "IBM"), NO_MATCH, NO_MATCH, NO_MATCH } }, Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/setup.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- setup.c 2001/12/26 21:08:32 1.32 +++ setup.c 2002/01/20 03:54:45 1.33 @@ -155,6 +155,7 @@ extern int root_mountflags; extern char _text, _etext, _edata, _end; extern int blk_nohighio; +void __init visws_get_board_type_and_rev(void); static int disable_x86_serial_nr __initdata = 1; static int disable_x86_fxsr __initdata = 0; @@ -188,132 +189,7 @@ #define RAMDISK_PROMPT_FLAG 0x8000 #define RAMDISK_LOAD_FLAG 0x4000 -#ifdef CONFIG_VISWS -char visws_board_type = -1; -char visws_board_rev = -1; - -#define PIIX_PM_START 0x0F80 - -#define SIO_GPIO_START 0x0FC0 - -#define SIO_PM_START 0x0FC8 - -#define PMBASE PIIX_PM_START -#define GPIREG0 (PMBASE+0x30) -#define GPIREG(x) (GPIREG0+((x)/8)) -#define PIIX_GPI_BD_ID1 18 -#define PIIX_GPI_BD_REG GPIREG(PIIX_GPI_BD_ID1) - -#define PIIX_GPI_BD_SHIFT (PIIX_GPI_BD_ID1 % 8) - -#define SIO_INDEX 0x2e -#define SIO_DATA 0x2f - -#define SIO_DEV_SEL 0x7 -#define SIO_DEV_ENB 0x30 -#define SIO_DEV_MSB 0x60 -#define SIO_DEV_LSB 0x61 - -#define SIO_GP_DEV 0x7 - -#define SIO_GP_BASE SIO_GPIO_START -#define SIO_GP_MSB (SIO_GP_BASE>>8) -#define SIO_GP_LSB (SIO_GP_BASE&0xff) - -#define SIO_GP_DATA1 (SIO_GP_BASE+0) - -#define SIO_PM_DEV 0x8 - -#define SIO_PM_BASE SIO_PM_START -#define SIO_PM_MSB (SIO_PM_BASE>>8) -#define SIO_PM_LSB (SIO_PM_BASE&0xff) -#define SIO_PM_INDEX (SIO_PM_BASE+0) -#define SIO_PM_DATA (SIO_PM_BASE+1) - -#define SIO_PM_FER2 0x1 - -#define SIO_PM_GP_EN 0x80 - -static void __init visws_get_board_type_and_rev(void) -{ - int raw; - - visws_board_type = (char)(inb_p(PIIX_GPI_BD_REG) & PIIX_GPI_BD_REG) - >> PIIX_GPI_BD_SHIFT; -/* - * Get Board rev. - * First, we have to initialize the 307 part to allow us access - * to the GPIO registers. Let's map them at 0x0fc0 which is right - * after the PIIX4 PM section. - */ - outb_p(SIO_DEV_SEL, SIO_INDEX); - outb_p(SIO_GP_DEV, SIO_DATA); /* Talk to GPIO regs. */ - - outb_p(SIO_DEV_MSB, SIO_INDEX); - outb_p(SIO_GP_MSB, SIO_DATA); /* MSB of GPIO base address */ - - outb_p(SIO_DEV_LSB, SIO_INDEX); - outb_p(SIO_GP_LSB, SIO_DATA); /* LSB of GPIO base address */ - - outb_p(SIO_DEV_ENB, SIO_INDEX); - outb_p(1, SIO_DATA); /* Enable GPIO registers. */ - -/* - * Now, we have to map the power management section to write - * a bit which enables access to the GPIO registers. - * What lunatic came up with this shit? - */ - outb_p(SIO_DEV_SEL, SIO_INDEX); - outb_p(SIO_PM_DEV, SIO_DATA); /* Talk to GPIO regs. */ - - outb_p(SIO_DEV_MSB, SIO_INDEX); - outb_p(SIO_PM_MSB, SIO_DATA); /* MSB of PM base address */ - - outb_p(SIO_DEV_LSB, SIO_INDEX); - outb_p(SIO_PM_LSB, SIO_DATA); /* LSB of PM base address */ - - outb_p(SIO_DEV_ENB, SIO_INDEX); - outb_p(1, SIO_DATA); /* Enable PM registers. */ - -/* - * Now, write the PM register which enables the GPIO registers. - */ - outb_p(SIO_PM_FER2, SIO_PM_INDEX); - outb_p(SIO_PM_GP_EN, SIO_PM_DATA); - -/* - * Now, initialize the GPIO registers. - * We want them all to be inputs which is the - * power on default, so let's leave them alone. - * So, let's just read the board rev! - */ - raw = inb_p(SIO_GP_DATA1); - raw &= 0x7f; /* 7 bits of valid board revision ID. */ - if (visws_board_type == VISWS_320) { - if (raw < 0x6) { - visws_board_rev = 4; - } else if (raw < 0xc) { - visws_board_rev = 5; - } else { - visws_board_rev = 6; - - } - } else if (visws_board_type == VISWS_540) { - visws_board_rev = 2; - } else { - visws_board_rev = raw; - } - - printk(KERN_INFO "Silicon Graphics %s (rev %d)\n", - visws_board_type == VISWS_320 ? "320" : - (visws_board_type == VISWS_540 ? "540" : - "unknown"), - visws_board_rev); - } -#endif - - static char command_line[COMMAND_LINE_SIZE]; char saved_command_line[COMMAND_LINE_SIZE]; @@ -868,6 +744,7 @@ printk(KERN_WARNING "Use a PAE enabled kernel.\n"); else printk(KERN_WARNING "Use a HIGHMEM enabled kernel.\n"); + max_pfn = MAXMEM_PFN; #else /* !CONFIG_HIGHMEM */ #ifndef CONFIG_X86_PAE if (max_pfn > MAX_NONPAE_PFN) { @@ -1277,9 +1154,24 @@ } break; - case 6: /* An Athlon/Duron. We can trust the BIOS probably */ - mcheck_init(c); - break; + case 6: /* An Athlon/Duron */ + + /* Bit 15 of Athlon specific MSR 15, needs to be 0 + * to enable SSE on Palomino/Morgan CPU's. + * If the BIOS didn't enable it already, enable it + * here. + */ + if (c->x86_model == 6 || c->x86_model == 7) { + if (!test_bit(X86_FEATURE_XMM, &c->x86_capability)) { + printk(KERN_INFO "Enabling disabled K7/SSE Support.\n"); + rdmsr(MSR_K7_HWCR, l, h); + l &= ~0x00008000; + wrmsr(MSR_K7_HWCR, l, h); + set_bit(X86_FEATURE_XMM, &c->x86_capability); + } + } + break; + } display_cacheinfo(c); @@ -1906,7 +1798,6 @@ c->x86_cache_size = (cc>>24)+(dd>>24); } sprintf( c->x86_model_id, "WinChip %s", name ); - mcheck_init(c); break; case 6: @@ -2190,9 +2081,56 @@ if ( p ) strcpy(c->x86_model_id, p); + +#ifdef CONFIG_SMP + if (test_bit(X86_FEATURE_HT, &c->x86_capability)) { + extern int phys_proc_id[NR_CPUS]; + + u32 eax, ebx, ecx, edx; + int index_lsb, index_msb, tmp; + int initial_apic_id; + int cpu = smp_processor_id(); - /* Enable MCA if available */ - mcheck_init(c); + cpuid(1, &eax, &ebx, &ecx, &edx); + smp_num_siblings = (ebx & 0xff0000) >> 16; + + if (smp_num_siblings == 1) { + printk(KERN_INFO "CPU: Hyper-Threading is disabled\n"); + } else if (smp_num_siblings > 1 ) { + index_lsb = 0; + index_msb = 31; + /* + * At this point we only support two siblings per + * processor package. + */ +#define NR_SIBLINGS 2 + if (smp_num_siblings != NR_SIBLINGS) { + printk(KERN_WARNING "CPU: Unsupported number of the siblings %d", smp_num_siblings); + smp_num_siblings = 1; + goto too_many_siblings; + } + tmp = smp_num_siblings; + while ((tmp & 1) == 0) { + tmp >>=1 ; + index_lsb++; + } + tmp = smp_num_siblings; + while ((tmp & 0x80000000 ) == 0) { + tmp <<=1 ; + index_msb--; + } + if (index_lsb != index_msb ) + index_msb++; + initial_apic_id = ebx >> 24 & 0xff; + phys_proc_id[cpu] = initial_apic_id >> index_msb; + + printk(KERN_INFO "CPU: Physical Processor ID: %d\n", + phys_proc_id[cpu]); + } + + } +too_many_siblings: +#endif } void __init get_cpu_vendor(struct cpuinfo_x86 *c) @@ -2572,7 +2510,7 @@ init_rise(c); break; } - + printk(KERN_DEBUG "CPU: After vendor init, caps: %08x %08x %08x %08x\n", c->x86_capability[0], c->x86_capability[1], @@ -2599,6 +2537,9 @@ /* Disable the PN if appropriate */ squash_the_stupid_serial_number(c); + /* Init Machine Check Exception if available. */ + mcheck_init(c); + /* If the model name is still unset, do table lookup. */ if ( !c->x86_model_id[0] ) { char *p; @@ -2696,7 +2637,7 @@ "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov", "pat", "pse36", "pn", "clflush", NULL, "dts", "acpi", "mmx", - "fxsr", "sse", "sse2", "ss", NULL, "tm", "ia64", NULL, + "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", NULL, /* AMD-defined */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
From: James S. <jsi...@us...> - 2002-01-20 03:54:49
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/m68k In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/m68k Modified Files: config.in Log Message: Synced to 2.5.X. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/m68k/config.in,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- config.in 2001/07/08 00:41:51 1.12 +++ config.in 2002/01/20 03:54:45 1.13 @@ -165,8 +165,6 @@ source net/Config.in fi -source drivers/input/Config.in - mainmenu_option next_comment comment 'ATA/IDE/MFM/RLL support' @@ -357,6 +355,8 @@ fi +source drivers/input/Config.in + mainmenu_option next_comment comment 'Character devices' @@ -377,7 +377,7 @@ fi if [ "$CONFIG_VME" = "n" -a "$CONFIG_INPUT" = "y" ]; then - bool 'Virtual terminal' CONFIG_VT + define_bool CONFIG_VT y if [ "$CONFIG_VT" = "y" ]; then bool 'Support for console on virtual terminal' CONFIG_VT_CONSOLE fi @@ -436,13 +436,10 @@ define_bool CONFIG_SUN3X_ZS n fi if [ "$CONFIG_SUN3X_ZS" = "y" ]; then - define_bool CONFIG_INPUT_SUNKBD y define_bool CONFIG_SBUS y define_bool CONFIG_SBUSCHAR y define_bool CONFIG_SUN_SERIAL y else - define_bool CONFIG_INPUT_SUNKBD n - define_bool CONFIG_SUN_MOUSE n define_bool CONFIG_SBUS n fi @@ -517,3 +514,5 @@ #bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ endmenu + +source lib/Config.in |
From: James S. <jsi...@us...> - 2002-01-20 03:54:48
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ia64 In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/ia64 Modified Files: config.in Log Message: Synced to 2.5.X. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ia64/config.in,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- config.in 2001/12/26 17:28:11 1.17 +++ config.in 2002/01/20 03:54:45 1.18 @@ -223,6 +223,8 @@ source drivers/media/Config.in source drivers/video/Config.in +source lib/Config.in + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then source net/bluetooth/Config.in fi |
From: James S. <jsi...@us...> - 2002-01-20 03:54:48
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386/mm In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/i386/mm Modified Files: fault.c Log Message: Synced to 2.5.X. Index: fault.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/mm/fault.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- fault.c 2001/10/15 01:13:17 1.6 +++ fault.c 2002/01/20 03:54:45 1.7 @@ -85,8 +85,7 @@ out_of_memory: if (current->pid == 1) { - current->policy |= SCHED_YIELD; - schedule(); + yield(); goto survive; } goto bad_area; @@ -303,8 +302,7 @@ out_of_memory: up_read(&mm->mmap_sem); if (tsk->pid == 1) { - tsk->policy |= SCHED_YIELD; - schedule(); + yield(); down_read(&mm->mmap_sem); goto survive; } |
From: James S. <jsi...@us...> - 2002-01-20 03:54:48
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/cris In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/cris Modified Files: config.in Log Message: Synced to 2.5.X. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/cris/config.in,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- config.in 2001/10/29 00:10:57 1.6 +++ config.in 2002/01/20 03:54:44 1.7 @@ -222,7 +222,7 @@ # # input before char - char/joystick depends on it. As does USB. # -source drivers/usb/Config.in +source drivers/usb/config.in source drivers/input/Config.in source drivers/char/Config.in @@ -239,6 +239,7 @@ fi endmenu +source drivers/usb/Config.in source drivers/media/Config.in mainmenu_option next_comment @@ -250,3 +251,5 @@ int ' Profile shift count' CONFIG_PROFILE_SHIFT 2 fi endmenu + +source lib/Config.in |
From: James S. <jsi...@us...> - 2002-01-20 03:54:48
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/arm/kernel Modified Files: setup.c traps.c Log Message: Synced to 2.5.X. Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/setup.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- setup.c 2001/11/23 04:10:15 1.6 +++ setup.c 2002/01/20 03:54:44 1.7 @@ -16,6 +16,7 @@ #include <linux/blk.h> #include <linux/bootmem.h> #include <linux/seq_file.h> +#include <linux/tty.h> #include <linux/init.h> #include <asm/elf.h> @@ -103,6 +104,109 @@ #define lp1 io_res[1] #define lp2 io_res[2] +#ifdef CONFIG_CPU_32 +static const char *cache_types[16] = { + "write-through", + "write-back", + "write-back", + "undefined 3", + "undefined 4", + "undefined 5", + "write-back", + "write-back", + "undefined 8", + "undefined 9", + "undefined 10", + "undefined 11", + "undefined 12", + "undefined 13", + "undefined 14", + "undefined 15", +}; + +static const char *cache_clean[16] = { + "not required", + "read-block", + "cp15 c7 ops", + "undefined 3", + "undefined 4", + "undefined 5", + "cp15 c7 ops", + "cp15 c7 ops", + "undefined 8", + "undefined 9", + "undefined 10", + "undefined 11", + "undefined 12", + "undefined 13", + "undefined 14", + "undefined 15", +}; + +static const char *cache_lockdown[16] = { + "not supported", + "not supported", + "not supported", + "undefined 3", + "undefined 4", + "undefined 5", + "format A", + "format B", + "undefined 8", + "undefined 9", + "undefined 10", + "undefined 11", + "undefined 12", + "undefined 13", + "undefined 14", + "undefined 15", +}; + +#define CACHE_TYPE(x) (((x) >> 25) & 15) +#define CACHE_S(x) ((x) & (1 << 24)) +#define CACHE_DSIZE(x) (((x) >> 12) & 4095) /* only if S=1 */ +#define CACHE_ISIZE(x) ((x) & 4095) + +#define CACHE_SIZE(y) (((y) >> 6) & 7) +#define CACHE_ASSOC(y) (((y) >> 3) & 7) +#define CACHE_M(y) ((y) & (1 << 2)) +#define CACHE_LINE(y) ((y) & 3) + +static inline void dump_cache(const char *prefix, unsigned int cache) +{ + unsigned int mult = 2 + CACHE_M(cache) ? 1 : 0; + + printk("%s size %dK associativity %d line length %d sets %d\n", + prefix, + mult << (8 + CACHE_SIZE(cache)), + (mult << CACHE_ASSOC(cache)) >> 1, + 8 << CACHE_LINE(cache), + 1 << (6 + CACHE_SIZE(cache) - CACHE_ASSOC(cache) - + CACHE_LINE(cache))); +} + +static inline void dump_cpu_cache_id(void) +{ + unsigned int cache_info; + + asm("mrc p15, 0, %0, c0, c0, 1" : "=r" (cache_info)); + + if (cache_info == processor_id) + return; + + printk("CPU: D %s cache\n", cache_types[CACHE_TYPE(cache_info)]); + if (CACHE_S(cache_info)) { + dump_cache("CPU: I cache", CACHE_ISIZE(cache_info)); + dump_cache("CPU: D cache", CACHE_DSIZE(cache_info)); + } else { + dump_cache("CPU: cache", CACHE_ISIZE(cache_info)); + } +} + +#else +#define dump_cpu_cache_id() do { } while (0) +#endif + static void __init setup_processor(void) { extern struct proc_info_list __proc_info_begin, __proc_info_end; @@ -137,6 +241,8 @@ proc_info.manufacturer, proc_info.cpu_name, (int)processor_id & 15); + dump_cpu_cache_id(); + sprintf(system_utsname.machine, "%s%c", list->arch_name, ENDIANNESS); sprintf(elf_platform, "%s%c", list->elf_name, ENDIANNESS); elf_hwcap = list->elf_hwcap; @@ -144,7 +250,7 @@ cpu_proc_init(); } -static struct machine_desc * __init setup_architecture(unsigned int nr) +static struct machine_desc * __init setup_machine(unsigned int nr) { extern struct machine_desc __arch_info_begin, __arch_info_end; struct machine_desc *list; @@ -166,7 +272,7 @@ while (1); } - printk("Architecture: %s\n", list->name); + printk("Machine: %s\n", list->name); if (compat) printk(KERN_WARNING "Using compatibility code " "scheduled for removal in v%d.%d.%d\n", @@ -229,7 +335,7 @@ setup_ramdisk(int doload, int prompt, int image_start, unsigned int rd_sz) { #ifdef CONFIG_BLK_DEV_RAM - extern int rd_size; + extern int rd_size, rd_image_start, rd_prompt, rd_doload; rd_image_start = image_start; rd_prompt = prompt; @@ -456,10 +562,10 @@ struct machine_desc *mdesc; char *from = default_command_line; - ROOT_DEV = MKDEV(0, 255); + ROOT_DEV = mk_kdev(0, 255); setup_processor(); - mdesc = setup_architecture(machine_arch_type); + mdesc = setup_machine(machine_arch_type); machine_name = mdesc->name; if (mdesc->soft_reboot) @@ -523,6 +629,41 @@ NULL }; +static const char *proc_arch[16] = { + "undefined 0", + "4", + "4T", + "5", + "5T", + "5TE", + "undefined 6", + "undefined 7", + "undefined 8", + "undefined 9", + "undefined 10", + "undefined 11", + "undefined 12", + "undefined 13", + "undefined 14", + "undefined 15" +}; + +static void +c_show_cache(struct seq_file *m, const char *type, unsigned int cache) +{ + unsigned int mult = 2 + CACHE_M(cache) ? 1 : 0; + + seq_printf(m, "%s size\t\t: %d\n" + "%s assoc\t\t: %d\n" + "%s line length\t: %d\n" + "%s sets\t\t: %d\n", + type, mult << (8 + CACHE_SIZE(cache)), + type, (mult << CACHE_ASSOC(cache)) >> 1, + type, 8 << CACHE_LINE(cache), + type, 1 << (6 + CACHE_SIZE(cache) - CACHE_ASSOC(cache) - + CACHE_LINE(cache))); +} + static int c_show(struct seq_file *m, void *v) { int i; @@ -542,7 +683,60 @@ if (elf_hwcap & (1 << i)) seq_printf(m, "%s ", hwcap_str[i]); - seq_puts(m, "\n\n"); + seq_puts(m, "\n"); + + if ((processor_id & 0x0000f000) == 0x00000000) { + /* pre-ARM7 */ + seq_printf(m, "CPU part\t\t: %07x\n", processor_id >> 4); + } else if ((processor_id & 0x0000f000) == 0x00007000) { + /* ARM7 */ + seq_printf(m, "CPU implementor\t: 0x%02x\n" + "CPU architecture: %s\n" + "CPU variant\t: 0x%02x\n" + "CPU part\t: 0x%03x\n", + processor_id >> 24, + processor_id & (1 << 23) ? "4T" : "3", + (processor_id >> 16) & 127, + (processor_id >> 4) & 0xfff); + } else { + /* post-ARM7 */ + seq_printf(m, "CPU implementor\t: 0x%02x\n" + "CPU architecture: %s\n" + "CPU variant\t: 0x%x\n" + "CPU part\t: 0x%03x\n", + processor_id >> 24, + proc_arch[(processor_id >> 16) & 15], + (processor_id >> 20) & 15, + (processor_id >> 4) & 0xfff); + } + seq_printf(m, "CPU revision\t: %d\n", processor_id & 15); + +#ifdef CONFIG_CPU_32 + { + unsigned int cache_info; + + asm("mrc p15, 0, %0, c0, c0, 1" : "=r" (cache_info)); + if (cache_info != processor_id) { + seq_printf(m, "Cache type\t: %s\n" + "Cache clean\t: %s\n" + "Cache lockdown\t: %s\n" + "Cache unified\t: %s\n", + 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"); + + if (CACHE_S(cache_info)) { + c_show_cache(m, "I", CACHE_ISIZE(cache_info)); + c_show_cache(m, "D", CACHE_DSIZE(cache_info)); + } else { + c_show_cache(m, "Cache", CACHE_ISIZE(cache_info)); + } + } + } +#endif + + seq_puts(m, "\n"); seq_printf(m, "Hardware\t: %s\n", machine_name); seq_printf(m, "Revision\t: %04x\n", system_rev); Index: traps.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/traps.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- traps.c 2001/11/02 00:57:43 1.2 +++ traps.c 2002/01/20 03:54:44 1.3 @@ -53,7 +53,7 @@ */ static int verify_stack(unsigned long sp) { - if (sp < PAGE_OFFSET || sp > (unsigned long)high_memory) + if (sp < PAGE_OFFSET || (sp > (unsigned long)high_memory && high_memory != 0)) return -EFAULT; return 0; @@ -62,13 +62,16 @@ /* * Dump out the contents of some memory nicely... */ -void dump_mem(unsigned long bottom, unsigned long top) +static void dump_mem(const char *str, unsigned long bottom, unsigned long top) { unsigned long p = bottom & ~31; int i; + printk("%s", str); + printk("(0x%08lx to 0x%08lx)\n", bottom, top); + for (p = bottom & ~31; p < top;) { - printk("%08lx: ", p); + printk("%04lx: ", p & 0xffff); for (i = 0; i < 8; i++, p += 4) { unsigned int val; @@ -79,21 +82,11 @@ __get_user(val, (unsigned long *)p); printk("%08x ", val); } - if (i == 3) - printk(" "); } printk ("\n"); } } -/* - * These constants are for searching for possible module text - * segments. VMALLOC_OFFSET comes from mm/vmalloc.c; MODULE_RANGE is - * a guess of how much space is likely to be vmalloced. - */ -#define VMALLOC_OFFSET (8*1024*1024) -#define MODULE_RANGE (8*1024*1024) - static void dump_instr(struct pt_regs *regs) { unsigned long addr = instruction_pointer(regs); @@ -122,8 +115,7 @@ static void dump_stack(struct task_struct *tsk, unsigned long sp) { - printk("Stack:\n"); - dump_mem(sp - 16, 8192+(unsigned long)tsk); + dump_mem("Stack: ", sp - 16, 8192+(unsigned long)tsk); } static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk) @@ -289,10 +281,9 @@ handler[reason], processor_modes[proc_mode]); /* - * We need to switch to kernel mode so that we can - * use __get_user to safely read from kernel space. - * Note that we now dump the code first, just in case - * the backtrace kills us. + * We need to switch to kernel mode so that we can use __get_user + * to safely read from kernel space. Note that we now dump the + * code first, just in case the backtrace kills us. */ fs = get_fs(); set_fs(KERNEL_DS); @@ -301,10 +292,8 @@ * Dump out the vectors and stub routines. Maybe a better solution * would be to dump them out only if we detect that they are corrupted. */ - printk(KERN_CRIT "Vectors:\n"); - dump_mem(vectors, 0x40); - printk(KERN_CRIT "Stubs:\n"); - dump_mem(vectors + 0x200, 0x4b8); + dump_mem(KERN_CRIT "Vectors: ", vectors, vectors + 0x40); + dump_mem(KERN_CRIT "Stubs: ", vectors + 0x200, vectors + 0x4b8); set_fs(fs); @@ -529,11 +518,6 @@ void abort(void) { - void *lr = __builtin_return_address(0); - - printk(KERN_CRIT "abort() called from %p! (Please " - "report to rm...@ar...)\n", lr); - BUG(); /* if that doesn't kill us, halt */ |
From: James S. <jsi...@us...> - 2002-01-20 03:54:47
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/arm Modified Files: config.in Log Message: Synced to 2.5.X. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/config.in,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- config.in 2001/11/23 04:10:15 1.20 +++ config.in 2002/01/20 03:54:44 1.21 @@ -33,7 +33,8 @@ comment 'System Type' choice 'ARM system type' \ - "Anakin CONFIG_ARCH_ANAKIN \ + "ADIFCC-based CONFIG_ARCH_ADIFCC \ + Anakin CONFIG_ARCH_ANAKIN \ Archimedes/A5000 CONFIG_ARCH_ARCA5K \ Cirrus-CL-PS7500FE CONFIG_ARCH_CLPS7500 \ CLPS711x/EP721x-based CONFIG_ARCH_CLPS711X \ @@ -42,6 +43,7 @@ Epxa10db CONFIG_ARCH_CAMELOT \ FootBridge CONFIG_ARCH_FOOTBRIDGE \ Integrator CONFIG_ARCH_INTEGRATOR \ + IOP310-based CONFIG_ARCH_IOP310 \ LinkUp-L7200 CONFIG_ARCH_L7200 \ RiscPC CONFIG_ARCH_RPC \ SA1100-based CONFIG_ARCH_SA1100 \ @@ -85,7 +87,14 @@ 32MB CONFIG_SA1100_CERF_FLASH_32MB" CerfFlash bool 'Cerf w/CPLD support (CerfPDA)' CONFIG_SA1100_CERF_CPLD fi -dep_bool ' Compaq iPAQ H3600' CONFIG_SA1100_H3600 $CONFIG_ARCH_SA1100 +dep_bool ' Compaq iPAQ H3100' CONFIG_SA1100_H3100 $CONFIG_ARCH_SA1100 +dep_bool ' Compaq iPAQ H3600/H3700' CONFIG_SA1100_H3600 $CONFIG_ARCH_SA1100 +dep_bool ' Compaq iPAQ H3800' CONFIG_SA1100_H3800 $CONFIG_ARCH_SA1100 +if [ "$CONFIG_SA1100_H3100" = "y" -o "$CONFIG_SA1100_H3600" = "y" -o "$CONFIG_SA1100_H3800" = "y" ]; then + define_bool CONFIG_SA1100_H3XXX y +else + define_bool CONFIG_SA1100_H3XXX n +fi #dep_bool ' Empeg' CONFIG_SA1100_EMPEG $CONFIG_ARCH_SA1100 dep_bool ' Extenex HandHeld Theater (Squashtail)' CONFIG_SA1100_EXTENEX1 $CONFIG_ARCH_SA1100 if [ "$CONFIG_SA1100_EXTENEX1" = "y" ]; then @@ -103,6 +112,8 @@ dep_bool ' OmniMeter' CONFIG_SA1100_OMNIMETER $CONFIG_ARCH_SA1100 dep_bool ' Pangolin' CONFIG_SA1100_PANGOLIN $CONFIG_ARCH_SA1100 dep_bool ' PLEB' CONFIG_SA1100_PLEB $CONFIG_ARCH_SA1100 +dep_bool ' PT System 3' CONFIG_SA1100_PT_SYSTEM3 $CONFIG_ARCH_SA1100 +dep_bool ' Shannon' CONFIG_SA1100_SHANNON $CONFIG_ARCH_SA1100 dep_bool ' Sherman' CONFIG_SA1100_SHERMAN $CONFIG_ARCH_SA1100 dep_bool ' Simpad' CONFIG_SA1100_SIMPAD $CONFIG_ARCH_SA1100 dep_bool ' Tulsa' CONFIG_SA1100_PFS168 $CONFIG_ARCH_SA1100 @@ -116,6 +127,7 @@ "$CONFIG_SA1100_PFS168" = "y" -o \ "$CONFIG_SA1100_XP860" = "y" -o \ "$CONFIG_SA1100_GRAPHICSMASTER" = "y" -o \ + "$CONFIG_SA1100_PT_SYSTEM3" = "y" -o \ "$CONFIG_SA1100_ADSBITSY" = "y" ]; then define_bool CONFIG_SA1111 y define_int CONFIG_FORCE_MAX_ZONEORDER 9 @@ -124,6 +136,8 @@ dep_tristate 'SA1100 USB function support' CONFIG_SA1100_USB $CONFIG_ARCH_SA1100 dep_tristate ' Support for SA11x0 USB network link function' CONFIG_SA1100_USB_NETLINK $CONFIG_SA1100_USB dep_tristate ' Support for SA11x0 USB character device emulation' CONFIG_SA1100_USB_CHAR $CONFIG_SA1100_USB + +dep_tristate 'Compaq iPAQ Handheld sleeve support' CONFIG_H3600_SLEEVE $CONFIG_SA1100_H3600 endmenu mainmenu_option next_comment @@ -153,6 +167,19 @@ fi endmenu +if [ "$CONFIG_ARCH_IOP310" = "y" ]; then + mainmenu_option next_comment + comment 'IOP310 Implementation Options' + choice 'IOP310 System Type' \ + "IQ80310 CONFIG_ARCH_IQ80310" IQ80310 + comment 'IOP310 Chipset Features' + bool 'Support Intel 80312 Application Accelerator Unit (EXPERIMENTAL)' CONFIG_IOP310_AAU + bool 'Support Intel 80312 DMA (EXPERIMENTAL)' CONFIG_IOP310_DMA + bool 'Support Intel 80312 Messaging Unit (EXPERIMENTAL)' CONFIG_IOP310_MU + bool 'Support Intel 80312 Performance Monitor (EXPERIMENTAL)' CONFIG_IOP310_PMON + endmenu +fi + # Definitions to make life easier if [ "$CONFIG_ARCH_ARCA5K" = "y" -o \ "$CONFIG_ARCH_RPC" = "y" ]; then @@ -200,6 +227,8 @@ comment 'Processor Type' # Firstly, figure out what processor architecture version we should be using. +# This depends more on the machine type than anything else. + if [ "$CONFIG_ARCH_RPC" = "y" -o "$CONFIG_ARCH_CLPS7500" = "y" ]; then define_bool CONFIG_CPU_32v3 y else @@ -338,6 +367,22 @@ define_bool CONFIG_CPU_SA1100 n fi +# XScale +if [ "$CONFIG_ARCH_IOP310" = "y" -o "$CONFIG_ARCH_ADIFCC" = "y" ]; then + define_bool CONFIG_CPU_32v5 y + define_bool CONFIG_CPU_XSCALE y +fi + +#if [ "$CONFIG_CPU_XSCALE" = "y" ]; then +# bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER +#fi + +if [ "$CONFIG_CPU_XSCALE" = "y" -a "$CONFIG_XSCALE_PMU_TIMER" != "y" ]; then + define_bool CONFIG_XSCALE_PMU y +else + define_bool CONFIG_XSCALE_PMU n +fi + if [ "$CONFIG_CPU_32" = "y" ]; then dep_bool 'Support Thumb instructions (experimental)' CONFIG_ARM_THUMB $CONFIG_EXPERIMENTAL fi @@ -358,7 +403,8 @@ # Now handle the bus types if [ "$CONFIG_ARCH_FTVPCI" = "y" -o \ "$CONFIG_ARCH_SHARK" = "y" -o \ - "$CONFIG_FOOTBRIDGE_HOST" = "y" ]; then + "$CONFIG_FOOTBRIDGE_HOST" = "y" -o \ + "$CONFIG_ARCH_IOP310" = "y" ]; then define_bool CONFIG_PCI y else if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then @@ -369,6 +415,20 @@ fi fi +# Select the host bridge type +if [ "$CONFIG_PCI" = "y" ]; then + if [ "$CONFIG_ARCH_FTVPCI" = "y" ]; then + define_bool CONFIG_PCI_HOST_PLX90X0 y + else + define_bool CONFIG_PCI_HOST_PLX90X0 n + fi + if [ "$CONFIG_ARCH_SHARK" = "y" ]; then + define_bool CONFIG_PCI_HOST_VIA82C505 y + else + define_bool CONFIG_PCI_HOST_VIA82C505 n + fi +fi + if [ "$CONFIG_FOOTBRIDGE_HOST" = "y" -o \ "$CONFIG_ARCH_SHARK" = "y" -o \ "$CONFIG_ARCH_CLPS7500" = "y" -o \ @@ -388,6 +448,13 @@ define_bool CONFIG_ISA_DMA n fi +if [ "$CONFIG_ARCH_ACORN" = "y" -o \ + "$CONFIG_ARCH_L7200" = "y" ]; then + define_bool CONFIG_FIQ y +else + define_bool CONFIG_FIQ n +fi + if [ "$CONFIG_ARCH_SA1100" = "y" -o \ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then dep_bool 'Support CPU clock change (EXPERIMENTAL)' CONFIG_CPU_FREQ $CONFIG_EXPERIMENTAL @@ -413,7 +480,8 @@ tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC -dep_bool 'Power Management support (experimental)' CONFIG_PM $CONFIG_EXPERIMENTAL +bool 'Power Management support' CONFIG_PM +dep_tristate 'Advanced Power Management Emulation' CONFIG_APM $CONFIG_PM dep_tristate 'RISC OS personality' CONFIG_ARTHUR $CONFIG_CPU_32 if [ "$CONFIG_ARCH_EBSA110" = "y" -o \ @@ -424,7 +492,9 @@ "$CONFIG_ARCH_P720T" = "y" -o \ "$CONFIG_ARCH_CDB89712" = "y" -o \ "$CONFIG_ARCH_CAMELOT" = "y" -o \ - "$CONFIG_ARCH_ANAKIN" = "y" ]; then + "$CONFIG_ARCH_ANAKIN" = "y" -o \ + "$CONFIG_ARCH_IOP310" = "y" -o \ + "$CONFIG_ARCH_ADIFCC" = "y" ]; then string 'Default kernel command string' CONFIG_CMDLINE "" fi if [ "$CONFIG_ARCH_NETWINDER" = "y" -o \ @@ -454,8 +524,16 @@ define_bool CONFIG_LEDS_TIMER y fi fi -if [ "$CONFIG_CPU_32" = "y" -a "$CONFIG_ARCH_EBSA110" != "y" ]; then - bool 'Kernel-mode alignment trap handler' CONFIG_ALIGNMENT_TRAP + +if [ "$CONFIG_ARCH_SA1100" = "y" ]; then + define_bool CONFIG_ALIGNMENT_TRAP y +else + if [ "$CONFIG_CPU_32" = "y" -a \ + "$CONFIG_ARCH_EBSA110" != "y" ]; then + bool 'Mis-alignment trap handler' CONFIG_ALIGNMENT_TRAP + else + define_bool CONFIG_ALIGNMENT_TRAP n + fi fi endmenu @@ -537,8 +615,6 @@ source drivers/usb/Config.in source drivers/input/Config.in -source drivers/char/Config.in - source fs/Config.in if [ "$CONFIG_ARCH_ACORN" = "y" -o \ @@ -558,7 +634,6 @@ fi source drivers/misc/Config.in - source drivers/media/Config.in source drivers/video/Config.in @@ -580,10 +655,14 @@ dep_bool ' Debug memory allocations' CONFIG_DEBUG_SLAB $CONFIG_DEBUG_KERNEL dep_bool ' Magic SysRq key' CONFIG_MAGIC_SYSRQ $CONFIG_DEBUG_KERNEL dep_bool ' Spinlock debugging' CONFIG_DEBUG_SPINLOCK $CONFIG_DEBUG_KERNEL +dep_bool ' Wait queue debugging' CONFIG_DEBUG_WAITQ $CONFIG_DEBUG_KERNEL dep_bool ' Verbose BUG() reporting (adds 70K)' CONFIG_DEBUG_BUGVERBOSE $CONFIG_DEBUG_KERNEL dep_bool ' Verbose kernel error messages' CONFIG_DEBUG_ERRORS $CONFIG_DEBUG_KERNEL # These options are only for real kernel hackers who want to get their hands dirty. dep_bool ' Kernel low-level debugging functions' CONFIG_DEBUG_LL $CONFIG_DEBUG_KERNEL dep_bool ' Kernel low-level debugging messages via footbridge serial port' CONFIG_DEBUG_DC21285_PORT $CONFIG_DEBUG_LL $CONFIG_FOOTBRIDGE -dep_bool ' kernel low-level debugging messages via UART2' CONFIG_DEBUG_CLPS711X_UART2 $CONFIG_DEBUG_LL $CONFIG_ARCH_CLPS711X +dep_bool ' Kernel low-level debugging messages via UART2' CONFIG_DEBUG_CLPS711X_UART2 $CONFIG_DEBUG_LL $CONFIG_ARCH_CLPS711X +dep_bool ' Kernel low-level debugging messages via SA1100 Ser3 (otherwise Ser1)' CONFIG_DEBUG_LL_SER3 $CONFIG_DEBUG_LL $CONFIG_ARCH_SA1100 endmenu + +source lib/Config.in |
From: James S. <jsi...@us...> - 2002-01-20 03:54:47
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook In directory usw-pr-cvs1:/tmp/cvs-serv23561/Documentation/DocBook Modified Files: Makefile kernel-api.tmpl Log Message: Synced to 2.5.X. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile 2001/12/26 21:08:32 1.7 +++ Makefile 2002/01/20 03:54:44 1.8 @@ -98,6 +98,7 @@ $(TOPDIR)/drivers/sound/sound_firmware.c \ $(TOPDIR)/drivers/net/wan/syncppp.c \ $(TOPDIR)/drivers/net/wan/z85230.c \ + $(TOPDIR)/drivers/usb/hcd.c \ $(TOPDIR)/drivers/usb/usb.c \ $(TOPDIR)/drivers/video/fbmem.c \ $(TOPDIR)/drivers/video/fbcmap.c \ Index: kernel-api.tmpl =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/kernel-api.tmpl,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- kernel-api.tmpl 2001/12/26 21:08:32 1.4 +++ kernel-api.tmpl 2002/01/20 03:54:44 1.5 @@ -281,6 +281,14 @@ !Edrivers/usb/usb.c </sect1> + <sect1><title>Host Controller APIs</title> + <para>These APIs are only for use by host controller drivers, + most of which implement standard register interfaces such as + EHCI, OHCI, or UHCI. + </para> +!Edrivers/usb/hcd.c + </sect1> + </chapter> <chapter id="uart16x50"> |
From: James S. <jsi...@us...> - 2002-01-20 03:54:47
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/alpha In directory usw-pr-cvs1:/tmp/cvs-serv23561/arch/alpha Modified Files: config.in Log Message: Synced to 2.5.X. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/alpha/config.in,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- config.in 2001/12/26 17:28:10 1.22 +++ config.in 2002/01/20 03:54:44 1.23 @@ -376,3 +376,5 @@ fi endmenu + +source lib/Config.in |
From: James S. <jsi...@us...> - 2002-01-20 03:54:47
|
Update of /cvsroot/linuxconsole/ruby/linux In directory usw-pr-cvs1:/tmp/cvs-serv23561 Modified Files: Makefile Log Message: Synced to 2.5.X. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- Makefile 2001/12/26 21:08:32 1.43 +++ Makefile 2002/01/20 03:54:44 1.44 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 1 +SUBLEVEL = 2 EXTRAVERSION = -ruby KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -122,7 +122,7 @@ NETWORKS =net/network.o LIBS =$(TOPDIR)/lib/lib.a -SUBDIRS =kernel drivers mm fs net ipc lib +SUBDIRS =kernel lib drivers mm fs net ipc DRIVERS-n := DRIVERS-y := @@ -264,9 +264,9 @@ $(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o init/do_mounts.o \ --start-group \ $(CORE_FILES) \ + $(LIBS) \ $(DRIVERS) \ $(NETWORKS) \ - $(LIBS) \ --end-group \ -o vmlinux $(NM) vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map |
From: James S. <jsi...@us...> - 2002-01-19 23:53:46
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv13933 Modified Files: i8042.h Log Message: Made IO space address and IRQ configurable. Index: i8042.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/i8042.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- i8042.h 2001/10/05 22:48:09 1.6 +++ i8042.h 2002/01/19 23:53:43 1.7 @@ -44,7 +44,7 @@ * On most PC based systems the keyboard IRQ is 1. */ -#define I8042_KBD_IRQ 1 +#define I8042_KBD_IRQ CONFIG_I8042_KBD_IRQ /* * On most PC based systems the aux port IRQ is 12. There are exceptions, @@ -52,11 +52,7 @@ * the device attached to the port. */ -#if defined(__alpha__) && !defined(CONFIG_PCI) -#define I8042_AUX_IRQ 9 /* This is for Jensen Alpha */ -#else -#define I8042_AUX_IRQ 12 /* This is for everyone else */ -#endif +#define I8042_AUX_IRQ CONFIG_I8042_AUX_IRQ /* * The speed of the i8042's varies. This timeout equals 100 ms on a system @@ -70,9 +66,9 @@ * Register numbers. */ -#define I8042_COMMAND_REG 0x64 -#define I8042_STATUS_REG 0x64 -#define I8042_DATA_REG 0x60 +#define I8042_COMMAND_REG CONFIG_I8042_REG_BASE + 4 +#define I8042_STATUS_REG CONFIG_I8042_REG_BASE + 4 +#define I8042_DATA_REG CONFIG_I8042_REG_BASE /* * Status register bits. |
From: James S. <jsi...@us...> - 2002-01-19 23:52:40
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video/tdfx In directory usw-pr-cvs1:/tmp/cvs-serv13694 Modified Files: 3dfxfb.c Log Message: Added proper pixclock handling. Index: 3dfxfb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/tdfx/3dfxfb.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- 3dfxfb.c 2002/01/08 21:51:36 1.17 +++ 3dfxfb.c 2002/01/19 23:52:37 1.18 @@ -579,7 +579,26 @@ memset(®, 0, sizeof(reg)); cpp = (info->var.bits_per_pixel + 7)/8; - + + reg.vidcfg = VIDCFG_VIDPROC_ENABLE | VIDCFG_DESK_ENABLE | VIDCFG_CURS_X11 | + ((cpp - 1) << VIDCFG_PIXFMT_SHIFT) | + (cpp != 1 ? VIDCFG_CLUT_BYPASS : 0); + + /* PLL settings */ + freq = PICOS2KHZ(info->var.pixclock); + + reg.dacmode = 0; + reg.vidcfg &= ~VIDCFG_2X; + + if (freq > par->max_pixclock/2) { + freq = freq > par->max_pixclock ? par->max_pixclock : freq; + reg.dacmode |= DACMODE_2X; + reg.vidcfg |= VIDCFG_2X; + par->hdispend >>= 1; + par->hsyncsta >>= 1; + par->hsyncend >>= 1; + par->htotal >>= 1; + } wd = (info->var.xres >> 3) - 1; hd = (info->var.xres >> 3) - 1; @@ -646,9 +665,7 @@ reg.crt[0x02] = hbs; reg.crt[0x03] = 0x80 | (hbe & 0x1f); reg.crt[0x04] = hs; - reg.crt[0x05] = - ((hbe & 0x20) << 2) | - (he & 0x1f); + reg.crt[0x05] = ((hbe & 0x20) << 2) | (he & 0x1f); reg.crt[0x06] = vt; reg.crt[0x07] = ((vs & 0x200) >> 2) | @@ -660,9 +677,7 @@ ((vd & 0x100) >> 7) | ((vt & 0x100) >> 8); reg.crt[0x08] = 0x00; - reg.crt[0x09] = - 0x40 | - ((vbs & 0x200) >> 4); + reg.crt[0x09] = 0x40 | ((vbs & 0x200) >> 4); reg.crt[0x0a] = 0x00; reg.crt[0x0b] = 0x00; reg.crt[0x0c] = 0x00; @@ -670,9 +685,7 @@ reg.crt[0x0e] = 0x00; reg.crt[0x0f] = 0x00; reg.crt[0x10] = vs; - reg.crt[0x11] = - (ve & 0x0f) | - 0x20; + reg.crt[0x11] = (ve & 0x0f) | 0x20; reg.crt[0x12] = vd; reg.crt[0x13] = wd; reg.crt[0x14] = 0x00; @@ -701,13 +714,6 @@ VGAINIT0_EXTSHIFTOUT; reg.vgainit1 = tdfx_inl(VGAINIT1) & 0x1fffff; - reg.vidcfg = - VIDCFG_VIDPROC_ENABLE | - VIDCFG_DESK_ENABLE | - VIDCFG_CURS_X11 | - ((cpp - 1) << VIDCFG_PIXFMT_SHIFT) | - (cpp != 1 ? VIDCFG_CLUT_BYPASS : 0); - /* Setup the cursor */ par->hwcursor.enable=reg.vidcfg | VIDCFG_HWCURSOR_ENABLE; par->hwcursor.disable=reg.vidcfg; @@ -762,6 +768,13 @@ } #endif do_write_regs(®); + + if (reg.vidcfg & VIDCFG_2X) { + par->hdispend <<= 1; + par->hsyncsta <<= 1; + par->hsyncend <<= 1; + par->htotal <<= 1; + } memcpy(info->par, par, sizeof(struct tdfx_par)); /* Now change fb_fix_screeninfo according to changes in par */ |
From: James S. <jsi...@us...> - 2002-01-18 19:03:29
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv5083 Modified Files: hid.h Log Message: Syncing to new USB api for 2.5.2. Will sync rest of tree up tomorrow. Index: hid.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/hid.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- hid.h 2001/12/27 10:37:41 1.24 +++ hid.h 2002/01/18 19:03:26 1.25 @@ -324,7 +324,7 @@ char buffer[HID_BUFFER_SIZE]; /* Rx buffer */ struct urb urbctrl; /* Control URB */ - devrequest dr; /* Control devrquest struct */ + struct usb_ctrlrequest dr; /* Control devrquest struct */ struct hid_control_fifo ctrl[HID_CONTROL_FIFO_SIZE]; /* Control fifo */ unsigned char ctrlhead, ctrltail; /* Control fifo head & tail */ char ctrlbuf[HID_BUFFER_SIZE]; /* Control buffer */ |
From: James S. <jsi...@us...> - 2002-01-18 19:01:10
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv4419 Modified Files: usbkbd.c Log Message: Syncing to new USB api for 2.5.2. Will sync rest of tree up tomorrow. Index: usbkbd.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/usbkbd.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- usbkbd.c 2001/12/27 10:37:41 1.27 +++ usbkbd.c 2002/01/18 19:01:03 1.28 @@ -71,7 +71,7 @@ unsigned char new[8]; unsigned char old[8]; struct urb irq, led; - devrequest dr; + struct usb_ctrlrequest dr; unsigned char leds, newleds; char name[128]; char phys[64]; @@ -214,11 +214,11 @@ FILL_INT_URB(&kbd->irq, dev, pipe, kbd->new, maxp > 8 ? 8 : maxp, usb_kbd_irq, kbd, endpoint->bInterval); - kbd->dr.requesttype = USB_TYPE_CLASS | USB_RECIP_INTERFACE; - kbd->dr.request = 0x09; - kbd->dr.value = 0x200; - kbd->dr.index = interface->bInterfaceNumber; - kbd->dr.length = 1; + kbd->dr.bRequestType = USB_TYPE_CLASS | USB_RECIP_INTERFACE; + kbd->dr.bRequest = 0x09; + kbd->dr.wValue = 0x200; + kbd->dr.wIndex = interface->bInterfaceNumber; + kbd->dr.wLength = 1; usb_make_path(dev, path, 64); sprintf(kbd->phys, "%s/input0", path); |
From: James S. <jsi...@us...> - 2002-01-18 18:45:40
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv32442 Modified Files: iforce-packets.c iforce-usb.c iforce.h vortex.c Log Message: Syncing to new USB api for 2.5.2. Will sync rest of tree up tomorrow. Index: iforce-packets.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/iforce-packets.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- iforce-packets.c 2001/10/28 19:10:24 1.4 +++ iforce-packets.c 2002/01/18 18:45:31 1.5 @@ -235,7 +235,7 @@ #ifdef IFORCE_USB case IFORCE_USB: - iforce->dr.request = packet[0]; + iforce->dr.bRequest = packet[0]; iforce->ctrl.dev = iforce->usbdev; set_current_state(TASK_INTERRUPTIBLE); Index: iforce-usb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/iforce-usb.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- iforce-usb.c 2001/11/10 09:46:19 1.3 +++ iforce-usb.c 2002/01/18 18:45:32 1.4 @@ -114,9 +114,9 @@ iforce->bus = IFORCE_USB; iforce->usbdev = dev; - iforce->dr.requesttype = USB_TYPE_VENDOR | USB_DIR_IN | USB_RECIP_INTERFACE; - iforce->dr.index = 0; - iforce->dr.length = 16; + iforce->dr.bRequestType = USB_TYPE_VENDOR | USB_DIR_IN | USB_RECIP_INTERFACE; + iforce->dr.wIndex = 0; + iforce->dr.wLength = 16; FILL_INT_URB(&iforce->irq, dev, usb_rcvintpipe(dev, epirq->bEndpointAddress), iforce->data, 16, iforce_usb_irq, iforce, epirq->bInterval); Index: iforce.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/iforce.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- iforce.h 2001/10/23 21:20:54 1.3 +++ iforce.h 2002/01/18 18:45:32 1.4 @@ -140,7 +140,7 @@ #ifdef IFORCE_USB struct usb_device *usbdev; /* USB transfer */ struct urb irq, out, ctrl; - devrequest dr; + struct usb_ctrlrequest dr; #endif spinlock_t xmit_lock; /* Buffer used for asynchronous sending of bytes to the device */ Index: vortex.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/vortex.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 |
From: Paul M. <le...@us...> - 2002-01-10 19:31:39
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv25096 Modified Files: keybdev.c Log Message: Move the MODULE_xx() lines to the bottom of the file to avoid confusion, and reduce chance that someone might reintroduce these.. Index: keybdev.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/keybdev.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- keybdev.c 2002/01/09 04:21:41 1.16 +++ keybdev.c 2002/01/10 19:31:36 1.17 @@ -35,10 +35,6 @@ #include <linux/module.h> #include <linux/kbd_kern.h> -MODULE_AUTHOR("Vojtech Pavlik <vo...@uc...>"); -MODULE_DESCRIPTION("Input core to console keyboard binding"); -MODULE_LICENSE("GPL"); - char keybdev_name[] = "keyboard"; #if defined(CONFIG_X86) || defined(CONFIG_IA64) || defined(__alpha__) || \ @@ -243,4 +239,8 @@ module_init(keybdev_init); module_exit(keybdev_exit); + +MODULE_AUTHOR("Vojtech Pavlik <vo...@uc...>"); +MODULE_DESCRIPTION("Input core to console keyboard binding"); +MODULE_LICENSE("GPL"); |
From: Paul M. <le...@us...> - 2002-01-09 04:21:43
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv5740/linux/drivers/input Modified Files: keybdev.c Log Message: Sigh.. these duplicates were already killed off once.. lets hope they stay gone this time. Index: keybdev.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/keybdev.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- keybdev.c 2001/09/25 10:44:37 1.15 +++ keybdev.c 2002/01/09 04:21:41 1.16 @@ -244,5 +244,3 @@ module_init(keybdev_init); module_exit(keybdev_exit); -MODULE_AUTHOR("Vojtech Pavlik <vo...@uc...>"); -MODULE_DESCRIPTION("Input driver to keyboard driver binding"); |
From: Paul M. <le...@us...> - 2002-01-08 21:51:39
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video/tdfx In directory usw-pr-cvs1:/tmp/cvs-serv18352 Modified Files: 3dfxfb.c Log Message: Deal with resource management more intelligently .. and make sure that the device is enabled (as this generally causes bad things to happen on platforms that don't pre-initialize the adapter). Index: 3dfxfb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/tdfx/3dfxfb.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- 3dfxfb.c 2002/01/08 08:34:15 1.16 +++ 3dfxfb.c 2002/01/08 21:51:36 1.17 @@ -1127,6 +1127,13 @@ static int __devinit tdfxfb_probe(struct pci_dev *pdev, const struct pci_device_id *id) { + int err; + + if ((err = pci_enable_device(pdev))) { + printk(KERN_WARNING "tdfxfb: Can't enable pdev: %d\n", err); + return err; + } + /* Configure the default fb_fix_screeninfo first */ memset(&fb_info, 0, sizeof(fb_info)); fb_info.par = &default_par; @@ -1152,13 +1159,32 @@ printk("fb: Can't remap %s register area.\n", tdfx_fix.id); return -ENXIO; } - + + if (!request_mem_region(pci_resource_start(pdev, 0), + pci_resource_len(pdev, 0), + "tdfx regbase")) { + printk(KERN_WARNING "tdfxfb: Can't reserve regbase\n"); + iounmap(default_par.regbase_virt); + return -ENXIO; + } + tdfx_fix.smem_start = pci_resource_start(pdev, 1); if(!(tdfx_fix.smem_len = do_lfb_size(pdev->device))) { iounmap(default_par.regbase_virt); printk("fb: Can't count %s memory.\n", tdfx_fix.id); return -ENXIO; } + + if (!request_mem_region(pci_resource_start(pdev, 1), + pci_resource_len(pdev, 1), + "tdfx smem")) { + printk(KERN_WARNING "tdfxfb: Can't reserve smem\n"); + release_mem_region(pci_resource_start(pdev, 0), + pci_resource_len(pdev, 0)); + iounmap(default_par.regbase_virt); + return -ENXIO; + } + fb_info.screen_base = ioremap_nocache(tdfx_fix.smem_start, tdfx_fix.smem_len); if(!fb_info.screen_base) { @@ -1169,6 +1195,19 @@ default_par.iobase = pci_resource_start(pdev, 2); + if (!request_region(pci_resource_start(pdev, 2), + pci_resource_len(pdev, 2), + "tdfx iobase")) { + printk(KERN_WARNING "tdfxfb: Can't reserve iobase\n"); + release_mem_region(pci_resource_start(pdev, 1), + pci_resource_len(pdev, 1)); + release_mem_region(pci_resource_start(pdev, 0), + pci_resource_len(pdev, 0)); + iounmap(default_par.regbase_virt); + iounmap(fb_info.screen_base); + return -ENXIO; + } + printk("fb: %s memory = %dK\n", tdfx_fix.id, tdfx_fix.smem_len >> 10); /* clear framebuffer memory */ @@ -1202,8 +1241,6 @@ return -ENXIO; } - printk("fb%d: %s frame buffer device\n", GET_FB_IDX(fb_info.node), - fb_info.fix.id); return 0; } @@ -1224,6 +1261,14 @@ //del_timer_sync(&par->hwcursor.timer); iounmap(par->regbase_virt); iounmap(fb_info.screen_base); + + /* Clean up after reserved regions */ + release_region(pci_resource_start(pdev, 2), + pci_resource_len(pdev, 2)); + release_mem_region(pci_resource_start(pdev, 1), + pci_resource_len(pdev, 1)); + release_mem_region(pci_resource_start(pdev, 0), + pci_resource_len(pdev, 0)); } int __init tdfxfb_init(void) |