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)
|