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...> - 2001-10-06 16:20:24
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel In directory usw-pr-cvs1:/tmp/cvs-serv27842 Removed Files: ppc_ksyms.c Log Message: Changes in standard tree. --- ppc_ksyms.c DELETED --- |
From: James S. <jsi...@us...> - 2001-10-06 16:18:47
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/input In directory usw-pr-cvs1:/tmp/cvs-serv27566 Removed Files: cs461x.txt gameport-programming.txt input-programming.txt joystick-api.txt Log Message: Changes in standard tree. --- cs461x.txt DELETED --- --- gameport-programming.txt DELETED --- --- input-programming.txt DELETED --- --- joystick-api.txt DELETED --- |
From: James S. <jsi...@us...> - 2001-10-06 16:14:59
|
Update of /cvsroot/linuxconsole/ruby/linux/kernel In directory usw-pr-cvs1:/tmp/cvs-serv26781 Removed Files: ksyms.c panic.c Log Message: Changes in standard tree. --- ksyms.c DELETED --- --- panic.c DELETED --- |
From: James S. <jsi...@us...> - 2001-10-06 16:11:44
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/Documentation/DocBook Modified Files: Makefile kernel-api.tmpl Log Message: Synced to 2.4.10 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile 2001/07/29 18:24:12 1.3 +++ Makefile 2001/10/06 16:11:11 1.4 @@ -24,10 +24,10 @@ html: $(HTML) %.eps: %.fig - -fig2dev -Leps $< $@ + fig2dev -Leps $< $@ %.jpeg: %.fig - -fig2dev -Ljpeg $< $@ + fig2dev -Ljpeg $< $@ %.sgml: %.c echo "<programlisting>" > $@ @@ -88,6 +88,7 @@ $(TOPDIR)/arch/i386/kernel/mca.c \ $(TOPDIR)/arch/i386/kernel/mtrr.c \ $(TOPDIR)/drivers/char/misc.c \ + $(TOPDIR)/kernel/printk.c \ $(TOPDIR)/drivers/net/net_init.c \ $(TOPDIR)/drivers/net/8390.c \ $(TOPDIR)/drivers/char/serial.c \ @@ -129,7 +130,7 @@ $(PERL) $(TOPDIR)/scripts/split-man $(TOPDIR)/Documentation/man parportbook: $(JPG-parportbook) -parportbook.ps: $(EPS-parportbook) +parportbook.ps parportbook.pdf: $(EPS-parportbook) parportbook.sgml: parportbook.tmpl $(TOPDIR)/drivers/parport/init.c $(TOPDIR)/scripts/docgen $(TOPDIR)/drivers/parport/init.c <$< >$@ Index: kernel-api.tmpl =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/kernel-api.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- kernel-api.tmpl 2001/07/04 04:25:05 1.1 +++ kernel-api.tmpl 2001/10/06 16:11:11 1.2 @@ -187,6 +187,11 @@ !Edrivers/block/ll_rw_blk.c </chapter> + <chapter id="part"> + <title>Partition Handling</title> +!Edrivers/block/genhd.c + </chapter> + <chapter id="miscdev"> <title>Miscellaneous Devices</title> !Edrivers/char/misc.c |
From: James S. <jsi...@us...> - 2001-10-06 16:11:18
|
Update of /cvsroot/linuxconsole/ruby/utils In directory usw-pr-cvs1:/tmp/cvs-serv25708/utils Modified Files: remove-obsolete-files Log Message: Synced to 2.4.10 Index: remove-obsolete-files =================================================================== RCS file: /cvsroot/linuxconsole/ruby/utils/remove-obsolete-files,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- remove-obsolete-files 2001/07/08 22:02:45 1.25 +++ remove-obsolete-files 2001/10/06 16:11:14 1.26 @@ -41,6 +41,7 @@ rm -fv drivers/char/joystick/lightning.c rm -fv drivers/char/joystick/magellan.c rm -fv drivers/char/joystick/ns558.c +rm -fv drivers/char/joystick/emu10k1-gp.c rm -fv drivers/char/joystick/pcigame.c rm -fv drivers/char/joystick/serio.c rm -fv drivers/char/joystick/serport.c |
From: James S. <jsi...@us...> - 2001-10-06 16:11:17
|
Update of /cvsroot/linuxconsole/ruby/linux/include/asm-sh In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/include/asm-sh Modified Files: page.h Log Message: Synced to 2.4.10 Index: page.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/include/asm-sh/page.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- page.h 2001/09/02 23:21:37 1.1 +++ page.h 2001/10/06 16:11:13 1.2 @@ -24,8 +24,8 @@ #ifdef __KERNEL__ #ifndef __ASSEMBLY__ -#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE) -#define copy_page(to,from) memcpy((void *)(to), (void *)(from), PAGE_SIZE) +extern void clear_page(void *to); +extern void copy_page(void *to, void *from); #if defined(__sh3__) #define clear_user_page(page, vaddr) clear_page(page) @@ -33,6 +33,8 @@ #elif defined(__SH4__) extern void clear_user_page(void *to, unsigned long address); extern void copy_user_page(void *to, void *from, unsigned long address); +extern void __clear_user_page(void *to, void *orig_to); +extern void __copy_user_page(void *to, void *from, void *orig_to); #endif /* @@ -67,12 +69,24 @@ */ #define __MEMORY_START CONFIG_MEMORY_START +#define __MEMORY_SIZE CONFIG_MEMORY_SIZE +#ifdef CONFIG_DISCONTIGMEM +/* Just for HP690, for now.. */ +#define __MEMORY_START_2ND (__MEMORY_START+0x02000000) +#define __MEMORY_SIZE_2ND 0x001000000 /* 16MB */ +#endif #define PAGE_OFFSET (0x80000000UL) #define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) #define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET)) -#define virt_to_page(kaddr) (mem_map + ((__pa(kaddr)-__MEMORY_START) >> PAGE_SHIFT)) + +#ifndef CONFIG_DISCONTIGMEM +#define phys_to_page(phys) (mem_map + (((phys)-__MEMORY_START) >> PAGE_SHIFT)) #define VALID_PAGE(page) ((page - mem_map) < max_mapnr) +#define page_to_phys(page) (((page - mem_map) << PAGE_SHIFT) + __MEMORY_START) +#endif + +#define virt_to_page(kaddr) phys_to_page(__pa(kaddr)) #ifndef __ASSEMBLY__ @@ -89,7 +103,7 @@ } while (0) /* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) +static __inline__ int get_order(unsigned long size) { int order; |
From: James S. <jsi...@us...> - 2001-10-06 16:11:17
|
Update of /cvsroot/linuxconsole/ruby/linux/lib In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/lib Modified Files: Makefile Log Message: Synced to 2.4.10 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/lib/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile 2001/05/10 02:42:46 1.1 +++ Makefile 2001/10/06 16:11:14 1.2 @@ -8,9 +8,9 @@ L_TARGET := lib.a -export-objs := cmdline.o rwsem-spinlock.o rwsem.o bust_spinlocks.o +export-objs := cmdline.o dec_and_lock.o rwsem-spinlock.o rwsem.o bust_spinlocks.o -obj-y := errno.o ctype.o string.o vsprintf.o brlock.o cmdline.o bust_spinlocks.o +obj-y := errno.o ctype.o string.o vsprintf.o brlock.o cmdline.o bust_spinlocks.o rbtree.o obj-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o obj-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o |
From: James S. <jsi...@us...> - 2001-10-06 16:11:17
|
Update of /cvsroot/linuxconsole/ruby/linux/include/linux In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/include/linux Modified Files: kernel.h Log Message: Synced to 2.4.10 Index: kernel.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/include/linux/kernel.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- kernel.h 2001/10/05 03:58:58 1.6 +++ kernel.h 2001/10/06 16:11:13 1.7 @@ -10,6 +10,7 @@ #include <stdarg.h> #include <linux/linkage.h> #include <linux/stddef.h> +#include <linux/types.h> /* Optimization barrier */ /* The "volatile" is due to gcc bugs */ @@ -61,6 +62,13 @@ extern long long simple_strtoll(const char *,char **,unsigned int); extern int sprintf(char * buf, const char * fmt, ...); extern int vsprintf(char *buf, const char *, va_list); +extern int snprintf(char * buf, size_t size, const char *fmt, ...); +extern int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); + +extern int sscanf(const char *, const char *, ...) + __attribute__ ((format (scanf,2,3))); +extern int vsscanf(const char *, const char *, va_list); + extern int get_option(char **str, int *pint); extern char *get_options(char *str, int nints, int *ints); extern unsigned long long memparse(char *ptr, char **retptr); @@ -85,9 +93,8 @@ console_loglevel = 15; } -/* If set, an oops, panic(), BUG() or die() is in progress */ extern void bust_spinlocks(int yes); -extern int oops_in_progress; +extern int oops_in_progress; /* If set, an oops, panic(), BUG() or die() is in progress */ static inline void do_BUG(const char *file, int line) { @@ -122,10 +129,33 @@ ((unsigned char *)&addr)[1], \ ((unsigned char *)&addr)[0] -#define min(type,x,y) \ - ({ type __x = (x), __y = (y); __x < __y ? __x: __y; }) -#define max(type,x,y) \ - ({ type __x = (x), __y = (y); __x > __y ? __x: __y; }) +/* + * min()/max() macros that also do + * strict type-checking.. See the + * "unnecessary" pointer comparison. + */ +#define min(x,y) ({ \ + const typeof(x) _x = (x); \ + const typeof(y) _y = (y); \ + (void) (&_x == &_y); \ + _x < _y ? _x : _y; }) + +#define max(x,y) ({ \ + const typeof(x) _x = (x); \ + const typeof(y) _y = (y); \ + (void) (&_x == &_y); \ + _x > _y ? _x : _y; }) + +/* + * ..and if you can't take the strict + * types, you can specify one yourself. + * + * Or not use min/max at all, of course. + */ +#define min_t(type,x,y) \ + ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; }) +#define max_t(type,x,y) \ + ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; }) #endif /* __KERNEL__ */ |
From: James S. <jsi...@us...> - 2001-10-06 16:11:17
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/drivers/video Modified Files: Config.in Makefile fbmem.c Log Message: Synced to 2.4.10 Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/Config.in,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- Config.in 2001/08/22 11:07:57 1.48 +++ Config.in 2001/10/06 16:11:13 1.49 @@ -86,6 +86,9 @@ bool ' S3 Trio display support' CONFIG_FB_S3TRIO tristate ' VGA 16-color graphics console' CONFIG_FB_VGA16 fi + if [ "$CONFIG_PARISC" = "y" ]; then + bool ' Generic STI frame buffer device support' CONFIG_FB_STI + fi if [ "$CONFIG_MAC" = "y" ]; then define_bool CONFIG_FB_MAC y bool ' Apple "valkyrie" display support' CONFIG_FB_VALKYRIE @@ -124,12 +127,16 @@ bool ' CGsix (GX,TurboGX) support' CONFIG_FB_CGSIX fi fi - tristate ' NEC PowerVR 2 display support' CONFIG_FB_PVR2 - dep_bool ' Debug pvr2fb' CONFIG_FB_PVR2_DEBUG $CONFIG_FB_PVR2 + if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then + tristate ' NEC PowerVR 2 display support' CONFIG_FB_PVR2 + dep_bool ' Debug pvr2fb' CONFIG_FB_PVR2_DEBUG $CONFIG_FB_PVR2 + fi bool ' Epson 1355 framebuffer support' CONFIG_FB_E1355 if [ "$CONFIG_FB_E1355" = "y" ]; then - hex ' Register Base Address' CONFIG_E1355_REG_BASE a8000000 - hex ' Framebuffer Base Address' CONFIG_E1355_FB_BASE a8200000 + if [ "$CONFIG_SUPERH" = "y" ]; then + hex ' Register Base Address' CONFIG_E1355_REG_BASE a8000000 + hex ' Framebuffer Base Address' CONFIG_E1355_FB_BASE a8200000 + fi fi if [ "$CONFIG_PCI" != "n" ]; then tristate ' Matrox acceleration (EXPERIMENTAL)' CONFIG_FB_MATROX @@ -150,14 +157,21 @@ if [ "$CONFIG_FB_ATY" != "n" ]; then bool ' Mach64 GX support (EXPERIMENTAL)' CONFIG_FB_ATY_GX bool ' Mach64 CT/VT/GT/LT (incl. 3D RAGE) support' CONFIG_FB_ATY_CT + if [ "$CONFIG_FB_ATY_CT" = "y" ]; then + bool ' Sony Vaio C1VE 1024x480 LCD support' CONFIG_FB_ATY_CT_VAIO_LCD + fi fi + tristate ' ATI Radeon display support (EXPERIMENTAL)' CONFIG_FB_RADEON tristate ' ATI Rage 128 display support (EXPERIMENTAL)' CONFIG_FB_ATY128 tristate ' 3Dfx acceleration support' CONFIG_FB_TDFX if [ "$CONFIG_FB_TDFX" != "n" ]; then bool ' 3Dfx Banshee/Voodoo3 display support (EXPERIMENTAL)' CONFIG_FB_3DFX - bool ' Voodoo 1 display support (EXPERIMENTAL)' CONFIG_FB_SST - fi - tristate ' SIS 630/540 display support (EXPERIMENTAL)' CONFIG_FB_SIS + bool ' 3Dfx Voodoo Graphics (sst1) support (EXPERIMENTAL)' CONFIG_FB_VOODOO1 + fi + if [ "$CONFIG_FB_SIS" != "n" ]; then + bool ' SIS 630/540/730 support' CONFIG_FB_SIS_300 + bool ' SIS 315H/315 support' CONFIG_FB_SIS_315 + fi fi if [ "$ARCH" = "sparc" -o "$ARCH" = "sparc64" ]; then bool ' SBUS and UPA framebuffers' CONFIG_FB_SBUS @@ -197,6 +211,16 @@ fi if [ "$CONFIG_HD64461" = "y" ]; then tristate ' HD64461 Frame Buffer support' CONFIG_FB_HIT + fi + if [ "$CONFIG_DECSTATION" = "y" ]; then + if [ "$CONFIG_TC" = "y" ]; then + bool ' PMAG-BA TURBOchannel framebuffer support' CONFIG_FB_PMAG_BA + bool ' PMAGB-B TURBOchannel framebuffer spport' CONFIG_FB_PMAGB_B + bool ' Maxine (Personal DECstation) onboard framebuffer spport' CONFIG_FB_MAXINE + fi + fi + if [ "$CONFIG_NINO" = "y" ]; then + bool ' TMPTX3912/PR31700 frame buffer support' CONFIG_FB_TX3912 fi if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then tristate ' Virtual Frame Buffer support (ONLY FOR TESTING!)' CONFIG_FB_VIRTUAL Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/Makefile,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- Makefile 2001/09/09 16:36:34 1.41 +++ Makefile 2001/10/06 16:11:13 1.42 @@ -17,6 +17,7 @@ obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o obj-$(CONFIG_PROM_CONSOLE) += promcon.o promcon_tbl.o +obj-$(CONFIG_STI_CONSOLE) += sticon.o sticon-bmode.o sticore.o obj-$(CONFIG_VGA_CONSOLE) += vgacon.o vga.o obj-$(CONFIG_MDA_CONSOLE) += mdacon.o obj-$(CONFIG_NVIDIA_CONSOLE) += nvvgacon.o @@ -42,6 +43,7 @@ obj-$(CONFIG_FB_Q40) += q40fb.o obj-$(CONFIG_FB_ATARI) += atafb.o obj-$(CONFIG_FB_ATY128) += aty128fb.o +obj-$(CONFIG_FB_RADEON) += radeonfb.o obj-$(CONFIG_FB_IGA) += igafb.o obj-$(CONFIG_FB_CONTROL) += controlfb.o obj-$(CONFIG_FB_PLATINUM) += platinumfb.o @@ -72,6 +74,11 @@ obj-$(CONFIG_FB_CGFOURTEEN) += cgfourteenfb.o sbusfb.o obj-$(CONFIG_FB_P9100) += p9100fb.o sbusfb.o obj-$(CONFIG_FB_LEO) += leofb.o sbusfb.o +obj-$(CONFIG_FB_STI) += stifb.o sticore.o fbgen.o +obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o +obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o +obj-$(CONFIG_FB_MAXINE) += maxinefb.o +obj-$(CONFIG_FB_TX3912) += tx3912fb.o subdir-$(CONFIG_FB_MATROX) += matrox ifeq ($(CONFIG_FB_MATROX),y) @@ -106,6 +113,7 @@ obj-$(CONFIG_FB_HIT) += hitfb.o fbgen.o obj-$(CONFIG_FB_E1355) += epson1355fb.o fbgen.o obj-$(CONFIG_FB_PVR2) += pvr2fb.o +obj-$(CONFIG_FB_VOODOO1) += sstfb.o obj-$(CONFIG_FB_ANAKIN) += anakinfb.o obj-$(CONFIG_FB_SIMPLE) += sfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_SED1345) += sed1345fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o @@ -127,3 +135,4 @@ -e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > promcon_tbl.c promcon_tbl.o: promcon_tbl.c $(TOPDIR)/include/linux/types.h + Index: fbmem.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbmem.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -d -r1.49 -r1.50 --- fbmem.c 2001/10/02 19:39:19 1.49 +++ fbmem.c 2001/10/06 16:11:13 1.50 @@ -650,7 +650,7 @@ pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE|_PAGE_GUARDED; #elif defined(__alpha__) /* Caching is off in the I/O space quadrant by design. */ -#elif defined(__i386__) +#elif defined(__i386__) || defined(__x86_64__) if (boot_cpu_data.x86 > 3) pgprot_val(vma->vm_page_prot) |= _PAGE_PCD; #elif defined(__mips__) |
From: James S. <jsi...@us...> - 2001-10-06 16:11:17
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/drivers/char Modified Files: Config.in Makefile keyboard.c mem.c selection.c sysrq.c tty_io.c vt_ioctl.c Log Message: Synced to 2.4.10 Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Config.in,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- Config.in 2001/10/05 03:58:58 1.25 +++ Config.in 2001/10/06 16:11:13 1.26 @@ -10,7 +10,7 @@ bool ' Support for console on virtual terminal' CONFIG_VT_CONSOLE # if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then # bool ' ISO6429 bidirectional support (EXPERIMENTAL)' CONFIG_VT_BDSM -# fi +# fi fi fi @@ -30,45 +30,75 @@ bool ' Autodetect IRQ on standard ports (unsafe)' CONFIG_SERIAL_DETECT_IRQ bool ' Support special multiport boards' CONFIG_SERIAL_MULTIPORT bool ' Support the Bell Technologies HUB6 card' CONFIG_HUB6 - fi -fi -bool 'Non-standard serial port support' CONFIG_SERIAL_NONSTANDARD -if [ "$CONFIG_SERIAL_NONSTANDARD" = "y" ]; then - tristate ' Computone IntelliPort Plus serial support' CONFIG_COMPUTONE - tristate ' Comtrol Rocketport support' CONFIG_ROCKETPORT - tristate ' Cyclades async mux support' CONFIG_CYCLADES - if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_CYCLADES" != "n" ]; then - bool ' Cyclades-Z interrupt mode operation (EXPERIMENTAL)' CONFIG_CYZ_INTR - fi - tristate ' Digiboard Intelligent Async Support' CONFIG_DIGIEPCA - if [ "$CONFIG_DIGIEPCA" = "n" ]; then - tristate ' Digiboard PC/Xx Support' CONFIG_DIGI fi - tristate ' Hayes ESP serial port support' CONFIG_ESPSERIAL - tristate ' Moxa Intellio support' CONFIG_MOXA_INTELLIO - tristate ' Moxa SmartIO support' CONFIG_MOXA_SMARTIO - if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then - dep_tristate ' Multi-Tech multiport card support (EXPERIMENTAL)' CONFIG_ISI m + bool 'Non-standard serial port support' CONFIG_SERIAL_NONSTANDARD + if [ "$CONFIG_SERIAL_NONSTANDARD" = "y" ]; then + tristate ' Computone IntelliPort Plus serial support' CONFIG_COMPUTONE + tristate ' Comtrol Rocketport support' CONFIG_ROCKETPORT + tristate ' Cyclades async mux support' CONFIG_CYCLADES + if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_CYCLADES" != "n" ]; then + bool ' Cyclades-Z interrupt mode operation (EXPERIMENTAL)' CONFIG_CYZ_INTR + fi + tristate ' Digiboard Intelligent Async Support' CONFIG_DIGIEPCA + if [ "$CONFIG_DIGIEPCA" = "n" ]; then + tristate ' Digiboard PC/Xx Support' CONFIG_DIGI + fi + tristate ' Hayes ESP serial port support' CONFIG_ESPSERIAL + tristate ' Moxa Intellio support' CONFIG_MOXA_INTELLIO + tristate ' Moxa SmartIO support' CONFIG_MOXA_SMARTIO + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + dep_tristate ' Multi-Tech multiport card support (EXPERIMENTAL)' CONFIG_ISI m + fi + tristate ' Microgate SyncLink card support' CONFIG_SYNCLINK + tristate ' HDLC line discipline support' CONFIG_N_HDLC + tristate ' SDL RISCom/8 card support' CONFIG_RISCOM8 + tristate ' Specialix IO8+ card support' CONFIG_SPECIALIX + if [ "$CONFIG_SPECIALIX" != "n" ]; then + bool ' Specialix DTR/RTS pin is RTS' CONFIG_SPECIALIX_RTSCTS + fi + tristate ' Specialix SX (and SI) card support' CONFIG_SX + tristate ' Specialix RIO system support' CONFIG_RIO + if [ "$CONFIG_RIO" != "n" ]; then + bool ' Support really old RIO/PCI cards' CONFIG_RIO_OLDPCI + fi + bool ' Stallion multiport serial support' CONFIG_STALDRV + if [ "$CONFIG_STALDRV" = "y" ]; then + tristate ' Stallion EasyIO or EC8/32 support' CONFIG_STALLION + tristate ' Stallion EC8/64, ONboard, Brumby support' CONFIG_ISTALLION + fi + if [ "$CONFIG_MIPS" = "y" ]; then + bool ' TMPTX3912/PR31700 serial port support' CONFIG_SERIAL_TX3912 + dep_bool ' Console on TMPTX3912/PR31700 serial port' CONFIG_SERIAL_TX3912_CONSOLE $CONFIG_SERIAL_TX3912 + bool ' Enable Au1000 UART Support' CONFIG_AU1000_UART + if [ "$CONFIG_AU1000_UART" = "y" ]; then + bool ' Enable Au1000 serial console' CONFIG_AU1000_SERIAL_CONSOLE + fi + fi fi - dep_tristate ' Microgate SyncLink card support' CONFIG_SYNCLINK m - dep_tristate ' HDLC line discipline support' CONFIG_N_HDLC m - tristate ' SDL RISCom/8 card support' CONFIG_RISCOM8 - tristate ' Specialix IO8+ card support' CONFIG_SPECIALIX - if [ "$CONFIG_SPECIALIX" != "n" ]; then - bool ' Specialix DTR/RTS pin is RTS' CONFIG_SPECIALIX_RTSCTS - fi - tristate ' Specialix SX (and SI) card support' CONFIG_SX - tristate ' Specialix RIO system support' CONFIG_RIO - if [ "$CONFIG_RIO" != "n" ]; then - bool ' Support really old RIO/PCI cards' CONFIG_RIO_OLDPCI +fi + +if [ "$CONFIG_IT8712" = "y" ]; then + bool 'Enable Qtronix 990P Keyboard Support' CONFIG_QTRONIX_KEYBOARD + if [ "$CONFIG_QTRONIX_KEYBOARD" = "y" ]; then + define_bool CONFIG_IT8172_CIR y + else + bool ' Enable PS2 Keyboard Support' CONFIG_PC_KEYB fi - bool ' Stallion multiport serial support' CONFIG_STALDRV - if [ "$CONFIG_STALDRV" = "y" ]; then - tristate ' Stallion EasyIO or EC8/32 support' CONFIG_STALLION - tristate ' Stallion EC8/64, ONboard, Brumby support' CONFIG_ISTALLION + bool 'Enable Smart Card Reader 0 Support ' CONFIG_IT8172_SCR0 + bool 'Enable Smart Card Reader 1 Support ' CONFIG_IT8172_SCR1 +fi +if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_ZORRO" = "y" ]; then + tristate 'Commodore A2232 serial support (EXPERIMENTAL)' CONFIG_A2232 +fi +if [ "$CONFIG_FOOTBRIDGE" = "y" ]; then + bool 'DC21285 serial port support' CONFIG_SERIAL_21285 + if [ "$CONFIG_SERIAL_21285" = "y" ]; then + if [ "$CONFIG_OBSOLETE" = "y" ]; then + bool ' Use /dev/ttyS0 device (OBSOLETE)' CONFIG_SERIAL_21285_OLD + fi + bool ' Console on DC21285 serial port' CONFIG_SERIAL_21285_CONSOLE fi fi - bool 'Unix98 PTY support' CONFIG_UNIX98_PTYS if [ "$CONFIG_UNIX98_PTYS" = "y" ]; then int 'Maximum number of Unix98 PTYs in use (0-2048)' CONFIG_UNIX98_PTY_COUNT 256 @@ -113,13 +143,15 @@ tristate ' Acquire SBC Watchdog Timer' CONFIG_ACQUIRE_WDT tristate ' Advantech SBC Watchdog Timer' CONFIG_ADVANTECH_WDT tristate ' SBC-60XX Watchdog Timer' CONFIG_60XX_WDT + tristate ' W83877F (EMACS) Watchdog Timer' CONFIG_W83877F_WDT tristate ' Mixcom Watchdog' CONFIG_MIXCOMWD tristate ' Intel i810 TCO timer / Watchdog' CONFIG_I810_TCO - if [ "$CONFIG_ARM" = "y" ]; then - dep_tristate ' DC21285 watchdog' CONFIG_21285_WATCHDOG $CONFIG_FOOTBRIDGE - dep_tristate ' NetWinder WB83C977 watchdog' CONFIG_977_WATCHDOG $CONFIG_ARCH_NETWINDER - dep_tristate ' SA1100 watchdog' CONFIG_SA1100_WATCHDOG $CONFIG_ARCH_SA1100 - fi + if [ "$CONFIG_FOOTBRIDGE" = "y" ]; then + tristate ' DC21285 watchdog' CONFIG_21285_WATCHDOG + if [ "$CONFIG_ARCH_NETWINDER" = "y" ]; then + tristate ' NetWinder WB83C977 watchdog' CONFIG_977_WATCHDOG + fi + fi tristate ' ZF MachZ Watchdog' CONFIG_MACHZ_WDT fi endmenu @@ -142,16 +174,13 @@ if [ "$CONFIG_OBSOLETE" = "y" -a "$CONFIG_ALPHA_BOOK1" = "y" ]; then bool 'Tadpole ANA H8 Support' CONFIG_H8 fi -if [ "$CONFIG_ARCH_SA1100" = "y" ]; then - tristate 'SA1100 Real Time Clock' CONFIG_SA1100_RTC -fi tristate 'Double Talk PC internal speech card support' CONFIG_DTLK tristate 'Siemens R3964 line discipline' CONFIG_R3964 tristate 'Applicom intelligent fieldbus card support' CONFIG_APPLICOM if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then dep_tristate 'Sony Vaio Programmable I/O Control Device support' CONFIG_SONYPI $CONFIG_PCI -fi +fi mainmenu_option next_comment comment 'Ftape, the floppy tape device driver' @@ -166,10 +195,10 @@ bool ' Intel 440LX/BX/GX and I815/I840/I850 support' CONFIG_AGP_INTEL bool ' Intel I810/I815 (on-board) support' CONFIG_AGP_I810 bool ' VIA chipset support' CONFIG_AGP_VIA - bool ' AMD Irongate support' CONFIG_AGP_AMD + bool ' AMD Irongate, 761, and 762 support' CONFIG_AGP_AMD bool ' Generic SiS support' CONFIG_AGP_SIS bool ' ALI chipset support' CONFIG_AGP_ALI - bool ' Serverworks LE/HE support' CONFIG_AGP_SWORKS + bool ' Serverworks LE/HE support' CONFIG_AGP_SWORKS fi source drivers/char/drm/Config.in Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- Makefile 2001/07/29 18:24:12 1.26 +++ Makefile 2001/10/06 16:11:13 1.27 @@ -22,7 +22,7 @@ # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'. export-objs := vt.o keyboard.o sysrq.o misc.o pty.o random.o \ - selection.o serial.o sonypi.o tty_io.o tty_ioctl.o + selection.o serial.o sonypi.o tty_io.o tty_ioctl.o mod-subdirs := ftape drm pcmcia @@ -30,9 +30,20 @@ SERIAL =serial.o +ifeq ($(CONFIG_DECSTATION),y) + SERIAL = decserial.o +endif + +ifeq ($(CONFIG_QTRONIX_KEYBOARD),y) + KEYBD = qtronix.o + KEYMAP = qtronixmap.o +endif + obj-$(CONFIG_VT) += vt.o vt_ioctl.o decvte.o vc_screen.o consolemap.o consolemap_deftbl.o selection.o keyboard.o defkeymap.o obj-$(CONFIG_SERIAL) += $(SERIAL) obj-$(CONFIG_SERIAL_21285) += serial_21285.o +obj-$(CONFIG_SERIAL_SA1100) += serial_sa1100.o +obj-$(CONFIG_SERIAL_AMBA) += serial_amba.o obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o @@ -60,18 +71,17 @@ obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o obj-$(CONFIG_MVME162_SCC) += generic_serial.o vme_scc.o obj-$(CONFIG_BVME6000_SCC) += generic_serial.o vme_scc.o +obj-$(CONFIG_SERIAL_TX3912) += generic_serial.o serial_tx3912.o subdir-$(CONFIG_RIO) += rio obj-$(CONFIG_PRINTER) += lp.o - obj-$(CONFIG_DTLK) += dtlk.o obj-$(CONFIG_R3964) += n_r3964.o obj-$(CONFIG_APPLICOM) += applicom.o obj-$(CONFIG_SONYPI) += sonypi.o obj-$(CONFIG_RTC) += rtc.o obj-$(CONFIG_EFI_RTC) += efirtc.o -obj-$(CONFIG_SA1100_RTC) += sa1100-rtc.o ifeq ($(CONFIG_PPC),) obj-$(CONFIG_NVRAM) += nvram.o endif @@ -112,14 +122,8 @@ obj-$(CONFIG_977_WATCHDOG) += wdt977.o obj-$(CONFIG_I810_TCO) += i810-tco.o obj-$(CONFIG_MACHZ_WDT) += machzwd.o -obj-$(CONFIG_SA1100_WATCHDOG) += sa1100_wdt.o obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o -ifeq ($(CONFIG_ARCH_ACORN),y) -mod-subdirs += ../acorn/char -subdir-y += ../acorn/char -obj-y += ../acorn/char/acorn-char.o -endif include $(TOPDIR)/Rules.make @@ -133,5 +137,10 @@ consolemap_deftbl.o: consolemap_deftbl.c $(TOPDIR)/include/linux/types.h +.DELETE_ON_ERROR: + defkeymap.c: defkeymap.map - loadkeys --mktable defkeymap.map > defkeymap.c + set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ + +qtronixmap.c: qtronixmap.map + set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ Index: keyboard.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/keyboard.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- keyboard.c 2001/09/25 09:37:57 1.60 +++ keyboard.c 2001/10/06 16:11:13 1.61 @@ -144,6 +144,8 @@ static int npadch = -1; /* -1 or number assembled on pad */ static unsigned char diacr; static char rep; /* flag telling character repeat */ +pm_callback pm_kbd_request_override = NULL; +typedef void (pm_kbd_func) (void); static struct pm_dev *pm_kbd; static unsigned char ledstate = 0xff; /* undefined */ @@ -1133,7 +1135,7 @@ tasklet_enable(&keyboard_tasklet); tasklet_schedule(&keyboard_tasklet); - pm_kbd = pm_register(PM_SYS_DEV, PM_SYS_KBC, NULL); + pm_kbd = pm_register(PM_SYS_DEV, PM_SYS_KBC, pm_kbd_request_override); input_register_handler(&kbd_handler); return 0; Index: mem.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/mem.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- mem.c 2001/09/09 16:36:33 1.16 +++ mem.c 2001/10/06 16:11:13 1.17 @@ -35,9 +35,6 @@ #if defined(CONFIG_S390_TAPE) && defined(CONFIG_S390_TAPE_CHAR) extern void tapechar_init(void); #endif -#if defined(CONFIG_ADB) -extern void adbdev_init(void); -#endif static ssize_t do_write_mem(struct file * file, void *p, unsigned long realp, const char * buf, size_t count, loff_t *ppos) @@ -128,7 +125,7 @@ { unsigned long prot = pgprot_val(_prot); -#if defined(__i386__) +#if defined(__i386__) || defined(__x86_64__) /* On PPro and successors, PCD alone doesn't always mean uncached because of interactions with the MTRRs. PCD | PWT means definitely uncached. */ @@ -147,8 +144,6 @@ /* Use no-cache mode, serialized */ else if (MMU_IS_040 || MMU_IS_060) prot = (prot & _CACHEMASK040) | _PAGE_NOCACHE_S; -#elif defined(__mips__) - prot = (prot & ~_CACHE_MASK) | _CACHE_UNCACHED; #endif return __pgprot(prot); @@ -628,9 +623,6 @@ #endif #if defined(CONFIG_S390_TAPE) && defined(CONFIG_S390_TAPE_CHAR) tapechar_init(); -#endif -#if defined(CONFIG_ADB) - adbdev_init(); #endif return 0; } Index: selection.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/selection.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- selection.c 2001/03/07 04:42:27 1.12 +++ selection.c 2001/10/06 16:11:13 1.13 @@ -104,11 +104,7 @@ /* set inwordLut contents. Invoked by ioctl(). */ int sel_loadlut(const unsigned long arg) { - int err = -EFAULT; - - if (!copy_from_user(inwordLut, (u32 *)(arg+4), 32)) - err = 0; - return err; + return copy_from_user(inwordLut, (u32 *)(arg+4), 32) ? -EFAULT : 0; } /* does screen address p correspond to character at LH/RH edge of screen? */ @@ -138,15 +134,13 @@ args = (unsigned short *)(arg + 1); if (user) { - int err; - err = verify_area(VERIFY_READ, args, sizeof(short) * 5); - if (err) - return err; - get_user(xs, args++); - get_user(ys, args++); - get_user(xe, args++); - get_user(ye, args++); - get_user(sel_mode, args); + if (verify_area(VERIFY_READ, args, sizeof(short) * 5)) + return -EFAULT; + __get_user(xs, args++); + __get_user(ys, args++); + __get_user(xe, args++); + __get_user(ye, args++); + __get_user(sel_mode, args); } else { xs = *(args++); /* set selection from kernel */ ys = *(args++); Index: sysrq.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/sysrq.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- sysrq.c 2001/09/09 16:36:33 1.13 +++ sysrq.c 2001/10/06 16:11:13 1.14 @@ -6,6 +6,10 @@ * * (c) 1997 Martin Mares <mj...@at...> * based on ideas by Pavel Machek <pa...@at...> + * + * (c) 2000 Crutcher Dunnavant <cru...@da...> + * overhauled to use key registration + * based upon discusions in irc://irc.openprojects.net/#kernelnewbies */ #include <linux/config.h> @@ -22,9 +26,11 @@ #include <linux/quotaops.h> #include <linux/smp_lock.h> #include <linux/module.h> +#include <linux/spinlock.h> #ifdef CONFIG_VT #include <linux/vt_kern.h> #endif + #include <asm/ptrace.h> extern struct list_head super_blocks; @@ -35,135 +41,86 @@ /* Machine specific power off function */ void (*sysrq_power_off)(void); -EXPORT_SYMBOL(sysrq_power_off); +/* Loglevel sysrq handler */ +static void sysrq_handle_loglevel(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + int i; + i = key - '0'; + console_loglevel = 7; + printk("%d\n", i); + console_loglevel = i; +} +static struct sysrq_key_op sysrq_loglevel_op = { + handler: sysrq_handle_loglevel, + help_msg: "loglevel0-8", + action_msg: "Loglevel set to ", +}; -/* Send a signal to all user processes */ -static void send_sig_all(int sig, int even_init) +/* SAK sysrq handler */ +#ifdef CONFIG_VT +static void sysrq_handle_SAK(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { - struct task_struct *p; + struct vc_data *vc = (struct vc_data *) tty->driver_data; - for_each_task(p) { - if (p->mm) { /* Not swapper nor kernel thread */ - if (p->pid == 1 && even_init) /* Ugly hack to kill init */ - p->pid = 0x8000; - force_sig(sig, p); - } - } + if (tty) + do_SAK(tty); + reset_vc(vc); } +static struct sysrq_key_op sysrq_SAK_op = { + handler: sysrq_handle_SAK, + help_msg: "saK", + action_msg: "SAK\n", +}; +#endif -/* - * This function is called by the keyboard handler when SysRq is pressed - * and any other keycode arrives. - */ - -void handle_sysrq(int key, struct pt_regs *pt_regs, - struct kbd_struct *kbd, struct tty_struct *tty) -{ - int orig_log_level = console_loglevel; - if (!key || !sysrq_enabled) - return; +/* unraw sysrq handler */ +static void sysrq_handle_unraw(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + if (kbd) + kbd->kbdmode = VC_XLATE; +} +static struct sysrq_key_op sysrq_unraw_op = { + handler: sysrq_handle_unraw, + help_msg: "unRaw", + action_msg: "Keyboard mode set to XLATE\n", +}; - console_loglevel = 7; - printk(KERN_INFO "SysRq: "); - switch (key) { -#ifdef CONFIG_VT - case 'r': /* R -- Reset raw mode */ - if (kbd) { - kbd->kbdmode = VC_XLATE; - printk("Keyboard mode set to XLATE\n"); - } - break; - case 'k': { /* K -- SAK */ - struct vc_data *vc = (struct vc_data *) tty->driver_data; - printk("SAK\n"); - if (tty) - do_SAK(tty); - reset_vc(vc); - break; - } -#endif - case 'b': /* B -- boot immediately */ - printk("Resetting\n"); - machine_restart(NULL); - break; - case 'o': /* O -- power off */ - if (sysrq_power_off) { - printk("Power off\n"); - sysrq_power_off(); - } - break; - case 's': /* S -- emergency sync */ - printk("Emergency Sync\n"); - emergency_sync_scheduled = EMERG_SYNC; - wakeup_bdflush(); - break; - case 'u': /* U -- emergency remount R/O */ - printk("Emergency Remount R/O\n"); - emergency_sync_scheduled = EMERG_REMOUNT; - wakeup_bdflush(); - break; - case 'p': /* P -- show PC */ - printk("Show Regs\n"); - if (pt_regs) - show_regs(pt_regs); - break; - case 't': /* T -- show task info */ - printk("Show State\n"); - show_state(); - break; - case 'm': /* M -- show memory info */ - printk("Show Memory\n"); - show_mem(); - break; - case '0' ... '9': /* 0-9 -- set console logging level */ - orig_log_level = key - '0'; - printk("Log level set to %d\n", orig_log_level); - break; - case 'e': /* E -- terminate all user processes */ - printk("Terminate All Tasks\n"); - send_sig_all(SIGTERM, 0); - orig_log_level = 8; /* We probably have killed syslogd */ - break; - case 'i': /* I -- kill all user processes */ - printk("Kill All Tasks\n"); - send_sig_all(SIGKILL, 0); - orig_log_level = 8; - break; - case 'l': /* L -- kill all processes including init */ - printk("Kill ALL Tasks (even init)\n"); - send_sig_all(SIGKILL, 1); - orig_log_level = 8; - break; - default: /* Unknown: help */ -#ifdef CONFIG_VT - if (kbd) - printk("unRaw "); - if (tty) - printk("saK "); -#endif - printk("Boot "); - if (sysrq_power_off) - printk("Off "); - printk("Sync Unmount showPc showTasks showMem loglevel0-8 tErm kIll killalL\n"); - /* Don't use 'A' as it's handled specially on the Sparc */ - } - console_loglevel = orig_log_level; +/* reboot sysrq handler */ +static void sysrq_handle_reboot(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + machine_restart(NULL); } +static struct sysrq_key_op sysrq_reboot_op = { + handler: sysrq_handle_reboot, + help_msg: "reBoot", + action_msg: "Resetting\n", +}; -/* Aux routines for the syncer */ -static int is_local_disk(kdev_t dev) /* Guess if the device is a local hard drive */ -{ - unsigned int major = MAJOR(dev); + +/* SYNC SYSRQ HANDLERS BLOCK */ + +/* do_emergency_sync helper function */ +/* Guesses if the device is a local hard drive */ +static int is_local_disk(kdev_t dev) { + unsigned int major; + major = MAJOR(dev); switch (major) { case IDE0_MAJOR: case IDE1_MAJOR: case IDE2_MAJOR: case IDE3_MAJOR: + case IDE4_MAJOR: + case IDE5_MAJOR: + case IDE6_MAJOR: + case IDE7_MAJOR: + case IDE8_MAJOR: + case IDE9_MAJOR: case SCSI_DISK0_MAJOR: case SCSI_DISK1_MAJOR: case SCSI_DISK2_MAJOR: @@ -172,19 +129,24 @@ case SCSI_DISK5_MAJOR: case SCSI_DISK6_MAJOR: case SCSI_DISK7_MAJOR: + case XT_DISK_MAJOR: return 1; default: return 0; } } +/* do_emergency_sync helper function */ static void go_sync(struct super_block *sb, int remount_flag) { + int orig_loglevel; + orig_loglevel = console_loglevel; + console_loglevel = 7; printk(KERN_INFO "%sing device %s ... ", remount_flag ? "Remount" : "Sync", kdevname(sb->s_dev)); - if (remount_flag) { /* Remount R/O */ + if (remount_flag) { /* Remount R/O */ int ret, flags; struct list_head *p; @@ -214,12 +176,12 @@ } } else printk("nothing to do\n"); - } else { - fsync_dev(sb->s_dev); /* Sync only */ + } else { /* Sync only */ + fsync_dev(sb->s_dev); printk("OK\n"); } + console_loglevel = orig_loglevel; } - /* * Emergency Sync or Unmount. We cannot do it directly, so we set a special * flag and wake up the bdflush kernel thread which immediately calls this function. @@ -229,10 +191,10 @@ int emergency_sync_scheduled; -void do_emergency_sync(void) -{ +void do_emergency_sync(void) { struct super_block *sb; int remount_flag; + int orig_loglevel; lock_kernel(); remount_flag = (emergency_sync_scheduled == EMERG_REMOUNT); @@ -251,5 +213,277 @@ go_sync(sb, remount_flag); unlock_kernel(); + + orig_loglevel = console_loglevel; + console_loglevel = 7; printk(KERN_INFO "Done.\n"); + console_loglevel = orig_loglevel; +} + +static void sysrq_handle_sync(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + emergency_sync_scheduled = EMERG_SYNC; + wakeup_bdflush(); +} +static struct sysrq_key_op sysrq_sync_op = { + handler: sysrq_handle_sync, + help_msg: "Sync", + action_msg: "Emergency Sync\n", +}; + +static void sysrq_handle_mountro(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + emergency_sync_scheduled = EMERG_REMOUNT; + wakeup_bdflush(); +} +static struct sysrq_key_op sysrq_mountro_op = { + handler: sysrq_handle_mountro, + help_msg: "Unmount", + action_msg: "Emergency Remount R/0\n", +}; + +/* END SYNC SYSRQ HANDLERS BLOCK */ + + +/* SHOW SYSRQ HANDLERS BLOCK */ + +static void sysrq_handle_showregs(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + if (pt_regs) + show_regs(pt_regs); +} +static struct sysrq_key_op sysrq_showregs_op = { + handler: sysrq_handle_showregs, + help_msg: "showPc", + action_msg: "Show Regs\n", +}; + + +static void sysrq_handle_showstate(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + show_state(); +} +static struct sysrq_key_op sysrq_showstate_op = { + handler: sysrq_handle_showstate, + help_msg: "showTasks", + action_msg: "Show State\n", +}; + + +static void sysrq_handle_showmem(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + show_mem(); +} +static struct sysrq_key_op sysrq_showmem_op = { + handler: sysrq_handle_showmem, + help_msg: "showMem", + action_msg: "Show Memory\n", +}; + +/* SHOW SYSRQ HANDLERS BLOCK */ + + +/* SIGNAL SYSRQ HANDLERS BLOCK */ + +/* signal sysrq helper function + * Sends a signal to all user processes */ +static void send_sig_all(int sig, int even_init) +{ + struct task_struct *p; + + for_each_task(p) { + if (p->mm) { /* Not swapper nor kernel thread */ + if (p->pid == 1 && even_init) + /* Ugly hack to kill init */ + p->pid = 0x8000; + if (p->pid != 1) + force_sig(sig, p); + } + } +} + +static void sysrq_handle_term(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + send_sig_all(SIGTERM, 0); + console_loglevel = 8; +} +static struct sysrq_key_op sysrq_term_op = { + handler: sysrq_handle_term, + help_msg: "tErm", + action_msg: "Terminate All Tasks\n", +}; + +static void sysrq_handle_kill(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + send_sig_all(SIGKILL, 0); + console_loglevel = 8; +} +static struct sysrq_key_op sysrq_kill_op = { + handler: sysrq_handle_kill, + help_msg: "kIll", + action_msg: "Kill All Tasks\n", +}; + +static void sysrq_handle_killall(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + send_sig_all(SIGKILL, 1); + console_loglevel = 8; +} +static struct sysrq_key_op sysrq_killall_op = { + handler: sysrq_handle_killall, + help_msg: "killalL", + action_msg: "Kill All Tasks (even init)\n", +}; + +/* END SIGNAL SYSRQ HANDLERS BLOCK */ + + +/* Key Operations table and lock */ +spinlock_t sysrq_key_table_lock = SPIN_LOCK_UNLOCKED; +#define SYSRQ_KEY_TABLE_LENGTH 36 +static struct sysrq_key_op *sysrq_key_table[SYSRQ_KEY_TABLE_LENGTH] = { +/* 0 */ &sysrq_loglevel_op, +/* 1 */ &sysrq_loglevel_op, +/* 2 */ &sysrq_loglevel_op, +/* 3 */ &sysrq_loglevel_op, +/* 4 */ &sysrq_loglevel_op, +/* 5 */ &sysrq_loglevel_op, +/* 6 */ &sysrq_loglevel_op, +/* 7 */ &sysrq_loglevel_op, +/* 8 */ &sysrq_loglevel_op, +/* 9 */ &sysrq_loglevel_op, +/* a */ NULL, /* Don't use for system provided sysrqs, + it is handled specially on the spark + and will never arive */ +/* b */ &sysrq_reboot_op, +/* c */ NULL, +/* d */ NULL, +/* e */ &sysrq_term_op, +/* f */ NULL, +/* g */ NULL, +/* h */ NULL, +/* i */ &sysrq_kill_op, +/* j */ NULL, +#ifdef CONFIG_VT +/* k */ &sysrq_SAK_op, +#else +/* k */ NULL, +#endif +/* l */ &sysrq_killall_op, +/* m */ &sysrq_showmem_op, +/* n */ NULL, +/* o */ NULL, /* This will often be registered + as 'Off' at init time */ +/* p */ &sysrq_showregs_op, +/* q */ NULL, +/* r */ &sysrq_unraw_op, +/* s */ &sysrq_sync_op, +/* t */ &sysrq_showstate_op, +/* u */ &sysrq_mountro_op, +/* v */ NULL, +/* w */ NULL, +/* x */ NULL, +/* w */ NULL, +/* z */ NULL +}; + +/* key2index calculation, -1 on invalid index */ +static __inline__ int sysrq_key_table_key2index(int key) { + int retval; + if ((key >= '0') & (key <= '9')) { + retval = key - '0'; + } else if ((key >= 'a') & (key <= 'z')) { + retval = key + 10 - 'a'; + } else { + retval = -1; + } + return retval; } + +/* + * table lock and unlocking functions, exposed to modules + */ + +void __sysrq_lock_table (void) { spin_lock(&sysrq_key_table_lock); } + +void __sysrq_unlock_table (void) { spin_unlock(&sysrq_key_table_lock); } + +/* + * get and put functions for the table, exposed to modules. + */ + +struct sysrq_key_op *__sysrq_get_key_op (int key) { + struct sysrq_key_op *op_p; + int i; + + i = sysrq_key_table_key2index(key); + op_p = (i == -1) ? NULL : sysrq_key_table[i]; + return op_p; +} + +void __sysrq_put_key_op (int key, struct sysrq_key_op *op_p) { + int i; + + i = sysrq_key_table_key2index(key); + if (i != -1) + sysrq_key_table[i] = op_p; +} + +/* + * This function is called by the keyboard handler when SysRq is pressed + * and any other keycode arrives. + */ + +void handle_sysrq(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + if (!sysrq_enabled) + return; + + __sysrq_lock_table(); + __handle_sysrq_nolock(key, pt_regs, kbd, tty); + __sysrq_unlock_table(); +} + +/* + * This is the non-locking version of handle_sysrq + * It must/can only be called by sysrq key handlers, + * as they are inside of the lock + */ + +void __handle_sysrq_nolock(int key, struct pt_regs *pt_regs, + struct kbd_struct *kbd, struct tty_struct *tty) { + struct sysrq_key_op *op_p; + int orig_log_level; + int i, j; + + if (!sysrq_enabled) + return; + + orig_log_level = console_loglevel; + console_loglevel = 7; + printk(KERN_INFO "SysRq : "); + + op_p = __sysrq_get_key_op(key); + if (op_p) { + printk ("%s", op_p->action_msg); + op_p->handler(key, pt_regs, kbd, tty); + } else { + printk("HELP : "); + /* Only print the help msg once per handler */ + for (i=0; i<SYSRQ_KEY_TABLE_LENGTH; i++) + if (sysrq_key_table[i]) { + for (j=0; sysrq_key_table[i] != sysrq_key_table[j]; j++); + if (j == i) + printk ("%s ", sysrq_key_table[i]->help_msg); + } + printk ("\n"); + } + console_loglevel = orig_log_level; +} + +EXPORT_SYMBOL(handle_sysrq); +EXPORT_SYMBOL(__handle_sysrq_nolock); +EXPORT_SYMBOL(__sysrq_lock_table); +EXPORT_SYMBOL(__sysrq_unlock_table); +EXPORT_SYMBOL(__sysrq_get_key_op); +EXPORT_SYMBOL(__sysrq_put_key_op); Index: tty_io.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/tty_io.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- tty_io.c 2001/10/05 03:58:58 1.35 +++ tty_io.c 2001/10/06 16:11:13 1.36 @@ -95,12 +95,12 @@ #include <asm/system.h> #include <asm/bitops.h> -#include <linux/vt_kern.h> #include <linux/devfs_fs_kernel.h> - #include <linux/kmod.h> #ifdef CONFIG_VT +#include <linux/vt_kern.h> +extern void con_init_devfs (void); #ifdef CONFIG_PROM_CONSOLE extern void prom_con_init(void); #endif @@ -163,6 +163,8 @@ extern void anakin_console_init(void); extern void sgi_serial_console_init(void); extern void sci_console_init(void); +extern void tx3912_console_init(void); +extern void tx3912_rs_init(void); #ifndef MIN #define MIN(a,b) ((a) < (b) ? (a) : (b)) @@ -273,6 +275,8 @@ return 0; } +EXPORT_SYMBOL(tty_register_ldisc); + /* Set the discipline of a tty line. */ static int tty_set_ldisc(struct tty_struct *tty, int ldisc) { @@ -447,9 +451,7 @@ file_list_lock(); for (l = tty->tty_files.next; l != &tty->tty_files; l = l->next) { struct file * filp = list_entry(l, struct file, f_list); - if (!filp->f_dentry) - continue; - if (filp->f_dentry->d_inode->i_rdev == SYSCONS_DEV) { + if (filp->f_dentry->d_inode->i_rdev == SYSCONS_DEV) { cons_filp = filp; continue; } @@ -749,10 +751,10 @@ return -ESPIPE; /* - * For now, we redirect writes from /dev/console. + * For now, we redirect writes from /dev/console. */ inode = file->f_dentry->d_inode; - is_console = (inode->i_rdev == SYSCONS_DEV); + is_console = (inode->i_rdev == SYSCONS_DEV); if (is_console && redirect) tty = redirect; @@ -1498,12 +1500,12 @@ if (!memcmp(&tmp_ws, &tty->winsize, sizeof(*arg))) return 0; #ifdef CONFIG_VT - if (tty->driver.type == TTY_DRIVER_TYPE_CONSOLE) { - struct vc_data *vc = (struct vc_data *) tty->driver_data; + if (tty->driver.type == TTY_DRIVER_TYPE_CONSOLE) { + struct vc_data *vc = (struct vc_data *) tty->driver_data; - if (!vc || vc_resize(vc, tmp_ws.ws_col, tmp_ws.ws_row)) - return -ENXIO; - } + if (!vc || vc_resize(vc, tmp_ws.ws_col, tmp_ws.ws_row)) + return -ENXIO; + } #endif if (tty->pgrp > 0) kill_pg(tty->pgrp, SIGWINCH, 1); @@ -2024,7 +2026,7 @@ break; default: if (driver->major == PTY_MASTER_MAJOR) - flags |= DEVFS_FL_AUTO_OWNER; + mode |= S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH; break; } if ( (minor < driver->minor_start) || @@ -2190,6 +2192,9 @@ #ifdef CONFIG_VT vt_console_init(); #endif +#ifdef CONFIG_AU1000_SERIAL_CONSOLE + au1000_serial_console_init(); +#endif #ifdef CONFIG_SERIAL_CONSOLE #if (defined(CONFIG_8xx) || defined(CONFIG_8260)) console_8xx_init(); @@ -2231,14 +2236,20 @@ #ifdef CONFIG_SERIAL_SA1100_CONSOLE sa1100_rs_console_init(); #endif +#ifdef CONFIG_ARC_CONSOLE + arc_console_init(); +#endif #ifdef CONFIG_SERIAL_AMBA_CONSOLE ambauart_console_init(); #endif +#ifdef CONFIG_SERIAL_TX3912_CONSOLE + tx3912_console_init(); +#endif #ifdef CONFIG_SERIAL_CLPS711X_CONSOLE - clps711xuart_console_init(); + clps711xuart_console_init(); #endif #ifdef CONFIG_SERIAL_ANAKIN_CONSOLE - anakin_console_init(); + anakin_console_init(); #endif } @@ -2254,7 +2265,7 @@ void __init tty_init(void) { struct tty_driver *p; - int i; + int i; /* * dev_tty_driver and dev_console_driver are actually magic @@ -2288,8 +2299,8 @@ panic("Couldn't register /dev/console driver\n"); /* - * Some consoles calls tty_register_driver() before kmalloc() works. - * Thus, we can't devfs_register() then. Do so now, instead. + * Some console calls tty_register_driver() before kmalloc() works. + * Thus, we can't devfs_register() then. Do so now, instead. */ for (p = tty_drivers; p; p = p->next) { if (p->flags && TTY_DRIVER_NO_DEVFS) { @@ -2298,7 +2309,6 @@ } } - #ifdef CONFIG_UNIX98_PTYS dev_ptmx_driver = dev_tty_driver; dev_ptmx_driver.driver_name = "/dev/ptmx"; @@ -2314,20 +2324,23 @@ #ifdef CONFIG_VT #if defined (CONFIG_PROM_CONSOLE) - prom_con_init(); + prom_con_init(); #endif #if defined (CONFIG_FRAMEBUFFER_CONSOLE) - fb_console_init(); + fb_console_init(); #endif kbd_init(); console_map_init(); - vcs_init(); + vcs_init(); #endif #ifdef CONFIG_ESPSERIAL /* init ESP before rs, so rs doesn't see the port */ espserial_init(); #endif #if defined(CONFIG_MVME162_SCC) || defined(CONFIG_BVME6000_SCC) || defined(CONFIG_MVME147_SCC) vme_scc_init(); +#endif +#ifdef CONFIG_SERIAL_TX3912 + tx3912_rs_init(); #endif #ifdef CONFIG_COMPUTONE ip2_init(); Index: vt_ioctl.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/vt_ioctl.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- vt_ioctl.c 2001/10/05 03:58:58 1.60 +++ vt_ioctl.c 2001/10/06 16:11:13 1.61 @@ -1332,7 +1332,8 @@ vc->vt_mode.frsig = 0; vc->vt_pid = -1; vc->vt_newvt = -1; - reset_palette(vc); + if (!in_interrupt()) /* Via keyboard.c:SAK() - akpm */ + reset_palette(vc); } inline void switch_screen(struct vc_data *new_vc, struct vc_data *old_vc) |
From: James S. <jsi...@us...> - 2001-10-06 16:11:17
|
Update of /cvsroot/linuxconsole/ruby/linux/include/asm-ppc In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/include/asm-ppc Modified Files: page.h Log Message: Synced to 2.4.10 Index: page.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/include/asm-ppc/page.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- page.h 2001/09/02 23:21:37 1.1 +++ page.h 2001/10/06 16:11:13 1.2 @@ -12,6 +12,7 @@ #ifdef __KERNEL__ #include <linux/config.h> +/* Be sure to change arch/ppc/Makefile to match */ #define PAGE_OFFSET 0xc0000000 #define KERNELBASE PAGE_OFFSET |
From: James S. <jsi...@us...> - 2001-10-06 16:11:17
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/ppc/kernel Modified Files: apus_setup.c chrp_setup.c pmac_setup.c prep_setup.c Log Message: Synced to 2.4.10 Index: apus_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/apus_setup.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- apus_setup.c 2001/10/05 03:58:58 1.3 +++ apus_setup.c 2001/10/06 16:11:12 1.4 @@ -1,5 +1,5 @@ /* - * BK Id: SCCS/s.apus_setup.c 1.14 07/06/01 09:19:28 trini + * BK Id: SCCS/s.apus_setup.c 1.20 09/08/01 15:47:42 paulus */ /* * linux/arch/ppc/kernel/apus_setup.c @@ -75,7 +75,6 @@ #include <asm/io.h> #include <asm/dma.h> #include <asm/machdep.h> -#include <asm/init.h> #include "local_irq.h" @@ -561,32 +560,8 @@ /* * IDE stuff. */ -void ide_insw(ide_ioreg_t port, void *buf, int ns); -void ide_outsw(ide_ioreg_t port, void *buf, int ns); -void -apus_ide_insw(ide_ioreg_t port, void *buf, int ns) -{ - ide_insw(port, buf, ns); -} - -void -apus_ide_outsw(ide_ioreg_t port, void *buf, int ns) -{ - ide_outsw(port, buf, ns); -} -int -apus_ide_default_irq(ide_ioreg_t base) -{ - return 0; -} - -ide_ioreg_t -apus_ide_default_io_base(int index) -{ - return 0; -} - +#if 0 /* no longer used -- paulus */ void apus_ide_fix_driveid(struct hd_driveid *id) { @@ -632,6 +607,7 @@ } } } +#endif /* 0 */ __init void apus_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, @@ -952,6 +928,15 @@ return total; } +static void __init +apus_map_io(void) +{ + /* Map PPC exception vectors. */ + io_block_mapping(0xfff00000, 0xfff00000, 0x00020000, _PAGE_KERNEL); + /* Map chip and ZorroII memory */ + io_block_mapping(zTwoBase, 0x00000000, 0x01000000, _PAGE_IO); +} + __init void apus_init_IRQ(void) { @@ -974,8 +959,8 @@ } __init -void apus_init(unsigned long r3, unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7) +void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, + unsigned long r6, unsigned long r7) { extern int parse_bootinfo(const struct bi_record *); extern char _end[]; @@ -1026,19 +1011,13 @@ ppc_md.calibrate_decr = apus_calibrate_decr; ppc_md.find_end_of_memory = apus_find_end_of_memory; + ppc_md.setup_io_mappings = apus_map_io; ppc_md.nvram_read_val = NULL; ppc_md.nvram_write_val = NULL; #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) - ppc_ide_md.insw = apus_ide_insw; - ppc_ide_md.outsw = apus_ide_outsw; - ppc_ide_md.default_irq = apus_ide_default_irq; - ppc_ide_md.default_io_base = apus_ide_default_io_base; - ppc_ide_md.fix_driveid = apus_ide_fix_driveid; ppc_ide_md.ide_init_hwif = apus_ide_init_hwif_ports; - - ppc_ide_md.io_base = _IO_BASE; #endif } Index: chrp_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/chrp_setup.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- chrp_setup.c 2001/07/29 18:24:12 1.2 +++ chrp_setup.c 2001/10/06 16:11:12 1.3 @@ -1,5 +1,5 @@ /* - * BK Id: %F% %I% %G% %U% %#% + * BK Id: SCCS/s.chrp_setup.c 1.36 09/08/01 15:47:42 paulus */ /* * linux/arch/ppc/kernel/setup.c @@ -31,7 +31,6 @@ #include <linux/init.h> #include <linux/blk.h> #include <linux/ioport.h> -#include <linux/console.h> #include <linux/pci.h> #include <linux/version.h> #include <linux/adb.h> @@ -50,8 +49,9 @@ #include <asm/machdep.h> #include <asm/irq.h> #include <asm/hydra.h> -#include <asm/init.h> +#include <asm/sections.h> #include <asm/time.h> +#include <asm/btext.h> #include "local_irq.h" #include "i8259.h" @@ -67,19 +67,21 @@ void chrp_event_scan(void); void rtas_display_progress(char *, unsigned short); void rtas_indicator_progress(char *, unsigned short); -void bootx_text_progress(char *, unsigned short); +void btext_progress(char *, unsigned short); extern unsigned long pmac_find_end_of_memory(void); - extern kdev_t boot_dev; - extern PTE *Hash, *Hash_end; extern unsigned long Hash_size, Hash_mask; extern int probingmem; extern unsigned long loops_per_jiffy; -extern int bootx_text_mapped; static int max_width; +#ifdef CONFIG_SMP +extern struct smp_ops_t chrp_smp_ops; +extern struct smp_ops_t xics_smp_ops; +#endif + static const char *gg2_memtypes[4] = { "FPM", "SDRAM", "EDO", "BEDO" }; @@ -231,9 +233,6 @@ chrp_find_bridges(); #ifndef CONFIG_PPC64BRIDGE - /* PCI bridge config space access area - - * appears to be not in devtree on longtrail. */ - ioremap(GG2_PCI_CONFIG_BASE, 0x80000); /* * Temporary fixes for PCI devices. * -- Geert @@ -242,7 +241,6 @@ #endif /* CONFIG_PPC64BRIDGE */ -#ifndef CONFIG_POWER4 /* Some IBM machines don't have the hydra -- Cort */ if (!OpenPIC_Addr) { struct device_node *root; @@ -259,7 +257,6 @@ OpenPIC_Addr = ioremap(opprop[n-1], 0x40000); } } -#endif /* * Fix the Super I/O configuration @@ -390,61 +387,14 @@ /* * IDE stuff. */ -unsigned int chrp_ide_irq = 0; -int chrp_ide_ports_known = 0; -ide_ioreg_t chrp_ide_regbase[MAX_HWIFS]; -ide_ioreg_t chrp_idedma_regbase; -void __chrp -chrp_ide_probe(void) -{ - struct pci_dev *pdev = pci_find_device(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_82C105, NULL); - - chrp_ide_ports_known = 1; - - if(pdev) { - chrp_ide_regbase[0]=pdev->resource[0].start; - chrp_ide_regbase[1]=pdev->resource[2].start; - chrp_idedma_regbase=pdev->resource[4].start; - chrp_ide_irq=pdev->irq; - } -} - -void __chrp -chrp_ide_insw(ide_ioreg_t port, void *buf, int ns) -{ - ide_insw(port+_IO_BASE, buf, ns); -} - -void __chrp -chrp_ide_outsw(ide_ioreg_t port, void *buf, int ns) -{ - ide_outsw(port+_IO_BASE, buf, ns); -} - -int __chrp -chrp_ide_default_irq(ide_ioreg_t base) -{ - if (chrp_ide_ports_known == 0) - chrp_ide_probe(); - return chrp_ide_irq; -} - -ide_ioreg_t __chrp -chrp_ide_default_io_base(int index) -{ - if (chrp_ide_ports_known == 0) - chrp_ide_probe(); - return chrp_ide_regbase[index]; -} - -int __chrp +static int __chrp chrp_ide_check_region(ide_ioreg_t from, unsigned int extent) { return check_region(from, extent); } -void __chrp +static void __chrp chrp_ide_request_region(ide_ioreg_t from, unsigned int extent, const char *name) @@ -452,14 +402,14 @@ request_region(from, extent, name); } -void __chrp +static void __chrp chrp_ide_release_region(ide_ioreg_t from, unsigned int extent) { release_region(from, extent); } -void __chrp +static void __chrp chrp_ide_init_hwif_ports(hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq) { ide_ioreg_t reg = data_port; @@ -469,20 +419,42 @@ hw->io_ports[i] = reg; reg += 1; } - if (ctrl_port) { - hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port; + hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port; +} +#endif + +/* + * One of the main thing these mappings are needed for is so that + * xmon can get to the serial port early on. We probably should + * handle the machines with the mpc106 as well as the python (F50) + * and the GG2 (longtrail). Actually we should look in the device + * tree and do the right thing. + */ +static void __init +chrp_map_io(void) +{ + char *name; + + /* + * The code below tends to get removed, please don't take it out. + * The F50 needs this mapping and it you take it out I'll track you + * down and slap your hands. If it causes problems please email me. + * -- Cort <co...@fs...> + */ + name = get_property(find_path_device("/"), "name", NULL); + if (name && strncmp(name, "IBM-70", 6) == 0 + && strstr(name, "-F50")) { + io_block_mapping(0x80000000, 0x80000000, 0x10000000, _PAGE_IO); + io_block_mapping(0x90000000, 0x90000000, 0x10000000, _PAGE_IO); + return; } else { - hw->io_ports[IDE_CONTROL_OFFSET] = 0; + io_block_mapping(0xf8000000, 0xf8000000, 0x04000000, _PAGE_IO); } - if (irq != NULL) - hw->irq = chrp_ide_irq; } -#endif - void __init - chrp_init(unsigned long r3, unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7) +chrp_init(unsigned long r3, unsigned long r4, unsigned long r5, + unsigned long r6, unsigned long r7) { #ifdef CONFIG_BLK_DEV_INITRD /* take care of initrd if we have one */ @@ -522,6 +494,7 @@ ppc_md.calibrate_decr = chrp_calibrate_decr; ppc_md.find_end_of_memory = pmac_find_end_of_memory; + ppc_md.setup_io_mappings = chrp_map_io; if (rtas_data) { struct device_node *rtas; @@ -540,22 +513,23 @@ } } #ifdef CONFIG_BOOTX_TEXT - if (ppc_md.progress == NULL && bootx_text_mapped) - ppc_md.progress = bootx_text_progress; + if (ppc_md.progress == NULL && boot_text_mapped) + ppc_md.progress = btext_progress; #endif +#ifdef CONFIG_SMP +#ifndef CONFIG_POWER4 + ppc_md.smp_ops = &chrp_smp_ops; +#else + ppc_md.smp_ops = &xics_smp_ops; +#endif /* CONFIG_POWER4 */ +#endif /* CONFIG_SMP */ + #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) - ppc_ide_md.insw = chrp_ide_insw; - ppc_ide_md.outsw = chrp_ide_outsw; - ppc_ide_md.default_irq = chrp_ide_default_irq; - ppc_ide_md.default_io_base = chrp_ide_default_io_base; ppc_ide_md.ide_check_region = chrp_ide_check_region; ppc_ide_md.ide_request_region = chrp_ide_request_region; ppc_ide_md.ide_release_region = chrp_ide_release_region; - ppc_ide_md.fix_driveid = ppc_generic_ide_fix_driveid; ppc_ide_md.ide_init_hwif = chrp_ide_init_hwif_ports; - - ppc_ide_md.io_base = _IO_BASE; #endif /* @@ -600,7 +574,7 @@ #ifdef CONFIG_BOOTX_TEXT void -bootx_text_progress(char *s, unsigned short hex) +btext_progress(char *s, unsigned short hex) { prom_print(s); prom_print("\n"); Index: pmac_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/pmac_setup.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- pmac_setup.c 2001/10/05 03:58:58 1.4 +++ pmac_setup.c 2001/10/06 16:11:13 1.5 @@ -1,5 +1,5 @@ /* - * BK Id: SCCS/s.pmac_setup.c 1.24 07/06/01 14:49:51 trini + * BK Id: SCCS/s.pmac_setup.c 1.39 09/08/01 15:47:42 paulus */ /* * linux/arch/ppc/kernel/setup.c @@ -49,7 +49,7 @@ #include <linux/pmu.h> #include <asm/processor.h> -#include <asm/init.h> +#include <asm/sections.h> #include <asm/prom.h> #include <asm/system.h> #include <asm/pgtable.h> @@ -62,6 +62,8 @@ #include <asm/machdep.h> #include <asm/dma.h> #include <asm/bootx.h> +#include <asm/cputable.h> +#include <asm/btext.h> #include <asm/time.h> #include "local_irq.h" @@ -107,13 +109,16 @@ sys_ctrler_t sys_ctrler = SYS_CTRLER_UNKNOWN; #ifdef CONFIG_SMP +extern struct smp_ops_t psurge_smp_ops; +extern struct smp_ops_t core99_smp_ops; + volatile static long int core99_l2_cache; -void __pmac +void __init core99_init_l2(void) { int cpu = smp_processor_id(); - if ( (_get_PVR() >> 16) != 8 && (_get_PVR() >> 16) != 12 ) + if (!(cur_cpu_spec[0]->cpu_features & CPU_FTR_L2CR)) return; if (cpu == 0){ @@ -240,6 +245,9 @@ { struct device_node *cpu; int *fp; + unsigned long pvr; + + pvr = PVR_VER(mfspr(PVR)); /* Set loops_per_jiffy to a half-way reasonable value, for use until calibrate_delay gets called. */ @@ -247,18 +255,12 @@ if (cpu != 0) { fp = (int *) get_property(cpu, "clock-frequency", NULL); if (fp != 0) { - switch (_get_PVR() >> 16) { - case 4: /* 604 */ - case 8: /* G3 */ - case 9: /* 604e */ - case 10: /* mach V (604ev5) */ - case 12: /* G4 */ - case 20: /* 620 */ + if (pvr == 4 || pvr >= 8) + /* 604, G3, G4 etc. */ loops_per_jiffy = *fp / HZ; - break; - default: /* 601, 603, etc. */ + else + /* 601, 603, etc. */ loops_per_jiffy = *fp / (2*HZ); - } } else loops_per_jiffy = 50000000 / HZ; } @@ -266,14 +268,13 @@ /* this area has the CPU identification register and some registers used by smp boards */ sysctrl_regs = (volatile u32 *) ioremap(0xf8000000, 0x1000); - __ioremap(0xffc00000, 0x400000, pgprot_val(PAGE_READONLY)); ohare_init(); /* Lookup PCI hosts */ pmac_find_bridges(); /* Checks "l2cr-value" property in the registry */ - if ( (_get_PVR() >> 16) == 8 || (_get_PVR() >> 16) == 12 ) { + if (cur_cpu_spec[0]->cpu_features & CPU_FTR_L2CR) { struct device_node *np = find_devices("cpus"); if (np == 0) np = find_type_devices("cpu"); @@ -305,9 +306,19 @@ #ifdef CONFIG_ADB_CUDA find_via_cuda(); +#else + if (find_devices("via-cuda")) { + printk("WARNING ! Your machine is Cuda based but your kernel\n"); + printk(" wasn't compiled with CONFIG_ADB_CUDA option !\n"); + } #endif #ifdef CONFIG_ADB_PMU find_via_pmu(); +#else + if (find_devices("via-pmu")) { + printk("WARNING ! Your machine is PMU based but your kernel\n"); + printk(" wasn't compiled with CONFIG_ADB_PMU option !\n"); + } #endif #ifdef CONFIG_NVRAM pmac_nvram_init(); @@ -318,6 +329,14 @@ else #endif ROOT_DEV = to_kdev_t(DEFAULT_ROOT_DEVICE); + +#ifdef CONFIG_SMP + /* Check for Core99 */ + if (find_devices("uni-n")) + ppc_md.smp_ops = &core99_smp_ops; + else + ppc_md.smp_ops = &psurge_smp_ops; +#endif /* CONFIG_SMP */ } static void __init ohare_init(void) @@ -432,9 +451,11 @@ static int found_boot = 0; char *p; - /* Do nothing if the root has been set already. */ + /* Do nothing if the root has been mounted already. */ + if (init_task.fs->rootmnt != NULL) + return; if ((goodness <= current_root_goodness) && - (ROOT_DEV != to_kdev_t(DEFAULT_ROOT_DEVICE))) + (ROOT_DEV != to_kdev_t(DEFAULT_ROOT_DEVICE))) return; p = strstr(saved_command_line, "root="); if (p != NULL && (p == saved_command_line || p[-1] == ' ')) @@ -520,41 +541,7 @@ /* * IDE stuff. */ -void __pmac -pmac_ide_insw(ide_ioreg_t port, void *buf, int ns) -{ - _insw_ns((unsigned short *)(port+_IO_BASE), buf, ns); -} - -void __pmac -pmac_ide_outsw(ide_ioreg_t port, void *buf, int ns) -{ - _outsw_ns((unsigned short *)(port+_IO_BASE), buf, ns); -} - -int __pmac -pmac_ide_default_irq(ide_ioreg_t base) -{ -#if defined(CONFIG_BLK_DEV_IDE) && defined(CONFIG_BLK_DEV_IDE_PMAC) - extern int pmac_ide_get_irq(ide_ioreg_t base); - return pmac_ide_get_irq(base); -#else - return 0; -#endif -} - -ide_ioreg_t __pmac -pmac_ide_default_io_base(int index) -{ -#if defined(CONFIG_BLK_DEV_IDE) && defined(CONFIG_BLK_DEV_IDE_PMAC) - extern ide_ioreg_t pmac_ide_get_base(int index); - return pmac_ide_get_base(index); -#else - return 0; -#endif -} - -int __pmac +static int __pmac pmac_ide_check_region(ide_ioreg_t from, unsigned int extent) { /* @@ -563,11 +550,11 @@ * register, it should be OK. */ if (from < ~_IO_BASE) - return 0; - return check_region(from, extent); + return check_region(from, extent); + return 0; } -void __pmac +static void __pmac pmac_ide_request_region(ide_ioreg_t from, unsigned int extent, const char *name) @@ -576,7 +563,7 @@ request_region(from, extent, name); } -void __pmac +static void __pmac pmac_ide_release_region(ide_ioreg_t from, unsigned int extent) { @@ -584,21 +571,24 @@ release_region(from, extent); } -#if defined(CONFIG_BLK_DEV_IDE) && defined(CONFIG_BLK_DEV_IDE_PMAC) -/* This is declared in drivers/block/ide-pmac.c */ -void __pmac -pmac_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq); -#else /* - * This registers the standard ports for this architecture with the IDE - * driver. + * This is only used if we have a PCI IDE controller, not + * for the IDE controller in the ohare/paddington/heathrow/keylargo. */ -void __pmac -pmac_ide_init_hwif_ports(hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq) +static void __pmac +pmac_ide_init_hwif_ports(hw_regs_t *hw, ide_ioreg_t data_port, + ide_ioreg_t ctrl_port, int *irq) { + ide_ioreg_t reg = data_port; + int i; + + for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) { + hw->io_ports[i] = reg; + reg += 1; + } + hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port; } #endif -#endif /* * Read in a property describing some pieces of memory. @@ -719,19 +709,16 @@ ppc_md.find_end_of_memory = pmac_find_end_of_memory; #if defined(CONFIG_BLK_DEV_IDE) && defined(CONFIG_BLK_DEV_IDE_PMAC) - ppc_ide_md.insw = pmac_ide_insw; - ppc_ide_md.outsw = pmac_ide_outsw; - ppc_ide_md.default_irq = pmac_ide_default_irq; - ppc_ide_md.default_io_base = pmac_ide_default_io_base; ppc_ide_md.ide_check_region = pmac_ide_check_region; ppc_ide_md.ide_request_region = pmac_ide_request_region; ppc_ide_md.ide_release_region = pmac_ide_release_region; - ppc_ide_md.fix_driveid = ppc_generic_ide_fix_driveid; ppc_ide_md.ide_init_hwif = pmac_ide_init_hwif_ports; #endif /* CONFIG_BLK_DEV_IDE && CONFIG_BLK_DEV_IDE_PMAC */ + #ifdef CONFIG_BOOTX_TEXT ppc_md.progress = pmac_progress; #endif /* CONFIG_BOOTX_TEXT */ + if (ppc_md.progress) ppc_md.progress("pmac_init(): exit", 0); } @@ -745,7 +732,7 @@ { if (disp_bi == 0) return; - prom_drawstring(s); - prom_drawchar('\n'); + btext_drawstring(s); + btext_drawchar('\n'); } #endif /* CONFIG_BOOTX_TEXT */ Index: prep_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/prep_setup.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- prep_setup.c 2001/10/05 08:48:44 1.4 +++ prep_setup.c 2001/10/06 16:11:13 1.5 @@ -1,5 +1,5 @@ /* - * BK Id: SCCS/s.prep_setup.c 1.26 08/05/01 16:18:54 trini + * BK Id: SCCS/s.prep_setup.c 1.36 09/08/01 15:47:42 paulus */ /* * linux/arch/ppc/kernel/setup.c @@ -7,6 +7,9 @@ * Copyright (C) 1995 Linus Torvalds * Adapted from 'alpha' version by Gary Thomas * Modified by Cort Dougan (co...@cs...) + * + * Support for PReP (Motorola MTX/MVME) + * by Troy Benjegerdes (ho...@dr...) */ /* @@ -37,7 +40,7 @@ #include <linux/pci.h> #include <linux/ide.h> -#include <asm/init.h> +#include <asm/sections.h> #include <asm/mmu.h> #include <asm/processor.h> #include <asm/residual.h> @@ -75,6 +78,7 @@ extern unsigned char rs_nvram_read_val(int addr); extern void rs_nvram_write_val(int addr, unsigned char val); +extern void ibm_prep_init(void); extern void prep_find_bridges(void); extern char saved_command_line[256]; @@ -316,13 +320,20 @@ /*print_residual_device_info();*/ - raven_init(); + switch (_prep_type) { + case _PREP_Motorola: + raven_init(); + break; + case _PREP_IBM: + ibm_prep_init(); + break; + } #ifdef CONFIG_VGA_CONSOLE /* remap the VGA memory */ vgacon_remap_base = 0xf0000000; /*vgacon_remap_base = ioremap(0xc0000000, 0xba000);*/ - conswitchp = &vga_con; + conswitchp = &vga_con; #elif defined(CONFIG_DUMMY_CONSOLE) conswitchp = &dummy_con; #endif @@ -649,23 +660,6 @@ } } -#if 0 -void __prep -prep_do_IRQ(struct pt_regs *regs, int cpu) -{ - int irq; - - if ( (irq = i8259_irq(0)) < 0 ) - { - printk(KERN_DEBUG "Bogus interrupt from PC = %lx\n", - regs->nip); - ppc_spurious_interrupts++; - return; - } - ppc_irq_dispatch_handler( regs, irq ); -} -#endif - int __prep prep_get_irq(struct pt_regs *regs) { @@ -688,18 +682,6 @@ /* * IDE stuff. */ -void __prep -prep_ide_insw(ide_ioreg_t port, void *buf, int ns) -{ - _insw((unsigned short *)((port)+_IO_BASE), buf, ns); -} - -void __prep -prep_ide_outsw(ide_ioreg_t port, void *buf, int ns) -{ - _outsw((unsigned short *)((port)+_IO_BASE), buf, ns); -} - int __prep prep_ide_default_irq(ide_ioreg_t base) { @@ -708,8 +690,9 @@ case 0x170: return 13; case 0x1e8: return 11; case 0x168: return 10; - default: - return 0; + case 0xfff0: return 14; /* MCP(N)750 ide0 */ + case 0xffe0: return 15; /* MCP(N)750 ide1 */ + default: return 0; } } @@ -767,6 +750,45 @@ } #endif +#ifdef CONFIG_SMP +/* PReP (MTX) support */ +static int +smp_prep_probe(void) +{ + extern int mot_multi; + + if (mot_multi) { + openpic_request_IPIs(); + smp_hw_index[1] = 1; + return 2; + } + + return 1; +} + +static void +smp_prep_kick_cpu(int nr) +{ + *(unsigned long *)KERNELBASE = nr; + asm volatile("dcbf 0,%0"::"r"(KERNELBASE):"memory"); + printk("CPU1 reset, waiting\n"); +} + +static void +smp_prep_setup_cpu(int cpu_nr) +{ + if (OpenPIC_Addr) + do_openpic_setup_cpu(); +} + +static struct smp_ops_t prep_smp_ops = { + smp_openpic_message_pass, + smp_prep_probe, + smp_prep_kick_cpu, + smp_prep_setup_cpu, +}; +#endif /* CONFIG_SMP */ + /* * This finds the amount of physical ram and does necessary * setup for prep. This is pretty architecture specific so @@ -775,29 +797,39 @@ */ unsigned long __init prep_find_end_of_memory(void) { - unsigned long total; + unsigned long total = 0; + extern unsigned int boot_mem_size; + #ifdef CONFIG_PREP_RESIDUAL total = res->TotalMemory; -#else - total = 0; #endif - if (total == 0 ) - { + if (total == 0 && boot_mem_size != 0) + total = boot_mem_size; + + if (total == 0) { /* * I need a way to probe the amount of memory if the residual * data doesn't contain it. -- Cort */ - printk("Ramsize from residual data was 0 -- Probing for value\n"); total = 0x02000000; - printk("Ramsize default to be %ldM\n", total>>20); + printk(KERN_INFO "Ramsize from residual data was 0" + " -- defaulting to %ldM\n", total>>20); } return (total); } -unsigned long *MotSave_SmpIar; -unsigned char *MotSave_CpusState[2]; +/* + * Setup the bat mappings we're going to load that cover + * the io areas. RAM was mapped by mapin_ram(). + * -- Cort + */ +void __init prep_map_io(void) +{ + io_block_mapping(0x80000000, 0x80000000, 0x10000000, _PAGE_IO); + io_block_mapping(0xf0000000, 0xc0000000, 0x08000000, _PAGE_IO); +} void __init prep_init2(void) @@ -825,13 +857,6 @@ { memcpy((void *)res,(void *)(r3+KERNELBASE), sizeof(RESIDUAL)); - - /* These need to be saved for the Motorola Prep - * MVME4600 and Dual MTX boards. - */ - MotSave_SmpIar = &old_res->VitalProductData.SmpIar; - MotSave_CpusState[0] = &old_res->Cpus[0].CpuState; - MotSave_CpusState[1] = &old_res->Cpus[1].CpuState; } #endif @@ -899,17 +924,18 @@ } ppc_md.find_end_of_memory = prep_find_end_of_memory; + ppc_md.setup_io_mappings = prep_map_io; #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) - ppc_ide_md.insw = prep_ide_insw; - ppc_ide_md.outsw = prep_ide_outsw; ppc_ide_md.default_irq = prep_ide_default_irq; ppc_ide_md.default_io_base = prep_ide_default_io_base; ppc_ide_md.ide_check_region = prep_ide_check_region; ppc_ide_md.ide_request_region = prep_ide_request_region; ppc_ide_md.ide_release_region = prep_ide_release_region; - ppc_ide_md.fix_driveid = NULL; ppc_ide_md.ide_init_hwif = prep_ide_init_hwif_ports; -#endif - ppc_ide_md.io_base = _IO_BASE; +#endif + +#ifdef CONFIG_SMP + ppc_md.smp_ops = &prep_smp_ops; +#endif /* CONFIG_SMP */ } |
From: James S. <jsi...@us...> - 2001-10-06 16:11:16
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/macintosh In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/drivers/macintosh Modified Files: Makefile Log Message: Synced to 2.4.10 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/macintosh/Makefile,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Makefile 2001/03/31 00:00:56 1.6 +++ Makefile 2001/10/06 16:11:13 1.7 @@ -15,7 +15,7 @@ # Objects that export symbols. -export-objs := adb.o rtc.o +export-objs := adb.o rtc.o via-pmu.o # Object file lists. |
From: James S. <jsi...@us...> - 2001-10-06 16:11:16
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/drivers/usb Modified Files: Config.in Makefile Log Message: Synced to 2.4.10 Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/Config.in,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- Config.in 2001/07/08 00:41:51 1.14 +++ Config.in 2001/10/06 16:11:13 1.15 @@ -32,7 +32,12 @@ if [ "$CONFIG_USB_STORAGE" != "n" ]; then bool ' USB Mass Storage verbose debug' CONFIG_USB_STORAGE_DEBUG bool ' Freecom USB/ATAPI Bridge support' CONFIG_USB_STORAGE_FREECOM - bool ' Microtech CompactFlash/SmartMedia reader' CONFIG_USB_STORAGE_DPCM + bool ' ISD-200 USB/ATA Bridge support' CONFIG_USB_STORAGE_ISD200 + bool ' Microtech CompactFlash/SmartMedia support' CONFIG_USB_STORAGE_DPCM + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + bool ' HP CD-Writer 82xx support' CONFIG_USB_STORAGE_HP8200e + bool ' SanDisk SDDR-09 (and other SmartMedia) support' CONFIG_USB_STORAGE_SDDR09 + fi fi dep_tristate ' USB Modem (CDC ACM) support' CONFIG_USB_ACM $CONFIG_USB dep_tristate ' USB Printer support' CONFIG_USB_PRINTER $CONFIG_USB @@ -52,10 +57,11 @@ dep_tristate ' DABUSB driver' CONFIG_USB_DABUSB $CONFIG_USB comment 'USB Network adaptors' - dep_tristate ' PLUSB Prolific USB-Network driver (EXPERIMENTAL)' CONFIG_USB_PLUSB $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL dep_tristate ' USB ADMtek Pegasus-based ethernet device support (EXPERIMENTAL)' CONFIG_USB_PEGASUS $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL dep_tristate ' USB CATC NetMate-based Ethernet driver (EXPERIMENTAL)' CONFIG_USB_CATC $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL - dep_tristate ' NetChip 1080-based USB Host-to-Host Link (EXPERIMENTAL)' CONFIG_USB_NET1080 $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL + dep_tristate ' USB CDC Ethernet class (USB cable modem) support (EXPERIMENTAL)' CONFIG_USB_CDCETHER $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL + dep_tristate ' USB KLSI KL5USB101-based ethernet device support (EXPERIMENTAL)' CONFIG_USB_KAWETH $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL + dep_tristate ' USB-to-USB Networking (NetChip, Prolific, ...) (EXPERIMENTAL)' CONFIG_USB_USBNET $CONFIG_USB $CONFIG_NET $CONFIG_EXPERIMENTAL comment 'USB port drivers' dep_tristate ' USS720 parport driver' CONFIG_USB_USS720 $CONFIG_USB $CONFIG_PARPORT Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/Makefile,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- Makefile 2001/07/08 00:41:51 1.13 +++ Makefile 2001/10/06 16:11:13 1.14 @@ -17,6 +17,14 @@ list-multi := usbcore.o usbcore-objs := usb.o usb-debug.o hub.o +ifneq ($(CONFIG_USB_PWC),n) + export-objs += pwc-uncompress.o + list-multi += pwc.o +endif + +pwc-objs := pwc-if.o pwc-misc.o pwc-ctrl.o pwc-uncompress.o + + # Optional parts of multipart objects. ifeq ($(CONFIG_USB_DEVICEFS),y) @@ -42,20 +50,22 @@ obj-$(CONFIG_USB_PRINTER) += printer.o obj-$(CONFIG_USB_AUDIO) += audio.o obj-$(CONFIG_USB_IBMCAM) += ibmcam.o +obj-$(CONFIG_USB_PWC) += pwc.o obj-$(CONFIG_USB_DC2XX) += dc2xx.o obj-$(CONFIG_USB_MDC800) += mdc800.o obj-$(CONFIG_USB_USS720) += uss720.o obj-$(CONFIG_USB_DABUSB) += dabusb.o -obj-$(CONFIG_USB_PLUSB) += plusb.o obj-$(CONFIG_USB_OV511) += ov511.o obj-$(CONFIG_USB_SE401) += se401.o obj-$(CONFIG_USB_PEGASUS) += pegasus.o obj-$(CONFIG_USB_CATC) += catc.o +obj-$(CONFIG_USB_KAWETH) += kaweth.o +obj-$(CONFIG_USB_CDCETHER) += CDCEther.o obj-$(CONFIG_USB_RIO500) += rio500.o obj-$(CONFIG_USB_DSBR) += dsbr100.o obj-$(CONFIG_USB_MICROTEK) += microtek.o obj-$(CONFIG_USB_BLUETOOTH) += bluetooth.o -obj-$(CONFIG_USB_NET1080) += net1080.o +obj-$(CONFIG_USB_USBNET) += usbnet.o # Object files in subdirectories @@ -76,3 +86,6 @@ usbcore.o: $(usbcore-objs) $(LD) -r -o $@ $(usbcore-objs) + +pwc.o: $(pwc-objs) + $(LD) -r -o $@ $(pwc-objs) |
From: James S. <jsi...@us...> - 2001-10-06 16:11:16
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/block In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/drivers/block Modified Files: genhd.c Log Message: Synced to 2.4.10 Index: genhd.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/block/genhd.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- genhd.c 2001/07/29 18:24:12 1.5 +++ genhd.c 2001/10/06 16:11:13 1.6 @@ -10,13 +10,138 @@ * (li...@ar...) */ +/* + * TODO: rip out the remaining init crap from this file --hch + */ + #include <linux/config.h> +#include <linux/module.h> #include <linux/fs.h> #include <linux/genhd.h> #include <linux/kernel.h> #include <linux/blk.h> #include <linux/init.h> +#include <linux/spinlock.h> + + +static rwlock_t gendisk_lock; + +/* + * Global kernel list of partitioning information. + * + * XXX: you should _never_ access this directly. + * the only reason this is exported is source compatiblity. + */ +/*static*/ struct gendisk *gendisk_head; + +EXPORT_SYMBOL(gendisk_head); + + +/** + * add_gendisk - add partitioning information to kernel list + * @gp: per-device partitioning information + * + * This function registers the partitioning information in @gp + * with the kernel. + */ +void +add_gendisk(struct gendisk *gp) +{ + write_lock(&gendisk_lock); + gp->next = gendisk_head; + gendisk_head = gp; + write_unlock(&gendisk_lock); +} + +EXPORT_SYMBOL(add_gendisk); + + +/** + * del_gendisk - remove partitioning information from kernel list + * @gp: per-device partitioning information + * + * This function unregisters the partitioning information in @gp + * with the kernel. + */ +void +del_gendisk(struct gendisk *gp) +{ + struct gendisk **gpp; + + write_lock(&gendisk_lock); + for (gpp = &gendisk_head; *gpp; gpp = &((*gpp)->next)) + if (*gpp == gp) + break; + if (*gpp) + *gpp = (*gpp)->next; + write_unlock(&gendisk_lock); +} + +EXPORT_SYMBOL(del_gendisk); + +/** + * get_gendisk - get partitioning information for a given device + * @dev: device to get partitioning information for + * + * This function gets the structure containing partitioning + * information for the given device @dev. + */ +struct gendisk * +get_gendisk(kdev_t dev) +{ + struct gendisk *gp = NULL; + int maj = MAJOR(dev); + + read_lock(&gendisk_lock); + for (gp = gendisk_head; gp; gp = gp->next) + if (gp->major == maj) + break; + read_unlock(&gendisk_lock); + + return gp; +} + +EXPORT_SYMBOL(get_gendisk); + + +#ifdef CONFIG_PROC_FS +int +get_partition_list(char *page, char **start, off_t offset, int count) +{ + struct gendisk *gp; + char buf[64]; + int len, n; + + len = sprintf(page, "major minor #blocks name\n\n"); + read_lock(&gendisk_lock); + for (gp = gendisk_head; gp; gp = gp->next) { + for (n = 0; n < (gp->nr_real << gp->minor_shift); n++) { + if (gp->part[n].nr_sects == 0) + continue; + + len += snprintf(page + len, 63, + "%4d %4d %10d %s\n", + gp->major, n, gp->sizes[n], + disk_name(gp, n, buf)); + if (len < offset) + offset -= len, len = 0; + else if (len >= offset + count) + goto out; + } + } + +out: + read_unlock(&gendisk_lock); + *start = page + offset; + len -= offset; + if (len < 0) + len = 0; + return len > count ? count : len; +} +#endif + + extern int blk_dev_init(void); #ifdef CONFIG_BLK_DEV_DAC960 extern void DAC960_Initialize(void); @@ -32,6 +157,7 @@ int __init device_init(void) { + rwlock_init(&gendisk_lock); blk_dev_init(); sti(); #ifdef CONFIG_I2O |
From: James S. <jsi...@us...> - 2001-10-06 16:11:16
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/sparc64 In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/sparc64 Modified Files: config.in Log Message: Synced to 2.4.10 Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/sparc64/config.in,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- config.in 2001/10/05 03:58:58 1.18 +++ config.in 2001/10/06 16:11:13 1.19 @@ -194,6 +194,9 @@ fi dep_tristate 'Qlogic ISP SCSI support' CONFIG_SCSI_QLOGIC_ISP $CONFIG_SCSI dep_tristate 'Qlogic ISP FC SCSI support' CONFIG_SCSI_QLOGIC_FC $CONFIG_SCSI + if [ "$CONFIG_SCSI_QLOGIC_FC" != "n" ]; then + define_bool CONFIG_SCSI_QLOGIC_FC_FIRMWARE y + fi fi endmenu |
From: James S. <jsi...@us...> - 2001-10-06 16:11:16
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/sh/kernel In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/sh/kernel Modified Files: setup.c Log Message: Synced to 2.4.10 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/sh/kernel/setup.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- setup.c 2001/07/30 03:52:10 1.3 +++ setup.c 2001/10/06 16:11:13 1.4 @@ -37,7 +37,6 @@ #include <asm/system.h> #include <asm/io.h> #include <asm/io_generic.h> -#include <asm/smp.h> #include <asm/machvec.h> #ifdef CONFIG_SH_EARLY_PRINTK #include <asm/sh_bios.h> @@ -47,7 +46,12 @@ * Machine setup.. */ -struct sh_cpuinfo boot_cpu_data = { CPU_SH_NONE, 0, 0, 0, }; +/* + * Initialize loops_per_jiffy as 10000000 (1000MIPS). + * This value will be used at the very early stage of serial setup. + * The bigger value means no problem. + */ +struct sh_cpuinfo boot_cpu_data = { CPU_SH_NONE, 0, 10000000, }; struct screen_info screen_info; #if defined(CONFIG_SH_GENERIC) || defined(CONFIG_SH_UNKNOWN) @@ -207,8 +211,7 @@ saved_command_line[COMMAND_LINE_SIZE-1] = '\0'; memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START; - /* Default is 4Mbyte. */ - memory_end = (unsigned long)PAGE_OFFSET+0x00400000+__MEMORY_START; + memory_end = memory_start + __MEMORY_SIZE; for (;;) { /* @@ -266,7 +269,9 @@ void __init setup_arch(char **cmdline_p) { +#if defined(CONFIG_SH_GENERIC) || defined(CONFIG_SH_UNKNOWN) extern struct sh_machine_vector mv_unknown; +#endif struct sh_machine_vector *mv = NULL; char mv_name[MV_NAME_SIZE] = ""; unsigned long mv_io_base = 0; @@ -354,6 +359,18 @@ #define PFN_DOWN(x) ((x) >> PAGE_SHIFT) #define PFN_PHYS(x) ((x) << PAGE_SHIFT) +#ifdef CONFIG_DISCONTIGMEM + NODE_DATA(0)->bdata = &discontig_node_bdata[0]; + NODE_DATA(1)->bdata = &discontig_node_bdata[1]; + + bootmap_size = init_bootmem_node(NODE_DATA(1), + PFN_UP(__MEMORY_START_2ND), + PFN_UP(__MEMORY_START_2ND), + PFN_DOWN(__MEMORY_START_2ND+__MEMORY_SIZE_2ND)); + free_bootmem_node(NODE_DATA(1), __MEMORY_START_2ND, __MEMORY_SIZE_2ND); + reserve_bootmem_node(NODE_DATA(1), __MEMORY_START_2ND, bootmap_size); +#endif + /* * Find the highest page frame number we have available */ @@ -375,7 +392,7 @@ * is intact) must be done via bootmem_alloc(). */ bootmap_size = init_bootmem_node(NODE_DATA(0), start_pfn, - __MEMORY_START>>PAGE_SHIFT, + __MEMORY_START>>PAGE_SHIFT, max_low_pfn); /* @@ -397,7 +414,8 @@ last_pfn = max_low_pfn; pages = last_pfn - curr_pfn; - free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(pages)); + free_bootmem_node(NODE_DATA(0), PFN_PHYS(curr_pfn), + PFN_PHYS(pages)); } /* @@ -407,19 +425,19 @@ * case of us accidentally initializing the bootmem allocator with * an invalid RAM area. */ - reserve_bootmem(__MEMORY_START+PAGE_SIZE, (PFN_PHYS(start_pfn) + - bootmap_size + PAGE_SIZE-1) - __MEMORY_START); + reserve_bootmem_node(NODE_DATA(0), __MEMORY_START+PAGE_SIZE, + (PFN_PHYS(start_pfn)+bootmap_size+PAGE_SIZE-1)-__MEMORY_START); /* * reserve physical page 0 - it's a special BIOS page on many boxes, * enabling clean reboots, SMP operation, laptop functions. */ - reserve_bootmem(__MEMORY_START, PAGE_SIZE); + reserve_bootmem_node(NODE_DATA(0), __MEMORY_START, PAGE_SIZE); #ifdef CONFIG_BLK_DEV_INITRD if (LOADER_TYPE && INITRD_START) { if (INITRD_START + INITRD_SIZE <= (max_low_pfn << PAGE_SHIFT)) { - reserve_bootmem(INITRD_START+__MEMORY_START, INITRD_SIZE); + reserve_bootmem_node(NODE_DATA(0), INITRD_START+__MEMORY_START, INITRD_SIZE); initrd_start = INITRD_START ? INITRD_START + PAGE_OFFSET + __MEMORY_START : 0; initrd_end = initrd_start + INITRD_SIZE; @@ -449,7 +467,6 @@ for (i = 0; i < STANDARD_IO_RESOURCES; i++) request_resource(&ioport_resource, standard_io_resources+i); #endif - /* Perform the machine specific initialisation */ if (sh_mv.mv_init_arch != NULL) { sh_mv.mv_init_arch(); |
From: James S. <jsi...@us...> - 2001-10-06 16:11:16
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/sh In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/sh Modified Files: config.in Log Message: Synced to 2.4.10 Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/sh/config.in,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- config.in 2001/07/08 00:41:51 1.13 +++ config.in 2001/10/06 16:11:13 1.14 @@ -42,6 +42,7 @@ CAT68701 CONFIG_SH_CAT68701 \ BigSur CONFIG_SH_BIGSUR \ SH2000 CONFIG_SH_SH2000 \ + ADX CONFIG_SH_ADX \ BareCPU CONFIG_SH_UNKNOWN" Generic # The SH7750 RTC module is disabled in the Dreamcast @@ -88,24 +89,40 @@ define_bool CONFIG_CPU_SH4 y fi bool 'Little Endian' CONFIG_CPU_LITTLE_ENDIAN +# Platform-specific memory start and size definitions if [ "$CONFIG_SH_SOLUTION_ENGINE" = "y" -o "$CONFIG_SH_HP600" = "y" -o \ "$CONFIG_SH_BIGSUR" = "y" -o "$CONFIG_SH_7751_SOLUTION_ENGINE" = "y" -o \ "$CONFIG_SH_DREAMCAST" = "y" -o "$CONFIG_SH_SH2000" = "y" ]; then - define_hex CONFIG_MEMORY_START 0c000000 -else - if [ "$CONFIG_CPU_SUBTYPE_ST40STB1" = "y" ]; then - bool 'Memory on LMI' CONFIG_ST40_LMI_MEMORY - if [ "$CONFIG_ST40_LMI_MEMORY" = "y" ] ; then + define_hex CONFIG_MEMORY_START 0c000000 + define_hex CONFIG_MEMORY_SIZE 00400000 + define_bool CONFIG_MEMORY_SET y +fi +if [ "$CONFIG_CPU_SUBTYPE_ST40STB1" = "y" ]; then + bool 'Memory on LMI' CONFIG_ST40_LMI_MEMORY + if [ "$CONFIG_ST40_LMI_MEMORY" = "y" ] ; then define_hex CONFIG_MEMORY_START 08000000 - else - hex 'EMI physical memory start address' CONFIG_MEMORY_START 08000000 - fi - else - hex 'Physical memory start address' CONFIG_MEMORY_START 08000000 - fi + define_hex CONFIG_MEMORY_SIZE 00400000 + define_bool CONFIG_MEMORY_SET y + fi +fi +if [ "$CONFIG_SH_ADX" = "y" ]; then + define_hex CONFIG_MEMORY_START 08000000 + define_hex CONFIG_MEMORY_SIZE 00400000 + define_bool CONFIG_MEMORY_SET y fi +# If none of the above have set memory start/size, ask the user. +if [ "$CONFIG_MEMORY_SET" != "y" ]; then + hex 'Physical memory start address' CONFIG_MEMORY_START 08000000 + hex 'Physical memory size' CONFIG_MEMORY_SIZE 00400000 +fi endmenu +if [ "$CONFIG_SH_HP690" = "y" ]; then + define_bool CONFIG_DISCONTIGMEM y +else + define_bool CONFIG_DISCONTIGMEM n +fi + mainmenu_option next_comment comment 'General setup' @@ -120,10 +137,23 @@ bool 'Networking support' CONFIG_NET if [ "$CONFIG_SH_GENERIC" = "y" -o "$CONFIG_SH_SOLUTION_ENGINE" = "y" -o \ - "$CONFIG_SH_UNKNOWN" = "y" -o "$CONFIG_SH_CAT68701" = "y" ]; then + "$CONFIG_SH_UNKNOWN" = "y" -o "$CONFIG_SH_CAT68701" = "y" -o \ + "$CONFIG_SH_ADX" = "y" ]; then bool 'Compact Flash Enabler support' CONFIG_CF_ENABLER fi +if [ "$CONFIG_CF_ENABLER" = "y" ]; then + choice 'Compact Flash Connection Area' \ + "Area5 CONFIG_CF_AREA5 \ + Area6 CONFIG_CF_AREA6" Area6 + if [ "$CONFIG_CF_AREA5" = "y" ]; then + define_hex CONFIG_CF_BASE_ADDR b4000000 + fi + if [ "$CONFIG_CF_AREA6" = "y" ]; then + define_hex CONFIG_CF_BASE_ADDR b8000000 + fi +fi + bool 'Hitachi HD64461 companion chip support' CONFIG_HD64461 if [ "$CONFIG_HD64461" = "y" ]; then int 'HD64461 IRQ' CONFIG_HD64461_IRQ 36 @@ -136,6 +166,8 @@ int 'HD64465 IRQ' CONFIG_HD64465_IRQ 5 fi +bool 'DMA controller (DMAC) support' CONFIG_SH_DMA + bool 'PCI support' CONFIG_PCI if [ "$CONFIG_PCI" = "y" ]; then choice ' PCI access mode' \ @@ -148,6 +180,7 @@ if [ "$CONFIG_PCI_GODIRECT" = "y" -o "$CONFIG_PCI_GOANY" = "y" ]; then define_bool CONFIG_PCI_DIRECT y fi + define_bool CONFIG_SH_PCIDMA_NONCOHERENT n fi source drivers/pci/Config.in @@ -224,13 +257,22 @@ endmenu fi +mainmenu_option next_comment +comment 'Old CD-ROM drivers (not SCSI, not IDE)' + +bool 'Support non-SCSI/IDE/ATAPI CDROM drives' CONFIG_CD_NO_IDESCSI +if [ "$CONFIG_CD_NO_IDESCSI" != "n" ]; then + source drivers/cdrom/Config.in +fi +endmenu + # # input before char - char/joystick depends on it. As does USB. # source drivers/input/Config.in if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then -source drivers/maple/Config.in + source drivers/maple/Config.in fi mainmenu_option next_comment @@ -261,7 +303,7 @@ "$CONFIG_SH_BIGSUR" = "y" -o \ "$CONFIG_SH_7751_SOLUTION_ENGINE" = "y" -o \ "$CONFIG_SH_SOLUTION_ENGINE" = "y" ]; then - bool 'Heartbeat LED' CONFIG_HEARTBEAT + bool 'Heartbeat LED' CONFIG_HEARTBEAT fi if [ "$CONFIG_PARPORT" != "n" ]; then @@ -297,7 +339,6 @@ bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ bool 'Use LinuxSH standard BIOS' CONFIG_SH_STANDARD_BIOS if [ "$CONFIG_SH_STANDARD_BIOS" = "y" ]; then - bool 'GDB Stub kernel debug' CONFIG_DEBUG_KERNEL_WITH_GDB_STUB bool 'Early printk support' CONFIG_SH_EARLY_PRINTK fi endmenu |
From: James S. <jsi...@us...> - 2001-10-06 16:11:16
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/mips64/sgi-ip22 In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/mips64/sgi-ip22 Modified Files: ip22-setup.c Log Message: Synced to 2.4.10 Index: ip22-setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/mips64/sgi-ip22/ip22-setup.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ip22-setup.c 2001/05/12 22:12:06 1.6 +++ ip22-setup.c 2001/10/06 16:11:12 1.7 @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. @@ -67,7 +66,7 @@ * graphics console, it is set to "d" for the first serial * line and "d2" for the second serial line. */ - ctype = ArcArcGetEnvironmentVariable("console"); + ctype = ArcGetEnvironmentVariable("console"); if(*ctype == 'd') { if(*(ctype+1)=='2') console_setup ("ttyS1"); @@ -82,7 +81,30 @@ ip22_volume_set(simple_strtoul(ArcGetEnvironmentVariable("volume"), NULL, 10)); +#ifdef CONFIG_VT +#ifdef CONFIG_SGI_NEWPORT_CONSOLE + conswitchp = &newport_con; + + screen_info = (struct screen_info) { + 0, 0, /* orig-x, orig-y */ + 0, /* unused */ + 0, /* orig_video_page */ + 0, /* orig_video_mode */ + 160, /* orig_video_cols */ + 0, 0, 0, /* unused, ega_bx, unused */ + 64, /* orig_video_lines */ + 0, /* orig_video_isVGA */ + 16 /* orig_video_points */ + }; +#else + conswitchp = &dummy_con; +#endif +#endif rtc_ops = &indy_rtc_ops; + kbd_ops = &sgi_kbd_ops; +#ifdef CONFIG_PSMOUSE + aux_device_present = 0xaa; +#endif #ifdef CONFIG_VIDEO_VINO init_vino(); #endif |
From: James S. <jsi...@us...> - 2001-10-06 16:11:16
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/ppc Modified Files: config.in Log Message: Synced to 2.4.10 Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/config.in,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- config.in 2001/07/29 18:24:12 1.19 +++ config.in 2001/10/06 16:11:12 1.20 @@ -1,4 +1,4 @@ -# BK Id: SCCS/s.config.in 1.34 07/08/01 11:39:11 trini +# BK Id: SCCS/s.config.in 1.40 08/24/01 20:31:47 paulus # # For a description of the syntax of this configuration file, # see Documentation/kbuild/config-language.txt. @@ -26,6 +26,7 @@ mainmenu_option next_comment comment 'Platform support' define_bool CONFIG_PPC y +define_bool CONFIG_PPC32 y choice 'Processor Type' \ "6xx/7xx/74xx/8260 CONFIG_6xx \ 4xx CONFIG_4xx \ @@ -42,6 +43,11 @@ define_bool CONFIG_ALL_PPC y fi +if [ "$CONFIG_6xx" = "y" -o "$CONFIG_POWER3" = "y" -o \ + "$CONFIG_POWER4" = "y" ]; then + define_bool CONFIG_PPC_STD_MMU y +fi + if [ "$CONFIG_8260" = "y" ]; then define_bool CONFIG_SERIAL_CONSOLE y bool 'Support for EST8260' CONFIG_EST8260 @@ -93,7 +99,8 @@ bool 'Workarounds for PPC601 bugs' CONFIG_PPC601_SYNC_FIX fi -if [ "$CONFIG_8xx" = "y" -o "$CONFIG_8260" = "y" ]; then +if [ "$CONFIG_POWER3" = "n" -a "$CONFIG_POWER4" = "n" -a \ + "$CONFIG_6xx" = "n" ]; then define_bool CONFIG_ALL_PPC n fi @@ -104,6 +111,11 @@ if [ "$CONFIG_6xx" = "y" -a "$CONFIG_8260" = "n" ];then bool 'AltiVec Support' CONFIG_ALTIVEC + bool 'Thermal Management Support' CONFIG_TAU + if [ "$CONFIG_TAU" = "y" ]; then + bool ' Interrupt driven TAU driver (DANGEROUS)' CONFIG_TAU_INT + bool ' Average high and low temp' CONFIG_TAU_AVERAGE + fi fi if [ "$CONFIG_4xx" = "y" -o "$CONFIG_8xx" = "y" ]; then |
From: James S. <jsi...@us...> - 2001-10-06 16:11:15
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/mips64/mm In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/mips64/mm Modified Files: fault.c Log Message: Synced to 2.4.10 Index: fault.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/mips64/mm/fault.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- fault.c 2001/09/02 23:26:10 1.1 +++ fault.c 2001/10/06 16:11:12 1.2 @@ -32,7 +32,6 @@ #define development_version (LINUX_VERSION_CODE & 0x100) extern void die(char *, struct pt_regs *, unsigned long write); -extern int console_loglevel; /* * Macro for exception fixup code to access integer registers. |
From: James S. <jsi...@us...> - 2001-10-06 16:11:15
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/mips/sni In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/mips/sni Modified Files: setup.c Log Message: Synced to 2.4.10 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/mips/sni/setup.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- setup.c 2001/05/12 22:03:50 1.4 +++ setup.c 2001/10/06 16:11:12 1.5 @@ -29,18 +29,6 @@ #include <asm/reboot.h> #include <asm/sni.h> -/* - * Initial irq handlers. - */ -static void no_action(int cpl, void *dev_id, struct pt_regs *regs) { } - -/* - * IRQ2 is cascade interrupt to second interrupt controller - */ -static struct irqaction irq2 = { no_action, 0, 0, "cascade", NULL, NULL}; - -extern asmlinkage void sni_rm200_pci_handle_int(void); - extern void sni_machine_restart(char *command); extern void sni_machine_halt(void); extern void sni_machine_power_off(void); @@ -48,20 +36,6 @@ extern struct ide_ops std_ide_ops; extern struct rtc_ops std_rtc_ops; -static void __init sni_irq_setup(void) -{ - set_except_vector(0, sni_rm200_pci_handle_int); - request_region(0x20,0x20, "pic1"); - request_region(0xa0,0x20, "pic2"); - i8259_setup_irq(2, &irq2); - /* - * IRQ0 seems to be the irq for PC style stuff. - * I don't know how to handle the debug button interrupt, so - * don't use this button yet or bad things happen ... - */ - set_cp0_status(ST0_IM, IE_IRQ1 | IE_IRQ3 | IE_IRQ4); -} - void (*board_time_init)(struct irqaction *irq); static void __init sni_rm200_pci_time_init(struct irqaction *irq) @@ -70,7 +44,7 @@ outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */ outb_p(LATCH & 0xff , 0x40); /* LSB */ outb(LATCH >> 8 , 0x40); /* MSB */ - i8259_setup_irq(0, irq); + setup_irq(0, irq); } unsigned char aux_device_present; @@ -98,45 +72,11 @@ printk("%s.\n", boardtype); } -int __init page_is_ram(unsigned long pagenr) -{ - return 1; -} - void __init sni_rm200_pci_setup(void) { -#if 0 /* XXX Tag me deeper */ - tag *atag; - - /* - * We just check if a tag_screen_info can be gathered - * in setup_arch(), if yes we don't proceed futher... - */ - atag = bi_TagFind(tag_screen_info); - if (!atag) { - /* - * If no, we try to find the tag_arc_displayinfo which is - * always created by Milo for an ARC box (for now Milo only - * works on ARC boxes :) -Stoned. - */ - atag = bi_TagFind(tag_arcdisplayinfo); - if (atag) { - screen_info.orig_x = - ((mips_arc_DisplayInfo*)TAGVALPTR(atag))->cursor_x; - screen_info.orig_y = - ((mips_arc_DisplayInfo*)TAGVALPTR(atag))->cursor_y; - screen_info.orig_video_cols = - ((mips_arc_DisplayInfo*)TAGVALPTR(atag))->columns; - screen_info.orig_video_lines = - ((mips_arc_DisplayInfo*)TAGVALPTR(atag))->lines; - } - } -#endif - sni_pcimt_detect(); sni_pcimt_sc_init(); - irq_setup = sni_irq_setup; mips_io_port_base = SNI_PORT_BASE; /* |
From: James S. <jsi...@us...> - 2001-10-06 16:11:15
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/mips64/kernel In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/mips64/kernel Modified Files: setup.c Log Message: Synced to 2.4.10 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/mips64/kernel/setup.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- setup.c 2001/07/29 18:24:12 1.2 +++ setup.c 2001/10/06 16:11:12 1.3 @@ -78,7 +78,6 @@ * * These are initialized so they are in the .data section */ -unsigned long mips_memory_upper = KSEG0; unsigned long mips_cputype = CPU_UNKNOWN; unsigned long mips_machtype = MACH_UNKNOWN; unsigned long mips_machgroup = MACH_GROUP_UNKNOWN; |
From: James S. <jsi...@us...> - 2001-10-06 16:11:15
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/mips64 In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/mips64 Modified Files: config.in Log Message: Synced to 2.4.10 Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/mips64/config.in,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- config.in 2001/07/29 18:24:12 1.15 +++ config.in 2001/10/06 16:11:12 1.16 @@ -41,6 +41,7 @@ unset CONFIG_BOOT_ELF64 unset CONFIG_COHERENT_IO unset CONFIG_ISA +unset CONFIG_MAPPED_PCI_IO unset CONFIG_PCI if [ "$CONFIG_SGI_IP22" = "y" ]; then @@ -56,6 +57,7 @@ define_bool CONFIG_BOOT_ELF64 y define_bool CONFIG_ARC64 y define_bool CONFIG_COHERENT_IO y + define_bool CONFIG_MAPPED_PCI_IO y define_bool CONFIG_PCI y define_bool CONFIG_QL_ISP_A64 y define_int CONFIG_L1_CACHE_SHIFT 7 @@ -177,7 +179,7 @@ fi endmenu -source drivers/message/i2o/Config.in +#source drivers/message/i2o/Config.in if [ "$CONFIG_NET" = "y" ]; then mainmenu_option next_comment @@ -255,7 +257,7 @@ fi bool 'Remote GDB kernel debugging' CONFIG_REMOTE_DEBUG bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ -if [ "$CONFIG_SMP" != "n" ]; then +if [ "$CONFIG_SMP" != "y" ]; then bool 'Run uncached' CONFIG_MIPS_UNCACHED fi endmenu |
From: James S. <jsi...@us...> - 2001-10-06 16:11:15
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/mips/sgi/kernel In directory usw-pr-cvs1:/tmp/cvs-serv25708/linux/arch/mips/sgi/kernel Modified Files: setup.c Log Message: Synced to 2.4.10 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/mips/sgi/kernel/setup.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- setup.c 2001/05/12 22:02:08 1.5 +++ setup.c 2001/10/06 16:11:12 1.6 @@ -23,6 +23,7 @@ #include <asm/sgi/sgimc.h> #include <asm/sgi/sgihpc.h> #include <asm/sgi/sgint23.h> +#include <asm/time.h> #include <asm/gdb-stub.h> #ifdef CONFIG_REMOTE_DEBUG @@ -31,7 +32,7 @@ static int remote_debug = 0; #endif -#if defined(CONFIG_SERIAL_CONSOLE) || defined(CONFIG_SGI_PROM_CONSOLE) +#if defined(CONFIG_SERIAL_CONSOLE) || defined(CONFIG_ARC_CONSOLE) extern void console_setup(char *); #endif @@ -116,28 +117,6 @@ sgi_read_status }; -static void __init sgi_irq_setup(void) -{ - sgint_init(); - -#ifdef CONFIG_REMOTE_DEBUG - if (remote_debug) - set_debug_traps(); - breakpoint(); /* you may move this line to whereever you want :-) */ -#endif -} - -int __init page_is_ram(unsigned long pagenr) -{ - if ((pagenr<<PAGE_SHIFT) < 0x2000UL) - return 1; - if ((pagenr<<PAGE_SHIFT) > 0x08002000) - return 1; - return 0; -} - -void (*board_time_init)(struct irqaction *irq); - static unsigned long dosample(volatile unsigned char *tcwp, volatile unsigned char *tc2p) { @@ -160,14 +139,16 @@ ct1 = read_32bit_cp0_register(CP0_COUNT); } while(msb); - /* Stop the counter. */ - *tcwp = (SGINT_TCWORD_CNT2 | SGINT_TCWORD_CALL | SGINT_TCWORD_MSWST); + /* Stop the counter. */ + *tcwp = (SGINT_TCWORD_CNT2 | SGINT_TCWORD_CALL | SGINT_TCWORD_MSWST); - /* Return the difference, this is how far the r4k counter increments - * for every 1/HZ seconds. We round off the nearest 1 MHz of - * master clock (= 1000000 / 100 / 2 = 5000 count). - */ - return ((ct1 - ct0) / 5000) * 5000; + /* + * Return the difference, this is how far the r4k counter increments + * for every 1/HZ seconds. We round off the nearest 1 MHz of master + * clock (= 1000000 / 100 / 2 = 5000 count). + */ + + return ((ct1 - ct0) / 5000) * 5000; } #define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5) @@ -179,7 +160,7 @@ */ struct sgi_ioc_timers *p; volatile unsigned char *tcwp, *tc2p; - unsigned long r4k_ticks[3] = { 0, 0, 0 }; + unsigned long r4k_ticks[3]; unsigned long r4k_next; /* Figure out the r4k offset, the algorithm is very simple @@ -200,10 +181,12 @@ dosample(tcwp, tc2p); /* Prime cache. */ dosample(tcwp, tc2p); /* Prime cache. */ /* Zero is NOT an option. */ - while (!r4k_ticks[0]) + do { r4k_ticks[0] = dosample (tcwp, tc2p); - while (!r4k_ticks[1]) + } while (!r4k_ticks[0]); + do { r4k_ticks[1] = dosample (tcwp, tc2p); + } while (!r4k_ticks[1]); if (r4k_ticks[0] != r4k_ticks[1]) { printk ("warning: timer counts differ, retrying..."); @@ -225,7 +208,7 @@ /* Set ourselves up for future interrupts */ r4k_next = (read_32bit_cp0_register(CP0_COUNT) + r4k_interval); write_32bit_cp0_register(CP0_COMPARE, r4k_next); - set_cp0_status(ST0_IM, ALLINTS); + change_cp0_status(ST0_IM, ALLINTS); sti (); } @@ -238,8 +221,6 @@ char *kgdb_ttyd; #endif - - irq_setup = sgi_irq_setup; board_time_init = sgi_time_init; /* Init the INDY HPC I/O controller. Need to call this before @@ -281,7 +262,7 @@ line ? 1 : 2); rs_kgdb_hook(line); - prom_printf("KGDB: Using serial line /dev/ttyd%d for session, " + printk("KGDB: Using serial line /dev/ttyd%d for session, " "please connect your debugger\n", line ? 1 : 2); remote_debug = 1; @@ -289,7 +270,7 @@ } #endif -#ifdef CONFIG_SGI_PROM_CONSOLE +#ifdef CONFIG_ARC_CONSOLE console_setup("ttyS0"); #endif @@ -320,5 +301,4 @@ #ifdef CONFIG_VIDEO_VINO init_vino(); #endif - } |