You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(135) |
Nov
(123) |
Dec
(83) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(244) |
Feb
(72) |
Mar
(221) |
Apr
(91) |
May
(104) |
Jun
(93) |
Jul
(78) |
Aug
(1) |
Sep
(1) |
Oct
(29) |
Nov
(98) |
Dec
(20) |
2003 |
Jan
|
Feb
(21) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(18) |
Sep
(18) |
Oct
(23) |
Nov
(12) |
Dec
(6) |
2004 |
Jan
(2) |
Feb
(32) |
Mar
|
Apr
(12) |
May
(11) |
Jun
(11) |
Jul
|
Aug
(9) |
Sep
|
Oct
(15) |
Nov
|
Dec
|
2005 |
Jan
|
Feb
(2) |
Mar
(11) |
Apr
(6) |
May
(1) |
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
(2) |
Mar
|
Apr
(25) |
May
(2) |
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(13) |
Oct
|
Nov
(2) |
Dec
(2) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(10) |
May
(1) |
Jun
(6) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
From: James S. <jsi...@us...> - 2002-05-21 04:06:08
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/mips64/lib In directory usw-pr-cvs1:/tmp/cvs-serv29209/linux/arch/mips64/lib Modified Files: Makefile Log Message: Synced to 2.5.16 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/mips64/lib/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile 7 Mar 2001 04:42:27 -0000 1.3 +++ Makefile 21 May 2002 04:06:05 -0000 1.4 @@ -2,10 +2,9 @@ # Makefile for MIPS-specific library files.. # -.S.s: - $(CPP) $(CFLAGS) $< -o $*.s -.S.o: - $(CC) $(CFLAGS) -c $< -o $*.o +USE_STANDARD_AS_RULE := true + +EXTRA_AFLAGS := $(CFLAGS) L_TARGET = lib.a |
From: James S. <jsi...@us...> - 2002-05-21 04:06:08
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/mips/jazz In directory usw-pr-cvs1:/tmp/cvs-serv29209/linux/arch/mips/jazz Modified Files: Makefile Log Message: Synced to 2.5.16 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/mips/jazz/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile 5 May 2001 16:28:26 -0000 1.3 +++ Makefile 21 May 2002 04:06:05 -0000 1.4 @@ -6,10 +6,9 @@ # unless it's something special (ie not a .c file). # -.S.s: - $(CPP) $(CFLAGS) $< -o $@ -.S.o: - $(CC) $(CFLAGS) -c $< -o $@ +USE_STANDARD_AS_RULE := true + +EXTRA_AFLAGS := $(CFLAGS) all: jazz.o |
From: James S. <jsi...@us...> - 2002-05-21 04:06:07
|
Update of /cvsroot/linuxconsole/ruby In directory usw-pr-cvs1:/tmp/cvs-serv29209 Added Files: AGAINST-2.5.16 Removed Files: AGAINST-2.5.15 Log Message: Synced to 2.5.16 --- NEW FILE: AGAINST-2.5.16 --- --- AGAINST-2.5.15 DELETED --- |
From: James S. <jsi...@us...> - 2002-05-20 21:53:15
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv14706 Modified Files: cfbimgblt.c Log Message: More updates to handling drawing monobit images. Index: cfbimgblt.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/cfbimgblt.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- cfbimgblt.c 10 May 2002 16:27:23 -0000 1.11 +++ cfbimgblt.c 20 May 2002 21:53:12 -0000 1.12 @@ -43,12 +43,12 @@ void cfb_imageblit(struct fb_info *p, struct fb_image *image) { - int ppw, shift, shift_right, shift_left, x2, y2, n, i, j, k, l = 7; + int pad, ppw, shift, shift_right, shift_left, x2, y2, n, i, j, k, l = 7; unsigned long tmp = ~0 << (BITS_PER_LONG - p->var.bits_per_pixel); - unsigned long fgx, bgx, fgcolor, bgcolor, eorx; + unsigned long fgx, bgx, fgcolor, bgcolor, eorx; unsigned long end_index, end_mask, mask; unsigned long *dst = NULL; - u8 *dst1, src; + u8 *dst1, *src; /* * We could use hardware clipping but on many cards you get around hardware @@ -60,58 +60,53 @@ image->dy = image->dy > 0 ? image->dy : 0; x2 = x2 < p->var.xres_virtual ? x2 : p->var.xres_virtual; y2 = y2 < p->var.yres_virtual ? y2 : p->var.yres_virtual; - image->width = x2 - image->dx; + image->width = x2 - image->dx; image->height = y2 - image->dy; + + dst1 = p->screen_base + image->dy * p->fix.line_length + + ((image->dx * p->var.bits_per_pixel) >> 3); + + ppw = BITS_PER_LONG/p->var.bits_per_pixel; - dst1 = p->screen_base + image->dy * p->fix.line_length + - ((image->dx * p->var.bits_per_pixel) >> 3); - - ppw = BITS_PER_LONG / p->var.bits_per_pixel; - - src = image->data; - - n = ((image->width + 7) >> 3); - pad = n - image->width; + src = image->data; if (image->depth == 1) { + if (p->fix.visual == FB_VISUAL_TRUECOLOR) { - fgx = fgcolor = - ((u32 *) (p->pseudo_palette))[image->fg_color]; - bgx = bgcolor = - ((u32 *) (p->pseudo_palette))[image->bg_color]; + fgx = fgcolor = ((u32 *)(p->pseudo_palette))[image->fg_color]; + bgx = bgcolor = ((u32 *)(p->pseudo_palette))[image->bg_color]; } else { fgx = fgcolor = image->fg_color; bgx = bgcolor = image->bg_color; - } - - for (i = 0; i < ppw - 1; i++) { + } + + for (i = 0; i < ppw-1; i++) { fgx <<= p->var.bits_per_pixel; bgx <<= p->var.bits_per_pixel; fgx |= fgcolor; bgx |= bgcolor; } eorx = fgx ^ bgx; + n = ((image->width + 7) >> 3); + pad = (n << 3) - image->width; for (i = 0; i < image->height; i++) { dst = (unsigned long *) dst1; - - if (ppw >= image->width) { - for (j = image->width / ppw; j > 0; j--) { - mask = 0; - - for (k = ppw; k > 0; k--) { - if (test_bit(l, src)) - mask |= (tmp >> (p->var.bits_per_pixel * (k - 1))); - l--; - if (l < 0) { l = 7; src++; } - } - fb_writel((mask & eorx) ^ bgx, dst); - dst++; + + for (j = image->width/ppw; j > 0; j--) { + mask = 0; + + for (k = ppw; k > 0; k--) { + if (test_bit(l, src)) + mask |= (tmp >> (p->var.bits_per_pixel*(k-1))); + l--; + if (l < 0) { l = 7; src++; } } - l = -pad; - if (l < 0) { l = 7; src++; } - dst1 += p->fix.line_length; + fb_writel((mask & eorx)^bgx, dst); + dst++; } - } + l =- pad; + dst1 += p->fix.line_length; + } } } |
From: Brad M. <bra...@us...> - 2002-05-20 15:33:59
|
Update of /cvsroot/linuxconsole/ruby/web/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv22894 Modified Files: index.html Log Message: fix url Index: index.html =================================================================== RCS file: /cvsroot/linuxconsole/ruby/web/htdocs/index.html,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- index.html 26 Apr 2002 16:36:33 -0000 1.7 +++ index.html 20 May 2002 15:33:55 -0000 1.8 @@ -102,7 +102,7 @@ Last but not least is our <a href="http://sourceforge.net/project/?group_id=3063">SourceForge page</a>.<p> -<H1>Documentaion:</H1> +<H1>Documentation:</H1> How to write a framebuffer driver using the <a href="fbdev/HOWTO/index.html">new api</a>.<p> <p> @@ -142,7 +142,7 @@ these are the basis of our terminal emulation code.<p> <li>Vojtech Pavlik's <a -href="http://www.suse.cz/developement/input">input drivers</a>, a +href="http://www.suse.cz/development/input">input drivers</a>, a previous effort in this direction which we have integrated.<p> <li> |
From: James S. <jsi...@us...> - 2002-05-16 18:02:10
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/m68k/hp300 In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/m68k/hp300 Modified Files: config.c Log Message: Synced to 2.5.15 Index: config.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/m68k/hp300/config.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- config.c 15 Mar 2002 18:28:11 -0000 1.1 +++ config.c 16 May 2002 18:01:37 -0000 1.2 @@ -52,9 +52,6 @@ mach_get_irq_list = show_hp300_interrupts; mach_gettimeoffset = hp300_gettimeoffset; mach_default_handler = &hp300_default_handler; -#if 0 - mach_gettod = hp300_gettod; -#endif mach_reset = hp300_reset; #ifdef CONFIG_HEARTBEAT mach_heartbeat = hp300_pulse; |
From: James S. <jsi...@us...> - 2002-05-16 18:02:10
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/m68k/mac In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/m68k/mac Modified Files: config.c Log Message: Synced to 2.5.15 Index: config.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/m68k/mac/config.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- config.c 15 Mar 2002 19:01:08 -0000 1.1 +++ config.c 16 May 2002 18:01:37 -0000 1.2 @@ -61,9 +61,8 @@ unsigned long mac_orig_videoaddr; /* Mac specific timer functions */ -extern void mac_gettod (int *, int *, int *, int *, int *, int *); extern unsigned long mac_gettimeoffset (void); -extern int mac_hwclk (int, struct hwclk_time *); +extern int mac_hwclk (int, struct rtc_time *); extern int mac_set_clock_mmss (unsigned long); extern int show_mac_interrupts(struct seq_file *, void *); extern void iop_preinit(void); @@ -216,8 +215,10 @@ mach_default_handler = &mac_handlers; mach_get_irq_list = show_mac_interrupts; mach_gettimeoffset = mac_gettimeoffset; - mach_gettod = mac_gettod; +#warning move to adb/via init +#if 0 mach_hwclk = mac_hwclk; +#endif mach_set_clock_mmss = mac_set_clock_mmss; mach_reset = mac_reset; mach_halt = mac_poweroff; |
From: James S. <jsi...@us...> - 2002-05-16 18:02:09
|
Update of /cvsroot/linuxconsole/ruby/linux In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux Modified Files: Makefile Log Message: Synced to 2.5.15 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.57 retrieving revision 1.58 diff -u -d -r1.57 -r1.58 --- Makefile 6 May 2002 17:29:59 -0000 1.57 +++ Makefile 16 May 2002 18:01:36 -0000 1.58 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 14 +SUBLEVEL = 15 EXTRAVERSION = -ruby KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -130,6 +130,7 @@ DRIVERS- := DRIVERS-$(CONFIG_ACPI) += drivers/acpi/acpi.o +DRIVERS-$(CONFIG_PCI) += drivers/pci/driver.o DRIVERS-$(CONFIG_PARPORT) += drivers/parport/driver.o DRIVERS-y += drivers/base/base.o \ drivers/serial/serial.o \ @@ -139,19 +140,12 @@ drivers/net/net.o \ drivers/media/media.o \ drivers/video/video.o -DRIVERS-$(CONFIG_AGP) += drivers/char/agp/agp.o -DRIVERS-$(CONFIG_DRM) += drivers/char/drm/drm.o DRIVERS-$(CONFIG_NUBUS) += drivers/nubus/nubus.a -DRIVERS-$(CONFIG_NET_FC) += drivers/net/fc/fc.o -DRIVERS-$(CONFIG_DEV_APPLETALK) += drivers/net/appletalk/appletalk.o -DRIVERS-$(CONFIG_TR) += drivers/net/tokenring/tr.o -DRIVERS-$(CONFIG_WAN) += drivers/net/wan/wan.o -DRIVERS-$(CONFIG_ARCNET) += drivers/net/arcnet/arcnetdrv.o DRIVERS-$(CONFIG_ATM) += drivers/atm/atm.o DRIVERS-$(CONFIG_IDE) += drivers/ide/idedriver.o DRIVERS-$(CONFIG_FC4) += drivers/fc4/fc4.a DRIVERS-$(CONFIG_SCSI) += drivers/scsi/scsidrv.o -DRIVERS-$(CONFIG_FUSION_BOOT) += drivers/message/fusion/fusion.o +DRIVERS-$(CONFIG_FUSION) += drivers/message/message.o DRIVERS-$(CONFIG_IEEE1394) += drivers/ieee1394/ieee1394drv.o ifneq ($(CONFIG_CD_NO_IDESCSI)$(CONFIG_BLK_DEV_IDECD)$(CONFIG_BLK_DEV_SR)$(CONFIG_PARIDE_PCD),) @@ -159,13 +153,8 @@ endif DRIVERS-$(CONFIG_SOUND) += sound/sound.o -DRIVERS-$(CONFIG_PCI) += drivers/pci/driver.o DRIVERS-$(CONFIG_MTD) += drivers/mtd/mtdlink.o DRIVERS-$(CONFIG_PCMCIA) += drivers/pcmcia/pcmcia.o -DRIVERS-$(CONFIG_NET_PCMCIA) += drivers/net/pcmcia/pcmcia_net.o -DRIVERS-$(CONFIG_NET_WIRELESS) += drivers/net/wireless/wireless_net.o -DRIVERS-$(CONFIG_NET_TULIP) += drivers/net/tulip/tulip_net.o -DRIVERS-$(CONFIG_PCMCIA_CHRDEV) += drivers/char/pcmcia/pcmcia_char.o DRIVERS-$(CONFIG_DIO) += drivers/dio/dio.a DRIVERS-$(CONFIG_SBUS) += drivers/sbus/sbus_all.o DRIVERS-$(CONFIG_ZORRO) += drivers/zorro/driver.o @@ -174,14 +163,12 @@ DRIVERS-$(CONFIG_PNP) += drivers/pnp/pnp.o DRIVERS-$(CONFIG_SGI_IP22) += drivers/sgi/sgi.a DRIVERS-$(CONFIG_PARIDE) += drivers/block/paride/paride.a -DRIVERS-$(CONFIG_HAMRADIO) += drivers/net/hamradio/hamradio.o DRIVERS-$(CONFIG_TC) += drivers/tc/tc.a DRIVERS-$(CONFIG_USB) += drivers/usb/usbdrv.o DRIVERS-$(CONFIG_INPUT) += drivers/input/inputdrv.o DRIVERS-$(CONFIG_GAMEPORT) += drivers/input/gameport/gamedrv.o DRIVERS-$(CONFIG_SERIO) += drivers/input/serio/seriodrv.o -DRIVERS-$(CONFIG_I2O) += drivers/message/i2o/i2o.o -DRIVERS-$(CONFIG_IRDA) += drivers/net/irda/irda.o +DRIVERS-$(CONFIG_I2O) += drivers/message/message.o DRIVERS-$(CONFIG_I2C) += drivers/i2c/i2c.o DRIVERS-$(CONFIG_PHONE) += drivers/telephony/telephony.o DRIVERS-$(CONFIG_MD) += drivers/md/mddev.o @@ -392,17 +379,8 @@ depmod_opts := -b $(INSTALL_MOD_PATH) -r endif .PHONY: _modinst_post -_modinst_post: _modinst_post_pcmcia +_modinst_post: if [ -r System.map ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi - -# Backwards compatibilty symlinks for people still using old versions -# of pcmcia-cs with hard coded pathnames on insmod. Remove -# _modinst_post_pcmcia for kernel 2.4.1. -.PHONY: _modinst_post_pcmcia -_modinst_post_pcmcia: - cd $(MODLIB); \ - mkdir -p pcmcia; \ - find kernel -path '*/pcmcia/*' -name '*.o' | xargs -i -r ln -sf ../{} pcmcia .PHONY: $(patsubst %, _modinst_%, $(SUBDIRS)) $(patsubst %, _modinst_%, $(SUBDIRS)) : |
From: James S. <jsi...@us...> - 2002-05-16 18:02:09
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/m68k In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/m68k Modified Files: config.in Log Message: Synced to 2.5.15 Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/m68k/config.in,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- config.in 22 Mar 2002 20:13:57 -0000 1.16 +++ config.in 16 May 2002 18:01:37 -0000 1.17 @@ -14,7 +14,6 @@ mainmenu_option next_comment comment 'Platform dependent setup' -define_bool CONFIG_ISA n define_bool CONFIG_EISA n define_bool CONFIG_MCA n define_bool CONFIG_PCMCIA n @@ -130,11 +129,18 @@ fi fi +if [ "$CONFIG_Q40" = "y" -o "$CONFIG_AMIGA_PCMCIA" = "y" \ + -o "$CONFIG_GG2" = "y" ]; then + define_bool CONFIG_ISA y +else + define_bool CONFIG_ISA n +fi + source drivers/pci/Config.in source drivers/zorro/Config.in if [ "$CONFIG_Q40" = "y" ]; then -source drivers/pnp/Config.in + source drivers/pnp/Config.in fi endmenu @@ -247,7 +253,7 @@ fi if [ "$CONFIG_SUN3" = "y" ]; then - dep_tristate 'Sun3 NCR5380 OBIO SCSI' CONFIG_SUN3_SCSI $CONFIG_SCSI + dep_tristate 'Sun3 NCR5380 SCSI' CONFIG_SUN3_SCSI $CONFIG_SCSI fi if [ "$CONFIG_SUN3X" = "y" ]; then @@ -276,9 +282,17 @@ bool ' Keepalive and linefill' CONFIG_SLIP_SMART bool ' Six bit SLIP encapsulation' CONFIG_SLIP_MODE_SLIP6 fi - tristate ' PPP (point-to-point) support' CONFIG_PPP + tristate 'PPP (point-to-point protocol) support' CONFIG_PPP if [ ! "$CONFIG_PPP" = "n" ]; then - comment 'CCP compressors for PPP are only built as modules.' + dep_bool ' PPP multilink support (EXPERIMENTAL)' CONFIG_PPP_MULTILINK $CONFIG_EXPERIMENTAL + dep_bool ' PPP filtering' CONFIG_PPP_FILTER $CONFIG_FILTER + dep_tristate ' PPP support for async serial ports' CONFIG_PPP_ASYNC $CONFIG_PPP + dep_tristate ' PPP support for sync tty ports' CONFIG_PPP_SYNC_TTY $CONFIG_PPP + dep_tristate ' PPP Deflate compression' CONFIG_PPP_DEFLATE $CONFIG_PPP + dep_tristate ' PPP BSD-Compress compression' CONFIG_PPP_BSDCOMP $CONFIG_PPP + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + dep_tristate ' PPP over Ethernet (EXPERIMENTAL)' CONFIG_PPPOE $CONFIG_PPP + fi fi tristate ' EQL (serial line load balancing) support' CONFIG_EQUALIZER if [ "$CONFIG_ZORRO" = "y" ]; then @@ -331,7 +345,7 @@ if [ "$CONFIG_PARPORT" != "n" ]; then dep_tristate ' PLIP (parallel port) support' CONFIG_PLIP $CONFIG_PARPORT fi - tristate 'NE2000/NE1000 support' CONFIG_NE2000 + dep_tristate 'NE2000/NE1000 support' CONFIG_NE2000 m fi fi endmenu @@ -348,7 +362,6 @@ fi if [ "$CONFIG_SERIAL" = "y" ]; then - bool ' Support for console on serial port' CONFIG_SERIAL_CONSOLE bool ' Extended dumb serial driver options' CONFIG_SERIAL_EXTENDED fi @@ -433,7 +446,8 @@ "$CONFIG_ATARI_MIDI" = "y" -o "$CONFIG_MAC_SCC" = "y" -o \ "$CONFIG_AMIGA_BUILTIN_SERIAL" = "y" -o \ "$CONFIG_GVPIOEXT" = "y" -o "$CONFIG_MULTIFACE_III_TTY" = "y" -o \ - "$CONFIG_HPDCA" = "y" -o "$CONFIG_SUN3X_ZS" = "y" ]; then + "$CONFIG_HPDCA" = "y" -o "$CONFIG_SUN3X_ZS" = "y" -o \ + "$CONFIG_SERIAL" = "y" ]; then bool 'Support for serial port console' CONFIG_SERIAL_CONSOLE fi fi @@ -468,7 +482,7 @@ if [ "$CONFIG_SUN3" = "y" ]; then define_bool CONFIG_GEN_RTC y else - bool 'Generic /dev/rtc emulation' CONFIG_GEN_RTC + tristate 'Generic /dev/rtc emulation' CONFIG_GEN_RTC fi fi bool 'Unix98 PTY support' CONFIG_UNIX98_PTYS @@ -494,8 +508,13 @@ mainmenu_option next_comment comment 'Kernel hacking' -#bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC -bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ +bool 'Kernel debugging' CONFIG_DEBUG_KERNEL +if [ "$CONFIG_DEBUG_KERNEL" != "n" ]; then + bool ' Magic SysRq key' CONFIG_MAGIC_SYSRQ + bool ' Debug memory allocations' CONFIG_DEBUG_SLAB + bool ' Verbose BUG() reporting' CONFIG_DEBUG_BUGVERBOSE +fi + endmenu source lib/Config.in |
From: James S. <jsi...@us...> - 2002-05-16 18:02:09
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/i386/kernel Modified Files: dmi_scan.c Log Message: Synced to 2.5.15 Index: dmi_scan.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/dmi_scan.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- dmi_scan.c 16 Apr 2002 17:41:47 -0000 1.6 +++ dmi_scan.c 16 May 2002 18:01:36 -0000 1.7 @@ -635,6 +635,12 @@ MATCH(DMI_BIOS_DATE, "08/25/00"), NO_MATCH } }, + { swab_apm_power_in_minutes, "Sony VAIO", { /* Handle problems with APM on Sony Vaio PCG-Z505LS (with updated BIOS) */ + MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"), + MATCH(DMI_BIOS_VERSION, "R0209Z3"), + MATCH(DMI_BIOS_DATE, "05/12/01"), NO_MATCH + } }, + { swab_apm_power_in_minutes, "Sony VAIO", { /* Handle problems with APM on Sony Vaio PCG-F104K */ MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"), MATCH(DMI_BIOS_VERSION, "R0204K2"), |
From: James S. <jsi...@us...> - 2002-05-16 18:01:41
|
Update of /cvsroot/linuxconsole/ruby/linux/include/asm-m68k In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/include/asm-m68k Modified Files: machdep.h Log Message: Synced to 2.5.15 Index: machdep.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/include/asm-m68k/machdep.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- machdep.h 16 Mar 2002 16:36:10 -0000 1.1 +++ machdep.h 16 May 2002 18:01:39 -0000 1.2 @@ -5,7 +5,7 @@ struct pt_regs; struct mktime; -struct hwclk_time; +struct rtc_time; struct buffer_head; extern void (*mach_sched_init) (void (*handler)(int, void *, struct pt_regs *)); @@ -21,9 +21,7 @@ extern void (*mach_process_int) (int irq, struct pt_regs *fp); /* machine dependent timer functions */ extern unsigned long (*mach_gettimeoffset)(void); -extern void (*mach_gettod)(int *year, int *mon, int *day, int *hour, - int *min, int *sec); -extern int (*mach_hwclk)(int, struct hwclk_time*); +extern int (*mach_hwclk)(int, struct rtc_time*); extern int (*mach_set_clock_mmss)(unsigned long); extern void (*mach_reset)( void ); extern void (*mach_halt)( void ); |
From: James S. <jsi...@us...> - 2002-05-16 18:01:41
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/drivers/char Modified Files: Config.in Makefile tty_io.c vt.c vt_ioctl.c Log Message: Synced to 2.5.15 Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Config.in,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- Config.in 1 May 2002 18:07:50 -0000 1.38 +++ Config.in 16 May 2002 18:01:39 -0000 1.39 @@ -189,13 +189,16 @@ dep_tristate '/dev/agpgart (AGP Support)' CONFIG_AGP $CONFIG_DRM_AGP if [ "$CONFIG_AGP" != "n" ]; then - bool ' Intel 440LX/BX/GX and I815/I820/I830M/I840/I845/I850/I860 support' CONFIG_AGP_INTEL + bool ' Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support' CONFIG_AGP_INTEL bool ' Intel I810/I815/I830M (on-board) support' CONFIG_AGP_I810 bool ' VIA chipset support' CONFIG_AGP_VIA 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 + if [ "$CONFIG_IA64" = "y" ]; then + bool ' HP ZX1 AGP support' CONFIG_AGP_HP_ZX1 + fi fi source drivers/char/drm/Config.in Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- Makefile 1 May 2002 19:35:27 -0000 1.38 +++ Makefile 16 May 2002 18:01:39 -0000 1.39 @@ -55,7 +55,13 @@ obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o obj-$(CONFIG_SX) += sx.o generic_serial.o -obj-$(CONFIG_RIO) += rio/rio.o generic_serial.o + +obj-$(CONFIG_RIO) += generic_serial.o +subdir-$(CONFIG_RIO) += rio +ifeq ($(CONFIG_RIO),y) + obj-y += rio/rio.o +endif + obj-$(CONFIG_SH_SCI) += sh-sci.o generic_serial.o obj-$(CONFIG_SERIAL167) += serial167.o obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o @@ -63,8 +69,6 @@ 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 @@ -83,12 +87,8 @@ obj-$(CONFIG_QIC02_TAPE) += tpqic02.o subdir-$(CONFIG_FTAPE) += ftape -subdir-$(CONFIG_DRM) += drm -subdir-$(CONFIG_PCMCIA) += pcmcia -subdir-$(CONFIG_AGP) += agp - ifeq ($(CONFIG_FTAPE),y) -obj-y += ftape/ftape.o + obj-y += ftape/ftape.o endif obj-$(CONFIG_H8) += h8.o @@ -121,6 +121,21 @@ subdir-$(CONFIG_MWAVE) += mwave ifeq ($(CONFIG_MWAVE),y) obj-y += mwave/mwave.o +endif + +subdir-$(CONFIG_AGP) += agp +ifeq ($(CONFIG_AGP),y) + obj-y += agp/agp.o +endif + +subdir-$(CONFIG_DRM) += drm +ifeq ($(CONFIG_DRM),y) + obj-y += drm/drm.o +endif + +subdir-$(CONFIG_PCMCIA) += pcmcia +ifeq ($(CONFIG_PCMCIA),y) + obj-y += pcmcia/pcmcia_char.o endif include $(TOPDIR)/Rules.make Index: tty_io.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/tty_io.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- tty_io.c 24 Apr 2002 18:56:51 -0000 1.48 +++ tty_io.c 16 May 2002 18:01:39 -0000 1.49 @@ -1358,7 +1358,7 @@ retval = -ENODEV; filp->f_flags = saved_flags; - if (!retval && test_bit(TTY_EXCLUSIVE, &tty->flags) && !suser()) + if (!retval && test_bit(TTY_EXCLUSIVE, &tty->flags) && !capable(CAP_SYS_ADMIN)) retval = -EBUSY; if (retval) { @@ -1460,7 +1460,7 @@ { char ch, mbz = 0; - if ((current->tty != tty) && !suser()) + if ((current->tty != tty) && !capable(CAP_SYS_ADMIN)) return -EPERM; if (get_user(ch, arg)) return -EFAULT; @@ -1505,7 +1505,7 @@ struct tty_struct *tty, struct tty_struct *real_tty) { if (IS_SYSCONS_DEV(inode->i_rdev)) { - if (!suser()) + if (!capable(CAP_SYS_ADMIN)) return -EPERM; redirect = NULL; return 0; @@ -1547,7 +1547,7 @@ * This tty is already the controlling * tty for another session group! */ - if ((arg == 1) && suser()) { + if ((arg == 1) && capable(CAP_SYS_ADMIN)) { /* * Steal it away */ Index: vt.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/vt.c,v retrieving revision 1.120 retrieving revision 1.121 diff -u -d -r1.120 -r1.121 --- vt.c 20 Feb 2002 19:03:44 -0000 1.120 +++ vt.c 16 May 2002 18:01:39 -0000 1.121 @@ -1440,7 +1440,7 @@ if (tty->driver.type != TTY_DRIVER_TYPE_CONSOLE) return -EINVAL; - if (current->tty != tty && !suser()) + if (current->tty != tty && !capable(CAP_SYS_ADMIN)) return -EPERM; if (get_user(type, (char *)arg)) return -EFAULT; @@ -1475,7 +1475,7 @@ return 0; case 11: /* set kmsg redirect */ #ifdef CONFIG_VT_CONSOLE - if (!suser()) + if (!capable(CAP_SYS_ADMIN)) return -EPERM; if (get_user(data, (char *)arg+1)) return -EFAULT; Index: vt_ioctl.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/vt_ioctl.c,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- vt_ioctl.c 20 Feb 2002 17:49:34 -0000 1.66 +++ vt_ioctl.c 16 May 2002 18:01:39 -0000 1.67 @@ -631,7 +631,7 @@ * to be the owner of the tty, or super-user. */ perm = 0; - if (current->tty == tty || suser()) + if (current->tty == tty || capable(CAP_SYS_TTY_CONFIG)) perm = 1; kbd = &vc->kbd_table; @@ -803,7 +803,7 @@ case KDGETKEYCODE: case KDSETKEYCODE: - if(!capable(CAP_SYS_ADMIN)) + if(!capable(CAP_SYS_TTY_CONFIG)) perm=0; return do_kbkeycode_ioctl(vc, cmd,(struct kbkeycode *)arg,perm); @@ -1246,12 +1246,12 @@ return do_unimap_ioctl(vc, cmd, (struct unimapdesc *)arg, perm); case VT_LOCKSWITCH: - if (!suser()) + if (!capable(CAP_SYS_TTY_CONFIG)) return -EPERM; vc->display_fg->vt_dont_switch = 1; return 0; case VT_UNLOCKSWITCH: - if (!suser()) + if (!capable(CAP_SYS_TTY_CONFIG)) return -EPERM; vc->display_fg->vt_dont_switch = 0; return 0; |
From: James S. <jsi...@us...> - 2002-05-16 18:01:41
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32 In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/x86_64/ia32 Modified Files: ia32_ioctl.c Log Message: Synced to 2.5.15 Index: ia32_ioctl.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32/ia32_ioctl.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- ia32_ioctl.c 26 Apr 2002 17:23:40 -0000 1.5 +++ ia32_ioctl.c 16 May 2002 18:01:38 -0000 1.6 @@ -1649,9 +1649,9 @@ /* * To have permissions to do most of the vt ioctls, we either have - * to be the owner of the tty, or super-user. + * to be the owner of the tty, or have CAP_SYS_TTY_CONFIG. */ - if (current->tty == tty || suser()) + if (current->tty == tty || capable(CAP_SYS_TTY_CONFIG)) return 1; return 0; } |
From: James S. <jsi...@us...> - 2002-05-16 18:01:41
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/drivers Modified Files: Makefile Log Message: Synced to 2.5.15 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- Makefile 12 Apr 2002 21:19:31 -0000 1.32 +++ Makefile 16 May 2002 18:01:39 -0000 1.33 @@ -7,8 +7,8 @@ mod-subdirs := dio mtd sbus macintosh usb input telephony sgi ide \ - message/i2o message/fusion scsi md ieee1394 pnp isdn atm \ - fc4 net/hamradio i2c acpi bluetooth serial input/serio \ + message scsi md ieee1394 pnp isdn atm serial \ + fc4 i2c acpi bluetooth input/serio \ input/gameport parport hotplug subdir-y := base serial char block net misc media cdrom video @@ -34,17 +34,14 @@ subdir-$(CONFIG_SGI) += sgi subdir-$(CONFIG_IDE) += ide subdir-$(CONFIG_SCSI) += scsi -subdir-$(CONFIG_I2O) += message/i2o -subdir-$(CONFIG_FUSION) += message/fusion +subdir-$(CONFIG_I2O) += message +subdir-$(CONFIG_FUSION) += message subdir-$(CONFIG_MD) += md subdir-$(CONFIG_IEEE1394) += ieee1394 subdir-$(CONFIG_PNP) += pnp subdir-$(CONFIG_ISDN) += isdn subdir-$(CONFIG_ATM) += atm subdir-$(CONFIG_FC4) += fc4 - -# CONFIG_HAMRADIO can be set without CONFIG_NETDEVICE being set -- ch -subdir-$(CONFIG_HAMRADIO) += net/hamradio subdir-$(CONFIG_I2C) += i2c subdir-$(CONFIG_ACPI) += acpi |
From: James S. <jsi...@us...> - 2002-05-16 18:01:41
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/sparc64/kernel In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/sparc64/kernel Modified Files: ioctl32.c Log Message: Synced to 2.5.15 Index: ioctl32.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/sparc64/kernel/ioctl32.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ioctl32.c 3 May 2002 22:16:46 -0000 1.4 +++ ioctl32.c 16 May 2002 18:01:38 -0000 1.5 @@ -2062,9 +2062,9 @@ /* * To have permissions to do most of the vt ioctls, we either have - * to be the owner of the tty, or super-user. + * to be the owner of the tty, or have CAP_SYS_TTY_CONFIG. */ - if (current->tty == tty || suser()) + if (current->tty == tty || capable(CAP_SYS_TTY_CONFIG)) return 1; return 0; } @@ -4562,12 +4562,20 @@ COMPATIBLE_IOCTL(HCIDEVUP) COMPATIBLE_IOCTL(HCIDEVDOWN) COMPATIBLE_IOCTL(HCIDEVRESET) -COMPATIBLE_IOCTL(HCIRESETSTAT) -COMPATIBLE_IOCTL(HCIGETINFO) +COMPATIBLE_IOCTL(HCIDEVRESTAT) COMPATIBLE_IOCTL(HCIGETDEVLIST) +COMPATIBLE_IOCTL(HCIGETDEVINFO) +COMPATIBLE_IOCTL(HCIGETCONNLIST) +COMPATIBLE_IOCTL(HCIGETCONNINFO) COMPATIBLE_IOCTL(HCISETRAW) COMPATIBLE_IOCTL(HCISETSCAN) COMPATIBLE_IOCTL(HCISETAUTH) +COMPATIBLE_IOCTL(HCISETENCRYPT) +COMPATIBLE_IOCTL(HCISETPTYPE) +COMPATIBLE_IOCTL(HCISETLINKPOL) +COMPATIBLE_IOCTL(HCISETLINKMODE) +COMPATIBLE_IOCTL(HCISETACLMTU) +COMPATIBLE_IOCTL(HCISETSCOMTU) COMPATIBLE_IOCTL(HCIINQUIRY) /* Misc. */ COMPATIBLE_IOCTL(0x41545900) /* ATYIO_CLKR */ |
From: James S. <jsi...@us...> - 2002-05-16 18:01:40
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/ppc64/kernel Modified Files: ioctl32.c setup.c Log Message: Synced to 2.5.15 Index: ioctl32.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/ioctl32.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ioctl32.c 3 May 2002 22:16:46 -0000 1.4 +++ ioctl32.c 16 May 2002 18:01:38 -0000 1.5 @@ -1779,9 +1779,9 @@ /* * To have permissions to do most of the vt ioctls, we either have - * to be the owner of the tty, or super-user. + * to be the owner of the tty, or have CAP_SYS_TTY_CONFIG. */ - if (current->tty == tty || suser()) + if (current->tty == tty || capable(CAP_SYS_TTY_CONFIG)) return 1; return 0; } Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/setup.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- setup.c 3 May 2002 22:16:46 -0000 1.3 +++ setup.c 16 May 2002 18:01:38 -0000 1.4 @@ -542,95 +542,6 @@ ppc_md.progress("setup_arch: exit", 0x3eab); } -#ifdef CONFIG_IDE - -/* Convert the shorts/longs in hd_driveid from little to big endian; - * chars are endian independant, of course, but strings need to be flipped. - * (Despite what it says in drivers/block/ide.h, they come up as little - * endian...) - * - * Changes to linux/hdreg.h may require changes here. */ -void ppc64_ide_fix_driveid(struct hd_driveid *id) -{ - int i; - unsigned short *stringcast; - - id->config = __le16_to_cpu(id->config); - id->cyls = __le16_to_cpu(id->cyls); - id->reserved2 = __le16_to_cpu(id->reserved2); - id->heads = __le16_to_cpu(id->heads); - id->track_bytes = __le16_to_cpu(id->track_bytes); - id->sector_bytes = __le16_to_cpu(id->sector_bytes); - id->sectors = __le16_to_cpu(id->sectors); - id->vendor0 = __le16_to_cpu(id->vendor0); - id->vendor1 = __le16_to_cpu(id->vendor1); - id->vendor2 = __le16_to_cpu(id->vendor2); - stringcast = (unsigned short *)&id->serial_no[0]; - for (i = 0; i < (20/2); i++) - stringcast[i] = __le16_to_cpu(stringcast[i]); - id->buf_type = __le16_to_cpu(id->buf_type); - id->buf_size = __le16_to_cpu(id->buf_size); - id->ecc_bytes = __le16_to_cpu(id->ecc_bytes); - stringcast = (unsigned short *)&id->fw_rev[0]; - for (i = 0; i < (8/2); i++) - stringcast[i] = __le16_to_cpu(stringcast[i]); - stringcast = (unsigned short *)&id->model[0]; - for (i = 0; i < (40/2); i++) - stringcast[i] = __le16_to_cpu(stringcast[i]); - id->dword_io = __le16_to_cpu(id->dword_io); - id->reserved50 = __le16_to_cpu(id->reserved50); - id->field_valid = __le16_to_cpu(id->field_valid); - id->cur_cyls = __le16_to_cpu(id->cur_cyls); - id->cur_heads = __le16_to_cpu(id->cur_heads); - id->cur_sectors = __le16_to_cpu(id->cur_sectors); - id->cur_capacity0 = __le16_to_cpu(id->cur_capacity0); - id->cur_capacity1 = __le16_to_cpu(id->cur_capacity1); - id->lba_capacity = __le32_to_cpu(id->lba_capacity); - id->dma_1word = __le16_to_cpu(id->dma_1word); - id->dma_mword = __le16_to_cpu(id->dma_mword); - id->eide_pio_modes = __le16_to_cpu(id->eide_pio_modes); - id->eide_dma_min = __le16_to_cpu(id->eide_dma_min); - id->eide_dma_time = __le16_to_cpu(id->eide_dma_time); - id->eide_pio = __le16_to_cpu(id->eide_pio); - id->eide_pio_iordy = __le16_to_cpu(id->eide_pio_iordy); - for (i = 0; i < 2; i++) - id->words69_70[i] = __le16_to_cpu(id->words69_70[i]); - for (i = 0; i < 4; i++) - id->words71_74[i] = __le16_to_cpu(id->words71_74[i]); - id->queue_depth = __le16_to_cpu(id->queue_depth); - for (i = 0; i < 4; i++) - id->words76_79[i] = __le16_to_cpu(id->words76_79[i]); - id->major_rev_num = __le16_to_cpu(id->major_rev_num); - id->minor_rev_num = __le16_to_cpu(id->minor_rev_num); - id->command_set_1 = __le16_to_cpu(id->command_set_1); - id->command_set_2 = __le16_to_cpu(id->command_set_2); - id->cfsse = __le16_to_cpu(id->cfsse); - id->cfs_enable_1 = __le16_to_cpu(id->cfs_enable_1); - id->cfs_enable_2 = __le16_to_cpu(id->cfs_enable_2); - id->csf_default = __le16_to_cpu(id->csf_default); - id->dma_ultra = __le16_to_cpu(id->dma_ultra); - id->word89 = __le16_to_cpu(id->word89); - id->word90 = __le16_to_cpu(id->word90); - id->CurAPMvalues = __le16_to_cpu(id->CurAPMvalues); - id->word92 = __le16_to_cpu(id->word92); - id->hw_config = __le16_to_cpu(id->hw_config); - for (i = 0; i < 32; i++) - id->words94_125[i] = __le16_to_cpu(id->words94_125[i]); - id->last_lun = __le16_to_cpu(id->last_lun); - id->word127 = __le16_to_cpu(id->word127); - id->dlf = __le16_to_cpu(id->dlf); - id->csfo = __le16_to_cpu(id->csfo); - for (i = 0; i < 26; i++) - id->words130_155[i] = __le16_to_cpu(id->words130_155[i]); - id->word156 = __le16_to_cpu(id->word156); - for (i = 0; i < 3; i++) - id->words157_159[i] = __le16_to_cpu(id->words157_159[i]); - for (i = 0; i < 96; i++) - id->words160_255[i] = __le16_to_cpu(id->words160_255[i]); -} -#endif - - void exception_trace(unsigned long trap) { unsigned long x, srr0, srr1, reg20, reg1, reg21; |
From: James S. <jsi...@us...> - 2002-05-16 18:01:40
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/xmon In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/ppc/xmon Modified Files: start.c Log Message: Synced to 2.5.15 Index: start.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/xmon/start.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- start.c 15 Mar 2002 18:28:11 -0000 1.1 +++ start.c 16 May 2002 18:01:38 -0000 1.2 @@ -32,6 +32,7 @@ extern void xmon_printf(const char *fmt, ...); static int xmon_expect(const char *str, unsigned int timeout); +static int use_serial; static int use_screen; static int via_modem; static int xmon_use_sccb; @@ -95,6 +96,7 @@ } #endif /* CONFIG_ALL_PPC */ +#ifdef CONFIG_MAGIC_SYSRQ static void sysrq_handle_xmon(int key, struct pt_regs *regs, struct tty_struct *tty) { @@ -107,20 +109,20 @@ help_msg: "Xmon", action_msg: "Entering xmon\n", }; +#endif void xmon_map_scc(void) { #ifdef CONFIG_ALL_PPC volatile unsigned char *base; - - use_screen = 0; if (_machine == _MACH_Pmac) { struct device_node *np; unsigned long addr; #ifdef CONFIG_BOOTX_TEXT - if (!machine_is_compatible("iMac")) { + if (!use_screen && !use_serial + && !machine_is_compatible("iMac")) { /* see if there is a keyboard in the device tree with a parent of type "adb" */ for (np = find_devices("keyboard"); np; np = np->next) @@ -218,7 +220,9 @@ DLAB = 0x80; #endif /* platform */ +#ifdef CONFIG_MAGIC_SYSRQ __sysrq_put_key_op('x', &sysrq_xmon_op); +#endif } static int scc_initialized = 0; |
From: James S. <jsi...@us...> - 2002-05-16 18:01:40
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/platforms In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/ppc/platforms Modified Files: chrp_setup.c pmac_setup.c prep_setup.c Log Message: Synced to 2.5.15 Index: chrp_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/platforms/chrp_setup.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- chrp_setup.c 1 May 2002 18:07:49 -0000 1.3 +++ chrp_setup.c 16 May 2002 18:01:37 -0000 1.4 @@ -368,21 +368,21 @@ { struct device_node *np; int i; - unsigned char* chrp_int_ack_special = 0; + unsigned long chrp_int_ack; unsigned char init_senses[NR_IRQS - NUM_8259_INTERRUPTS]; int nmi_irq = -1; for (np = find_devices("pci"); np != NULL; np = np->next) { unsigned int *addrp = (unsigned int *) get_property(np, "8259-interrupt-acknowledge", NULL); + if (addrp == NULL) continue; - chrp_int_ack_special = (unsigned char *) - ioremap(addrp[prom_n_addr_cells(np)-1], 1); + chrp_int_ack = addrp[prom_n_addr_cells(np)-1]; break; } if (np == NULL) - printk("Cannot find pci to get ack address\n"); + printk(KERN_ERR "Cannot find PCI interrupt acknowledge address\n"); chrp_find_openpic(); @@ -390,18 +390,19 @@ OpenPIC_InitSenses = init_senses; OpenPIC_NumInitSenses = NR_IRQS - NUM_8259_INTERRUPTS; - openpic_init(1, NUM_8259_INTERRUPTS, chrp_int_ack_special, nmi_irq); + openpic_init(1, NUM_8259_INTERRUPTS, nmi_irq); for (i = 0; i < NUM_8259_INTERRUPTS; i++) irq_desc[i].handler = &i8259_pic; - i8259_init(0); + i8259_init(chrp_int_ack); } void __init chrp_init2(void) { #ifdef CONFIG_NVRAM - pmac_nvram_init(); +// XX replace this in a more saner way +// pmac_nvram_init(); #endif request_region(0x20,0x20,"pic1"); Index: pmac_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/platforms/pmac_setup.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- pmac_setup.c 1 May 2002 18:07:50 -0000 1.2 +++ pmac_setup.c 16 May 2002 18:01:37 -0000 1.3 @@ -13,6 +13,8 @@ * Derived from "arch/alpha/kernel/setup.c" * Copyright (C) 1995 Linus Torvalds * + * Maintained by Benjamin Herrenschmidt (be...@ke...) + * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version @@ -82,9 +84,11 @@ extern int pmac_ide_check_base(ide_ioreg_t base); extern ide_ioreg_t pmac_ide_get_base(int index); extern void pmac_nvram_update(void); - +extern unsigned char pmac_nvram_read_byte(int addr); +extern void pmac_nvram_write_byte(int addr, unsigned char val); extern int pmac_pci_enable_device_hook(struct pci_dev *dev, int initial); extern void pmac_pcibios_after_init(void); +extern int of_show_percpuinfo(struct seq_file *m, int i); extern kdev_t sd_find_target(void *host, int tgt); @@ -115,56 +119,23 @@ #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 __init -core99_init_l2(void) -{ - int cpu = smp_processor_id(); - - if (!(cur_cpu_spec[0]->cpu_features & CPU_FTR_L2CR)) - return; - - if (cpu == 0){ - core99_l2_cache = _get_L2CR(); - printk("CPU0: L2CR is %lx\n", core99_l2_cache); - } else { - printk("CPU%d: L2CR was %lx\n", cpu, _get_L2CR()); - _set_L2CR(0); - _set_L2CR(core99_l2_cache); - printk("CPU%d: L2CR set to %lx\n", cpu, core99_l2_cache); - } -} #endif /* CONFIG_SMP */ -/* - * Assume here that all clock rates are the same in a - * smp system. -- Cort - */ -int __openfirmware -of_show_percpuinfo(struct seq_file *m, int i) -{ - struct device_node *cpu_node; - int *fp, s; - - cpu_node = find_type_devices("cpu"); - if (!cpu_node) - return 0; - for (s = 0; s < i && cpu_node->next; s++) - cpu_node = cpu_node->next; - fp = (int *) get_property(cpu_node, "clock-frequency", NULL); - if (fp) - seq_printf(m, "clock\t\t: %dMHz\n", *fp / 1000000); - return 0; -} - int __pmac pmac_show_cpuinfo(struct seq_file *m) { struct device_node *np; char *pp; int plen; + int mbmodel = pmac_call_feature(PMAC_FTR_GET_MB_INFO, + NULL, PMAC_MB_INFO_MODEL, 0); + unsigned int mbflags = (unsigned int)pmac_call_feature(PMAC_FTR_GET_MB_INFO, + NULL, PMAC_MB_INFO_FLAGS, 0); + char* mbname; + if (pmac_call_feature(PMAC_FTR_GET_MB_INFO, NULL, PMAC_MB_INFO_NAME, (int)&mbname) != 0) + mbname = "Unknown"; + /* find motherboard type */ seq_printf(m, "machine\t\t: "); np = find_devices("device-tree"); @@ -188,6 +159,10 @@ } else seq_printf(m, "PowerMac\n"); + /* print parsed model */ + seq_printf(m, "detected as\t: %d (%s)\n", mbmodel, mbname); + seq_printf(m, "pmac flags\t: %08x\n", mbflags); + /* find l2 cache info */ np = find_devices("l2-cache"); if (np == 0) @@ -306,11 +281,6 @@ printk(KERN_INFO "L2CR overriden (0x%x), backside cache is %s\n", ppc_override_l2cr_value, (ppc_override_l2cr_value & 0x80000000) ? "enabled" : "disabled"); - -#ifdef CONFIG_SMP - /* somewhat of a hack */ - core99_init_l2(); -#endif #ifdef CONFIG_KGDB zs_kgdb_hook(0); @@ -379,21 +349,6 @@ int boot_part; extern kdev_t boot_dev; -void __init -pmac_init2(void) -{ -#ifdef CONFIG_ADB_PMU - via_pmu_start(); -#endif -#ifdef CONFIG_ADB_CUDA - via_cuda_start(); -#endif -#ifdef CONFIG_PMAC_PBOOK - media_bay_init(); -#endif - pmac_feature_late_init(); -} - #ifdef CONFIG_SCSI void __init note_scsi_host(struct device_node *node, void *host) @@ -657,7 +612,6 @@ ppc_md.irq_cannonicalize = NULL; ppc_md.init_IRQ = pmac_pic_init; ppc_md.get_irq = pmac_get_irq; /* Changed later on ... */ - ppc_md.init = pmac_init2; ppc_md.pcibios_fixup = pmac_pcibios_fixup; ppc_md.pcibios_enable_device_hook = pmac_pci_enable_device_hook; @@ -671,6 +625,11 @@ ppc_md.set_rtc_time = pmac_set_rtc_time; ppc_md.get_rtc_time = pmac_get_rtc_time; ppc_md.calibrate_decr = pmac_calibrate_decr; + +#ifdef CONFIG_NVRAM + ppc_md.nvram_read_val = pmac_nvram_read_byte; + ppc_md.nvram_write_val = pmac_nvram_write_byte; +#endif ppc_md.find_end_of_memory = pmac_find_end_of_memory; Index: prep_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/platforms/prep_setup.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- prep_setup.c 1 May 2002 18:07:50 -0000 1.2 +++ prep_setup.c 16 May 2002 18:01:37 -0000 1.3 @@ -55,6 +55,7 @@ #include <asm/raven.h> #include <asm/vga.h> #include <asm/time.h> +#include <asm/mpc10x.h> #include <asm/i8259.h> #include <asm/open_pic.h> @@ -674,22 +675,16 @@ } } -static int __prep -prep_get_irq(struct pt_regs *regs) -{ - return i8259_irq(); -} - static void __init prep_init_IRQ(void) { int i; if (OpenPIC_Addr != NULL) - openpic_init(1, NUM_8259_INTERRUPTS, 0, -1); + openpic_init(1, NUM_8259_INTERRUPTS, -1); for ( i = 0 ; i < NUM_8259_INTERRUPTS ; i++ ) irq_desc[i].handler = &i8259_pic; - i8259_init(0xbffffff0); /* PCI interrupt ack address for MPC105 and 106 */ + i8259_init(MPC10X_MAPA_PCI_INTACK_ADDR); } #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) @@ -856,7 +851,7 @@ ppc_md.irq_cannonicalize = prep_irq_cannonicalize; ppc_md.init_IRQ = prep_init_IRQ; /* this gets changed later on if we have an OpenPIC -- Cort */ - ppc_md.get_irq = prep_get_irq; + ppc_md.get_irq = i8259_irq; ppc_md.init = prep_init2; ppc_md.restart = prep_restart; |
From: James S. <jsi...@us...> - 2002-05-16 18:01:40
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/ppc Modified Files: Config.help config.in Log Message: Synced to 2.5.15 Index: Config.help =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/Config.help,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Config.help 16 Apr 2002 17:41:48 -0000 1.4 +++ Config.help 16 May 2002 18:01:37 -0000 1.5 @@ -1,59 +1,54 @@ CONFIG_SMP This enables support for systems with more than one CPU. If you have - a system with only one CPU, like most personal computers, say N. If - you have a system with more than one CPU, say Y. + a system with only one CPU, say N. If you have a system with more + than one CPU, say Y. Note that the kernel does not currently + support SMP machines with 603/603e/603ev or PPC750 ("G3") processors + since they have inadequate hardware support for multiprocessor + operation. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If - you say Y here, the kernel will run on many, but not all, - singleprocessor machines. On a singleprocessor machine, the kernel - will run faster if you say N here. - - Note that if you say Y here and choose architecture "586" or - "Pentium" under "Processor family", the kernel will not work on 486 - architectures. Similarly, multiprocessor kernels for the "PPro" - architecture may not work on all Pentium based boards. + you say Y here, the kernel will run on single-processor machines. + On a single-processor machine, the kernel will run faster if you say + N here. - People using multiprocessor machines who say Y here should also say - Y to "Enhanced Real Time Clock Support", below. The "Advanced Power - Management" code will be disabled if you say Y here. + If you don't know what to do here, say N. - See also the <file:Documentation/smp.tex>, - <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>, - <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at - <http://www.linuxdoc.org/docs.html#howto>. +CONFIG_PREEMPT + This option reduces the latency of the kernel when reacting to + real-time or interactive events by allowing a low priority process to + be preempted even if it is in kernel mode executing a system call. + Unfortunately the kernel code has some race conditions if both + CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is + currently disabled if you are building an SMP kernel. - If you don't know what to do here, say N. + Say Y here if you are building a kernel for a desktop, embedded + or real-time system. Say N if you are unsure. CONFIG_PPC - The PowerPC is a very capable 32-bit RISC processor from Motorola, - the successor to their 68000 and 88000 series. It powers recent - Macintoshes and also a widely-used series of single-board computers - from Motorola. The Linux PowerPC port has a home page at - <http://penguinppc.org/>. + The PowerPC is a modern RISC architecture descended from the POWER + architecture designed by IBM. The PowerPC architecture is designed + to allow high-speed implementations which can execute several + instructions in each clock cycle. IBM and Motorola design and + manufacture PowerPC processors aimed at embedded, desktop and server + applications. PowerPC chips are used in Apple Power Macintoshes + (including iMacs, iBooks and PowerBooks), in IBM pSeries (RS/6000) + and iSeries (AS/400) machines, and in a broad range of embedded + applications. The Linux PowerPC port has a home page at + <http://penguinppc.org/intro.shtml>. CONFIG_MATH_EMULATION - Linux can emulate a math coprocessor (used for floating point - operations) if you don't have one. 486DX and Pentium processors have - a math coprocessor built in, 486SX and 386 do not, unless you added - a 487DX or 387, respectively. (The messages during boot time can - give you some hints here ["man dmesg"].) Everyone needs either a - coprocessor or this emulation. - - If you don't have a math coprocessor, you need to say Y here; if you - say Y here even though you have a coprocessor, the coprocessor will - be used nevertheless. (This behavior can be changed with the kernel - command line option "no387", which comes handy if your coprocessor - is broken. Try "man bootparam" or see the documentation of your boot - loader (lilo or loadlin) about how to pass options to the kernel at - boot time.) This means that it is a good idea to say Y here if you - intend to use this kernel on different machines. - - More information about the internals of the Linux math coprocessor - emulation can be found in <file:arch/i386/math-emu/README>. + Some PowerPC chips designed for embedded applications do not have + a floating-point unit and therefore do not implement the + floating-point instructions in the PowerPC instruction set. If you + say Y here, the kernel will include code to emulate a floating-point + unit, which will allow programs that use floating-point + instructions to run. - If you are not sure, say Y; apart from resulting in a 66 KB bigger - kernel, it won't hurt. + If you have an Apple machine or an IBM RS/6000 or pSeries machine, + or any machine with a 6xx, 7xx or 7xxx series processor, say N + here. Saying Y here will not hurt performance (on any machine) but + will increase the size of the kernel. CONFIG_MAC_FLOPPY If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple) @@ -69,11 +64,8 @@ Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard for mass storage units such as hard disks. It was designed by - Western Digital and Compaq Computer in 1984. It was then named - ST506. Quite a number of disks use the IDE interface. - - AT Attachment (ATA) is the superset of the IDE specifications. - ST506 was also called ATA-1. + Western Digital and Compaq Computer in 1984. Quite a number of + disks use the IDE interface. Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is ATA-3. It provides support for larger disks (up to 8.4GB by means of @@ -111,50 +103,28 @@ CONFIG_ISA Find out whether you have ISA slots on your motherboard. ISA is the name of a bus system, i.e. the way the CPU talks to the other stuff - inside your box. Other bus systems are PCI, EISA, MicroChannel - (MCA) or VESA. ISA is an older system, now being displaced by PCI; - newer boards don't support it. If you have ISA, say Y, otherwise N. + inside your box. If you have an Apple machine, say N here; if you + have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If + you have an embedded board, consult your board documentation. CONFIG_PCI - Find out whether you have a PCI motherboard. PCI is the name of a - bus system, i.e. the way the CPU talks to the other stuff inside - your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or - VESA. If you have PCI, say Y, otherwise N. - - The PCI-HOWTO, available from - <http://www.linuxdoc.org/docs.html#howto>, contains valuable - information about which PCI hardware does work under Linux and which - doesn't. + Find out whether your system includes a PCI bus. PCI is the name of + a bus system, i.e. the way the CPU talks to the other stuff inside + your box. If you say Y here, the kernel will include drivers and + infrastructure code to support PCI bus devices. CONFIG_PCI_QSPAN - Find out whether you have a PCI motherboard. PCI is the name of a - bus system, i.e. the way the CPU talks to the other stuff inside - your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or - VESA. If you have PCI, say Y, otherwise N. - - The PCI-HOWTO, available from - <http://www.linuxdoc.org/docs.html#howto>, contains valuable - information about which PCI hardware does work under Linux and which - doesn't. + Say Y here if you have a system based on a Motorola 8xx-series + embedded processor with a QSPAN PCI interface, otherwise say N. CONFIG_MCA - MicroChannel Architecture is found in some IBM PS/2 machines and - laptops. It is a bus system similar to PCI or ISA. See - <file:Documentation/mca.txt> (and especially the web page given - there) before attempting to build an MCA bus kernel. + MicroChannel Architecture is found in some older IBM RS/6000 + machines. It is a bus system similar to PCI or ISA. MCA-based + RS/6000 machines are currently not supported by Linux. CONFIG_EISA - The Extended Industry Standard Architecture (EISA) bus was - developed as an open alternative to the IBM MicroChannel bus. - - The EISA bus provided some of the features of the IBM MicroChannel - bus while maintaining backward compatibility with cards made for - the older ISA bus. The EISA bus saw limited use between 1988 and - 1995 when it was made obsolete by the PCI bus. - - Say Y here if you are building a kernel for an EISA-based machine. - - Otherwise, say N. + The Extended Industry Standard Architecture (EISA) bus is a bus + architecture used on some older intel-based PCs. CONFIG_HOTPLUG Say Y here if you want to plug devices into your computer while @@ -193,57 +163,27 @@ CONFIG_KCORE_ELF If you enabled support for /proc file system then the file - /proc/kcore will contain the kernel core image. This can be used - in gdb: + /proc/kcore will contain the kernel core image in ELF format. This + can be used in gdb: $ cd /usr/src/linux ; gdb vmlinux /proc/kcore - You have two choices here: ELF and A.OUT. Selecting ELF will make - /proc/kcore appear in ELF core format as defined by the Executable - and Linking Format specification. Selecting A.OUT will choose the - old "a.out" format which may be necessary for some old versions - of binutils or on some architectures. - This is especially useful if you have compiled the kernel with the "-g" option to preserve debugging information. It is mainly used - for examining kernel data structures on the live kernel so if you - don't understand what this means or are not a kernel hacker, just - leave it at its default value ELF. + for examining kernel data structures on the live kernel. CONFIG_BINFMT_ELF ELF (Executable and Linkable Format) is a format for libraries and executables used across different architectures and operating - systems. Saying Y here will enable your kernel to run ELF binaries - and enlarge it by about 13 KB. ELF support under Linux has now all - but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC) - because it is portable (this does *not* mean that you will be able - to run executables from different architectures or operating systems - however) and makes building run-time libraries very easy. Many new - executables are distributed solely in ELF format. You definitely - want to say Y here. - - Information about ELF is contained in the ELF HOWTO available from - <http://www.linuxdoc.org/docs.html#howto>. - - If you find that after upgrading from Linux kernel 1.2 and saying Y - here, you still can't run any ELF binaries (they just crash), then - you'll have to install the newest ELF runtime libraries, including - ld.so (check the file <file:Documentation/Changes> for location and - latest version). - - If you want to compile this as a module ( = code which can be - inserted in and removed from the running kernel whenever you want), - say M here and read <file:Documentation/modules.txt>. The module - will be called binfmt_elf.o. Saying M or N here is dangerous because - some crucial programs on your system might be in ELF format. + systems. CONFIG_BINFMT_MISC If you say Y here, it will be possible to plug wrapper-driven binary formats into the kernel. You will like this especially when you use programs that need an interpreter to run like Java, Python or - Emacs-Lisp. It's also useful if you often run DOS executables under + Emacs-Lisp. It's also useful if you often run DOS executables under the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from - <http://www.linuxdoc.org/docs.html#howto>). Once you have + <http://www.linuxdoc.org/docs.html#howto>). Once you have registered such a binary class with the kernel, you can start one of those programs simply by typing in its name at a shell prompt; Linux will automatically feed it to the correct interpreter. @@ -263,8 +203,8 @@ CONFIG_IRQ_ALL_CPUS This option gives the kernel permission to distribute IRQs across multiple CPUs. Saying N here will route all IRQs to the first - CPU. Generally SMP PowerMacs can answer Y. SMP IBM CHRP boxes or - Power3 boxes should say N for now. + CPU. Generally saying Y is safe, although some problems have been + reported with SMP Power Macintoshes with this option enabled. CONFIG_SCSI If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or @@ -365,26 +305,28 @@ CONFIG_ADB Apple Desktop Bus (ADB) support is for support of devices which are connected to an ADB port. ADB devices tend to have 4 pins. - If you have an Apple Macintosh prior to the iMac, or a - "Blue and White G3", you probably want to say Y here. Otherwise - say N. + If you have an Apple Macintosh prior to the iMac, an iBook or + PowerBook, or a "Blue and White G3", you probably want to say Y + here. Otherwise say N. CONFIG_ADB_CUDA This provides support for CUDA based Power Macintosh systems. This includes most OldWorld PowerMacs, the first generation iMacs, the - Blue&White G3 and the Yikes G4 (PCI Graphics). All later models - should use CONFIG_ADB_PMU instead. + Blue&White G3 and the "Yikes" G4 (PCI Graphics). All later models + should use CONFIG_ADB_PMU instead. It is safe to say Y here even if + your machine doesn't have a CUDA. If unsure say Y. CONFIG_ADB_PMU - On the PowerBook 3400 and 2400, the PMU is a 6805 microprocessor - core whose primary function is to control battery charging and - system power. The PMU also controls the ADB (Apple Desktop Bus) - which connects to the keyboard and mouse, as well as the - non-volatile RAM and the RTC (real time clock) chip. Say Y to - enable support for this device; you should do so if your machine - is one of these PowerBooks. + On PowerBooks, iBooks, and recent iMacs and Power Macintoshes, the + PMU is an embedded microprocessor whose primary function is to + control system power, and battery charging on the portable models. + The PMU also controls the ADB (Apple Desktop Bus) which connects to + the keyboard and mouse on some machines, as well as the non-volatile + RAM and the RTC (real time clock) chip. Say Y to enable support for + this device; you should do so if your machine is one of those + mentioned above. CONFIG_ADB_MACIO Say Y here to include direct support for the ADB controller in the @@ -406,7 +348,7 @@ your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) - If you don't have a VGA card installed and you say Y here, the + If you don't have a graphics card installed and you say Y here, the kernel will automatically use the first serial line, /dev/ttyS0, as system console. @@ -428,16 +370,8 @@ keys are documented in <file:Documentation/sysrq.txt>. Don't say Y unless you really know what this hack does. -CONFIG_PROC_HARDWARE - Say Y here to support the /proc/hardware file, which gives you - access to information about the machine you're running on, - including the model, CPU, MMU, clock speed, BogoMIPS rating, - and memory size. - CONFIG_AMIGA - This option enables support for the Amiga series of computers. If - you plan to use this kernel on an Amiga, say Y here and browse the - material available in <file:Documentation/m68k>; otherwise say N. + This option enables support for the Amiga series of computers. CONFIG_A2232 This option supports the 2232 7-port serial card shipped with the @@ -478,10 +412,6 @@ want). The module is called apne.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. -CONFIG_BOOTX_TEXT - Say Y here to see progress messages from the boot firmware in text - mode. Requires either BootX or Open Firmware. - CONFIG_AMIGA_BUILTIN_SERIAL If you want to use your Amiga's built-in serial port in Linux, answer Y. @@ -512,16 +442,20 @@ If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. +CONFIG_BOOTX_TEXT + Say Y here to see progress messages from the boot firmware in text + mode. Requires either BootX or Open Firmware. + CONFIG_6xx There are four types of PowerPC chips supported. The more common types (601, 603, 604, 740, 750, 7400), the Motorola embedded versions (821, 823, 850, 855, 860, 8260), the IBM embedded versions - (403 and 405) and the high end 64 bit Power processors (Power 3, - Power 4). Unless you are building a kernel for one of the embedded - processor systems, or a 64 bit IBM RS/6000, choose 6xx. Note that - the kernel runs in 32-bit mode even on 64-bit chips. Also note that - because the 82xx family has a 603e core, specific support for that - chipset is asked later on. + (403 and 405) and the high end 64 bit Power processors (POWER 3) + Unless you are building a kernel for one of the embedded processor + systems, or a 64 bit IBM RS/6000, choose 6xx. Note that the kernel + runs in 32-bit mode even on 64-bit chips. Also note that because + the 82xx family has a 603e core, specific support for that chipset + is asked later on. CONFIG_8260 The MPC8260 CPM (Communications Processor Module) is a typical @@ -559,11 +493,14 @@ Starmax series), PReP (PowerPC Reference Platform) machines (such as the Motorola PowerStacks, Motorola cPCI/VME embedded systems, and some IBM RS/6000 systems), CHRP (Common Hardware Reference - Platform), and several embedded PowerPC systems containing 4xx, 6xx, - 7xx, 8xx, 74xx, and 82xx processors. Currently, the default option - is to build a kernel which works on the first three. + Platform) machines (including all of the recent IBM RS/6000 and + pSeries machines), and several embedded PowerPC systems containing + 4xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors. Currently, the + default option is to build a kernel which works on the first three. - Select PowerMac/PReP/MTX/CHRP if configuring for any of the above. + Select CHRP/PowerMac/PReP if configuring for an IBM RS/6000 or + pSeries machine, a Power Macintosh (including iMacs, iBooks and + Powerbooks), or a PReP machine. Select Gemini if configuring for a Synergy Microsystems' Gemini series Single Board Computer. More information is available at: @@ -619,22 +556,28 @@ debugging, leave this option off. CONFIG_TAU_AVERAGE - The TAU hardware can compare the temperature to an upper and lower bound. - The default behavior is to show both the upper and lower bound in - /proc/cpuinfo. If the range is large, the temperature is either changing - a lot, or the TAU hardware is broken (likely on some G4's). If the range - is small (around 4 degrees), the temperature is relatively stable. + The TAU hardware can compare the temperature to an upper and lower + bound. The default behavior is to show both the upper and lower + bound in /proc/cpuinfo. If the range is large, the temperature is + either changing a lot, or the TAU hardware is broken (likely on some + G4's). If the range is small (around 4 degrees), the temperature is + relatively stable. If you say Y here, a single temperature value, + halfway between the upper and lower bounds, will be reported in + /proc/cpuinfo. + + If in doubt, say N here. CONFIG_PMAC_PBOOK This provides support for putting a PowerBook to sleep; it also enables media bay support. Power management works on the - PB2400/3400/3500, Wallstreet, Lombard, and Bronze PowerBook G3. You - must get the power management daemon, pmud, to make it work and you - must have the /dev/pmu device (see the pmud README). + PB2400/3400/3500, Wallstreet, Lombard, and Bronze PowerBook G3 and + the Titanium Powerbook G4, as well as the iBooks. You should get + the power management daemon, pmud, to make it work and you must have + the /dev/pmu device (see the pmud README). Get pmud from <ftp://ftp.samba.org/pub/ppclinux/pmud/>. - If you have a PowerBook, you should say Y. + If you have a PowerBook, you should say Y here. You may also want to compile the dma sound driver as a module and have it autoloaded. The act of removing the module shuts down the @@ -852,11 +795,11 @@ URL: <http://www.microsys.de/html/cu824.html> CONFIG_MAC_ADBKEYCODES - This provides support for sending raw ADB keycodes to console - devices. This is the default up to 2.4.0, but in future this may be - phased out in favor of generic Linux keycodes. If you say Y here, - you can dynamically switch via the - /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes + This provides support for sending ADB keycodes to console devices in + raw mode, rather than generic "Linux" keycodes. This is the default + up to 2.4.0, but in future this may be phased out in favor of + generic Linux keycodes. If you say Y here, you can dynamically + switch via the /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes sysctl and with the "keyboard_sends_linux_keycodes=" kernel argument. @@ -871,6 +814,8 @@ /proc/sys/dev/mac_hid/mouse_button2_keycode /proc/sys/dev/mac_hid/mouse_button3_keycode + If you have an Apple machine with a 1-button mouse, say Y here. + CONFIG_PPC_RTC If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you @@ -915,30 +860,31 @@ If unsure, say Y. CONFIG_CMDLINE - On some architectures (EBSA110 and CATS), there is currently no way - for the boot loader to pass arguments to the kernel. For these - architectures, you should supply some command-line options at build - time by entering them here. As a minimum, you should specify the - memory size and the root device (e.g., mem=64M root=/dev/nfs). + On some platforms, there is currently no way for the boot loader to + pass arguments to the kernel. For these platforms, you can supply + some command-line options at build time by entering them here. In + most cases you will need to specify the root device here. CONFIG_KGDB Include in-kernel hooks for kgdb, the Linux kernel source level - debugger. This project has a web page at - <http://kgdb.sourceforge.net/>. + debugger. See <http://kgdb.sourceforge.net/> for more information. + Unless you are intending to debug the kernel, say N here. CONFIG_XMON - Include in-kernel hooks for the xmon kernel monitor/debugger - supported by the PPC port. + Include in-kernel hooks for the xmon kernel monitor/debugger. + Unless you are intending to debug the kernel, say N here. Include BDI2000 debugger support CONFIG_BDI_SWITCH Include in-kernel support for the Abatron BDI2000 debugger. + Unless you are intending to debug the kernel with one of these + machines, say N here. Add additional CFLAGS to the kernel build CONFIG_MORE_COMPILE_OPTIONS - If you want to add additional CFLAGS to the kernel build, such as - -g for KGDB, XMON or the BDI2000, enable this option and then - enter what you would like to add in the next question. + If you want to add additional CFLAGS to the kernel build, such as -g + for KGDB or the BDI2000, enable this option and then enter what you + would like to add in the next question. CONFIG_ADVANCED_OPTIONS This option will enable prompting for a variety of advanced kernel @@ -946,39 +892,42 @@ work if they are set incorrectly, but can be used to optimize certain aspects of kernel memory management. - Unless you know what you are doing you *should not* enable this option. + Unless you know what you are doing, say N here. CONFIG_HIGHMEM_START_BOOL - Unless you know what you are doing you *should not* set this option. + This option allows you to set the base address of the kernel virtual + area used to map high memory pages. This can be useful in + optimizing the layout of kernel virtual memory. - It can be used to override the default PKMAP_BASE address which - is the location of the high memory pool. This can be useful in - optimizing virtual memory usage in a system. + Say N here unless you know what you are doing. CONFIG_LOWMEM_SIZE_BOOL - Unless you know what you are doing you *should not* set this option. + This option allows you to set the maximum amount of memory which + will be used as "low memory", that is, memory which the kernel can + access directly, without having to set up a kernel virtual mapping. + This can be useful in optimizing the layout of kernel virtual + memory. - It can be used to override the standard calculated value of - MAX_LOW_MEM. This can be useful in optimizing virtual memory usage - in a system. + Say N here unless you know what you are doing. CONFIG_KERNEL_START_BOOL - Unless you know what you are doing you *should not* set this option. + This option allows you to set the kernel virtual address at which + the kernel will map low memory (the kernel image will be linked at + this address). This can be useful in optimizing the virtual memory + layout of the system. - It can be used to override the standard PAGE_OFFSET/KERNELBASE - value used by the kernel. This can be useful in controlling - amount of virtual address space available to the kernel. + Say N here unless you know what you are doing. CONFIG_TASK_SIZE_BOOL - Unless you know what you are doing you *should not* set this option. + This option allows you to set the amount of virtual address space + allocated to user tasks. This can be useful in optimizing the + virtual memory layout of the system. - It can be used to override the standard TASK_SIZE value used - by the kernel. This can be useful in controlling amount of - virtual address space available to user tasks. + Say N here unless you know what you are doing. CONFIG_BOOT_LOAD_BOOL - Unless you know what you are doing you *should not* set this option. + This option allows you to set the initial load address of the zImage + or zImage.initrd file. This can be useful if you are on a board + which has a small amount of memory. - It can be used to change the initial load address of the zImage or - zImage.initrd file. This can be useful if you are on a board which has - a small ammount of memory. + Say N here unless you know what you are doing. Index: config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/config.in,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- config.in 6 May 2002 17:29:59 -0000 1.31 +++ config.in 16 May 2002 18:01:37 -0000 1.32 @@ -123,10 +123,16 @@ SBS-K2 CONFIG_K2 \ Synergy-Gemini CONFIG_GEMINI \ Zynx-ZX4500 CONFIG_ZX4500" CHRP/PowerMac/PReP -fi -if [ "$CONFIG_PCORE" = "y" -o "$CONFIG_POWERPMC250" = "y" ]; then - define_bool CONFIG_FORCE y + if [ "$CONFIG_SANDPOINT" = "y" ]; then + bool ' Sandpoint X3' CONFIG_SANDPOINT_X3 + fi + if [ "$CONFIG_PCORE" = "y" -o "$CONFIG_POWERPMC250" = "y" ]; then + define_bool CONFIG_FORCE y + fi + if [ "$CONFIG_LOPEC" = "y" -o "$CONFIG_SANDPOINT_X3" = "y" ]; then + define_bool CONFIG_EPIC_SERIAL_MODE y + fi fi if [ "$CONFIG_FORCE" = "y" -o "$CONFIG_MENF1" = "y" \ @@ -147,13 +153,6 @@ bool 'MVME5100 configured with an IPMC761' CONFIG_MVME5100_IPMC761_PRESENT fi -if [ "$CONFIG_SANDPOINT" = "y" ]; then - bool 'Sandpoint X3' CONFIG_SANDPOINT_X3 - if [ "$CONFIG_SANDPOINT_X3" = "y" ]; then - define_bool CONFIG_EPIC_SERIAL_MODE y - fi -fi - if [ "$CONFIG_SPRUCE" = "y" ]; then bool 'Spruce baud clock support' CONFIG_SPRUCE_BAUD_33M fi @@ -166,7 +165,9 @@ if [ "$CONFIG_SMP" = "y" ]; then bool ' Distribute interrupts on all CPUs by default' CONFIG_IRQ_ALL_CPUS fi -define_bool CONFIG_PREEMPT n +if [ "$CONFIG_SMP" != "y" ]; then + bool 'Preemptible Kernel' CONFIG_PREEMPT +fi if [ "$CONFIG_6xx" = "y" -a "$CONFIG_8260" = "n" ];then bool 'AltiVec Support' CONFIG_ALTIVEC @@ -608,9 +609,10 @@ if [ "$CONFIG_ALL_PPC" = "y" ]; then bool 'Support for early boot text console (BootX or OpenFirmware only)' CONFIG_BOOTX_TEXT fi -if [ "$CONFIG_MCPN765" = "y" -o "$CONFIG_SANDPOINT" = "y" \ - -o "$CONFIG_ZX4500" = "y" -o "$CONFIG_PRPMC800" = "y" \ - -o "$CONFIG_4xx" = "y" -o "$CONFIG_GT64260" = "y" ]; then +if [ "$CONFIG_4xx" = "y" -o "$CONFIG_GT64260" = "y" \ + -o "$CONFIG_LOPEC" = "y" -o "$CONFIG_MCPN765" = "y" \ + -o "$CONFIG_PRPMC800" = "y" -o "$CONFIG_SANDPOINT" = "y" \ + -o "$CONFIG_ZX4500" = "y" ]; then bool 'Support for early boot texts over serial port' CONFIG_SERIAL_TEXT_DEBUG fi endmenu |
From: James S. <jsi...@us...> - 2002-05-16 18:01:40
|
Update of /cvsroot/linuxconsole/ruby In directory usw-pr-cvs1:/tmp/cvs-serv14367 Added Files: AGAINST-2.5.15 Removed Files: AGAINST-2.5.14 Log Message: Synced to 2.5.15 --- NEW FILE: AGAINST-2.5.15 --- --- AGAINST-2.5.14 DELETED --- |
From: James S. <jsi...@us...> - 2002-05-16 18:01:39
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel In directory usw-pr-cvs1:/tmp/cvs-serv14367/linux/arch/ppc/kernel Modified Files: ppc4xx_setup.c ppc_ksyms.c setup.c Log Message: Synced to 2.5.15 Index: ppc4xx_setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/ppc4xx_setup.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ppc4xx_setup.c 1 May 2002 18:07:49 -0000 1.2 +++ ppc4xx_setup.c 16 May 2002 18:01:37 -0000 1.3 @@ -256,7 +256,7 @@ * IDE stuff. * should be generic for every IDE PCI chipset */ -#if defined(CONFIG_BLK_DEV_IDEPCI) +#ifdef CONFIG_PCI static void ppc4xx_ide_init_hwif_ports(hw_regs_t * hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq) @@ -376,7 +376,7 @@ ** defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) */ #ifdef CONFIG_IDE -# if defined(CONFIG_BLK_DEV_IDEPCI) +# if defined(CONFIG_PCI) ppc_ide_md.ide_init_hwif = ppc4xx_ide_init_hwif_ports; # elif defined (CONFIG_DMA_NONPCI) /* ON board IDE */ ppc_ide_md.default_irq = nonpci_ide_default_irq; Index: ppc_ksyms.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/ppc_ksyms.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- ppc_ksyms.c 16 Apr 2002 17:41:48 -0000 1.7 +++ ppc_ksyms.c 16 May 2002 18:01:37 -0000 1.8 @@ -56,7 +56,6 @@ /* Tell string.h we don't want memcpy etc. as cpp defines */ #define EXPORT_SYMTAB_STROPS -extern void ppc_generic_ide_fix_driveid(struct hd_driveid *id); extern void transfer_to_handler(void); extern void do_syscall_trace(void); extern void do_IRQ(struct pt_regs *regs); @@ -75,7 +74,6 @@ extern unsigned char __res[]; -extern unsigned long ret_to_user_hook; extern unsigned long mm_ptov (unsigned long paddr); extern void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle); @@ -172,7 +170,6 @@ #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) EXPORT_SYMBOL(ppc_ide_md); -EXPORT_SYMBOL(ppc_generic_ide_fix_driveid); #endif #ifdef CONFIG_PCI @@ -311,9 +308,7 @@ EXPORT_SYMBOL(__restore_flags); EXPORT_SYMBOL(__restore_flags_end); #endif -EXPORT_SYMBOL(timer_interrupt_intercept); EXPORT_SYMBOL(timer_interrupt); -EXPORT_SYMBOL(do_IRQ_intercept); EXPORT_SYMBOL(irq_desc); void ppc_irq_dispatch_handler(struct pt_regs *, int); EXPORT_SYMBOL(ppc_irq_dispatch_handler); @@ -354,7 +349,6 @@ EXPORT_SYMBOL(request_8xxirq); #endif -EXPORT_SYMBOL(ret_to_user_hook); EXPORT_SYMBOL(next_mmu_context); EXPORT_SYMBOL(set_context); EXPORT_SYMBOL(handle_mm_fault); /* For MOL */ @@ -364,8 +358,6 @@ extern long *intercept_table; EXPORT_SYMBOL(intercept_table); #endif -extern long *ret_from_intercept; -EXPORT_SYMBOL(ret_from_intercept); EXPORT_SYMBOL(cur_cpu_spec); #if defined(CONFIG_ALL_PPC) extern unsigned long agp_special_page; Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc/kernel/setup.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- setup.c 15 Mar 2002 18:59:28 -0000 1.1 +++ setup.c 16 May 2002 18:01:37 -0000 1.2 @@ -35,6 +35,7 @@ #include <asm/uaccess.h> #include <asm/system.h> #include <asm/pmac_feature.h> +#include <asm/sections.h> #if defined CONFIG_KGDB #include <asm/kgdb.h> @@ -229,7 +230,6 @@ return 0; } - static void *c_start(struct seq_file *m, loff_t *pos) { int i = *pos; @@ -308,6 +308,27 @@ } #ifdef CONFIG_ALL_PPC +/* + * Assume here that all clock rates are the same in a + * smp system. -- Cort + */ +int __openfirmware +of_show_percpuinfo(struct seq_file *m, int i) +{ + struct device_node *cpu_node; + int *fp, s; + + cpu_node = find_type_devices("cpu"); + if (!cpu_node) + return 0; + for (s = 0; s < i && cpu_node->next; s++) + cpu_node = cpu_node->next; + fp = (int *) get_property(cpu_node, "clock-frequency", NULL); + if (fp) + seq_printf(m, "clock\t\t: %dMHz\n", *fp / 1000000); + return 0; +} + void __init intuit_machine_type(void) { @@ -520,13 +541,34 @@ if (cur_cpu_spec[0]->cpu_features & CPU_FTR_L2CR) { unsigned long val = simple_strtoul(str, NULL, 0); printk(KERN_INFO "l2cr set to %lx\n", val); - _set_L2CR(0); /* force invalidate by disable cache */ - _set_L2CR(val); /* and enable it */ + _set_L2CR(0); /* force invalidate by disable cache */ + _set_L2CR(val); /* and enable it */ } return 1; } __setup("l2cr=", ppc_setup_l2cr); +#ifdef CONFIG_NVRAM +/* Generic nvram hooks we now look into ppc_md.nvram_read_val + * on pmac too ;) + * //XX Those 2 could be moved to headers + */ +unsigned char +nvram_read_byte(int addr) +{ + if (ppc_md.nvram_read_val) + return ppc_md.nvram_read_val(addr); + return 0xff; +} + +void +nvram_write_byte(unsigned char val, int addr) +{ + if (ppc_md.nvram_write_val) + ppc_md.nvram_write_val(val, addr); +} +#endif /* CONFIG_NVRAM */ + int __init ppc_init(void) { /* clear the progress line */ @@ -615,100 +657,3 @@ /* this is for modules since _machine can be a define -- Cort */ ppc_md.ppc_machine = _machine; } - -#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) -/* Convert the shorts/longs in hd_driveid from little to big endian; - * chars are endian independant, of course, but strings need to be flipped. - * (Despite what it says in drivers/block/ide.h, they come up as little - * endian...) - * - * Changes to linux/hdreg.h may require changes here. */ -void ppc_generic_ide_fix_driveid(struct hd_driveid *id) -{ - int i; - unsigned short *stringcast; - - id->config = __le16_to_cpu(id->config); - id->cyls = __le16_to_cpu(id->cyls); - id->reserved2 = __le16_to_cpu(id->reserved2); - id->heads = __le16_to_cpu(id->heads); - id->track_bytes = __le16_to_cpu(id->track_bytes); - id->sector_bytes = __le16_to_cpu(id->sector_bytes); - id->sectors = __le16_to_cpu(id->sectors); - id->vendor0 = __le16_to_cpu(id->vendor0); - id->vendor1 = __le16_to_cpu(id->vendor1); - id->vendor2 = __le16_to_cpu(id->vendor2); - stringcast = (unsigned short *)&id->serial_no[0]; - for (i = 0; i < (20/2); i++) - stringcast[i] = __le16_to_cpu(stringcast[i]); - id->buf_type = __le16_to_cpu(id->buf_type); - id->buf_size = __le16_to_cpu(id->buf_size); - id->ecc_bytes = __le16_to_cpu(id->ecc_bytes); - stringcast = (unsigned short *)&id->fw_rev[0]; - for (i = 0; i < (8/2); i++) - stringcast[i] = __le16_to_cpu(stringcast[i]); - stringcast = (unsigned short *)&id->model[0]; - for (i = 0; i < (40/2); i++) - stringcast[i] = __le16_to_cpu(stringcast[i]); - id->dword_io = __le16_to_cpu(id->dword_io); - id->reserved50 = __le16_to_cpu(id->reserved50); - id->field_valid = __le16_to_cpu(id->field_valid); - id->cur_cyls = __le16_to_cpu(id->cur_cyls); - id->cur_heads = __le16_to_cpu(id->cur_heads); - id->cur_sectors = __le16_to_cpu(id->cur_sectors); - id->cur_capacity0 = __le16_to_cpu(id->cur_capacity0); - id->cur_capacity1 = __le16_to_cpu(id->cur_capacity1); - id->lba_capacity = __le32_to_cpu(id->lba_capacity); - id->dma_1word = __le16_to_cpu(id->dma_1word); - id->dma_mword = __le16_to_cpu(id->dma_mword); - id->eide_pio_modes = __le16_to_cpu(id->eide_pio_modes); - id->eide_dma_min = __le16_to_cpu(id->eide_dma_min); - id->eide_dma_time = __le16_to_cpu(id->eide_dma_time); - id->eide_pio = __le16_to_cpu(id->eide_pio); - id->eide_pio_iordy = __le16_to_cpu(id->eide_pio_iordy); - for (i = 0; i < 2; i++) - id->words69_70[i] = __le16_to_cpu(id->words69_70[i]); - for (i = 0; i < 4; i++) - id->words71_74[i] = __le16_to_cpu(id->words71_74[i]); - id->queue_depth = __le16_to_cpu(id->queue_depth); - for (i = 0; i < 4; i++) - id->words76_79[i] = __le16_to_cpu(id->words76_79[i]); - id->major_rev_num = __le16_to_cpu(id->major_rev_num); - id->minor_rev_num = __le16_to_cpu(id->minor_rev_num); - id->command_set_1 = __le16_to_cpu(id->command_set_1); - id->command_set_2 = __le16_to_cpu(id->command_set_2); - id->cfsse = __le16_to_cpu(id->cfsse); - id->cfs_enable_1 = __le16_to_cpu(id->cfs_enable_1); - id->cfs_enable_2 = __le16_to_cpu(id->cfs_enable_2); - id->csf_default = __le16_to_cpu(id->csf_default); - id->dma_ultra = __le16_to_cpu(id->dma_ultra); - id->word89 = __le16_to_cpu(id->word89); - id->word90 = __le16_to_cpu(id->word90); - id->CurAPMvalues = __le16_to_cpu(id->CurAPMvalues); - id->word92 = __le16_to_cpu(id->word92); - id->hw_config = __le16_to_cpu(id->hw_config); - id->acoustic = __le16_to_cpu(id->acoustic); - for (i = 0; i < 5; i++) - id->words95_99[i] = __le16_to_cpu(id->words95_99[i]); - id->lba_capacity_2 = __le64_to_cpu(id->lba_capacity_2); - for (i = 0; i < 22; i++) - id->words104_125[i] = __le16_to_cpu(id->words104_125[i]); - id->last_lun = __le16_to_cpu(id->last_lun); - id->word127 = __le16_to_cpu(id->word127); - id->dlf = __le16_to_cpu(id->dlf); - id->csfo = __le16_to_cpu(id->csfo); - for (i = 0; i < 26; i++) - id->words130_155[i] = __le16_to_cpu(id->words130_155[i]); - id->word156 = __le16_to_cpu(id->word156); - for (i = 0; i < 3; i++) - id->words157_159[i] = __le16_to_cpu(id->words157_159[i]); - id->cfa_power = __le16_to_cpu(id->cfa_power); - for (i = 0; i < 14; i++) - id->words161_175[i] = __le16_to_cpu(id->words161_175[i]); - for (i = 0; i < 31; i++) - id->words176_205[i] = __le16_to_cpu(id->words176_205[i]); - for (i = 0; i < 48; i++) - id->words206_254[i] = __le16_to_cpu(id->words206_254[i]); - id->integrity_word = __le16_to_cpu(id->integrity_word); -} -#endif |
From: James S. <jsi...@us...> - 2002-05-10 16:27:26
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv30693 Modified Files: cfbcopyarea.c cfbfillrect.c cfbimgblt.c Log Message: Updates and fixes for the soft accel functions. Index: cfbcopyarea.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/cfbcopyarea.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- cfbcopyarea.c 23 Mar 2002 00:22:58 -0000 1.6 +++ cfbcopyarea.c 10 May 2002 16:27:23 -0000 1.7 @@ -26,19 +26,21 @@ #include <linux/slab.h> #include <asm/types.h> #include <asm/io.h> +#include <video/fbcon.h> -void cfb_copyarea(struct fb_info *p, struct fb_copyarea *area) +void cfb_copyarea(struct fb_info *p, struct fb_copyarea *area) { - unsigned long start_index, end_index, start_mask, end_mask, last, tmp, height; - int x2, y2, n, j, lineincr, shift, shift_right, shift_left, old_dx, old_dy; - int linesize = p->fix.line_length, bpl = sizeof(unsigned long); + int x2, y2, lineincr, shift, shift_right, shift_left, old_dx, old_dy; + int n, j, linesize = p->fix.line_length, bpl = sizeof(unsigned long); + unsigned long start_index, end_index, start_mask, end_mask, last; unsigned long *dst = NULL, *src = NULL; - char *src1,*dst1; - + char *src1, *dst1; + int tmp, height; + /* clip the destination */ old_dx = area->dx; old_dy = area->dy; - + /* * We could use hardware clipping but on many cards you get around * hardware clipping by writing to framebuffer directly. @@ -51,54 +53,56 @@ y2 = y2 < p->var.yres_virtual ? y2 : p->var.yres_virtual; area->width = x2 - area->dx; area->height = y2 - area->dy; - + /* update sx1,sy1 */ area->sx += (area->dx - old_dx); area->sy += (area->dy - old_dy); - + height = area->height; /* the source must be completely inside the virtual screen */ if (area->sx < 0 || area->sy < 0 || - (area->sx + area->width) > p->var.xres_virtual || - (area->sy + area->height) > p->var.yres_virtual) + (area->sx + area->width) > p->var.xres_virtual || + (area->sy + area->height) > p->var.yres_virtual) return; - - if (area->dy < area->sy || (area->dy == area->sy && area->dx < area->sx)) { + + if (area->dy < area->sy + || (area->dy == area->sy && area->dx < area->sx)) { /* start at the top */ - src1 = p->screen_base + area->sy * linesize + - ((area->sx * p->var.bits_per_pixel) >> 3); + src1 = p->screen_base + area->sy * linesize + + ((area->sx * p->var.bits_per_pixel) >> 3); dst1 = p->screen_base + area->dy * linesize + - ((area->dx * p->var.bits_per_pixel) >> 3); + ((area->dx * p->var.bits_per_pixel) >> 3); lineincr = linesize; } else { /* start at the bottom */ - src1 = p->screen_base + (area->sy + area->height-1)*linesize + - (((area->sx + area->width - 1) * p->var.bits_per_pixel) >> 3); - dst1 = p->screen_base + (area->dy + area->height-1)*linesize + - (((area->dx + area->width - 1) * p->var.bits_per_pixel) >> 3); + src1 = p->screen_base + (area->sy + area->height-1) * linesize + + (((area->sx + area->width - 1) * p->var.bits_per_pixel) >> 3); + dst1 = p->screen_base + (area->dy + area->height-1) * linesize + + (((area->dx + area->width - 1) * p->var.bits_per_pixel) >> 3); lineincr = -linesize; } - + if ((BITS_PER_LONG % p->var.bits_per_pixel) == 0) { - int ppw = BITS_PER_LONG/p->var.bits_per_pixel; - int n = ((area->width * p->var.bits_per_pixel) >> 3); + int ppw = BITS_PER_LONG / p->var.bits_per_pixel; + int n = ((area->width * p->var.bits_per_pixel) >> 3); - start_index = ((unsigned long) src1 & (bpl-1)); - end_index = ((unsigned long) (src1 + n) & (bpl-1)); - shift = ((unsigned long)dst1 & (bpl-1)) - ((unsigned long) src1 & (bpl-1)); + start_index = ((unsigned long) src1 & (bpl - 1)); + end_index = ((unsigned long) (src1 + n) & (bpl - 1)); + shift = ((unsigned long) dst1 & (bpl - 1)) - + ((unsigned long) src1 & (bpl - 1)); start_mask = end_mask = 0; - - if (start_index) { + + if (start_index) { start_mask = -1 >> (start_index << 3); n -= (bpl - start_index); } - + if (end_index) { end_mask = -1 << ((bpl - end_index) << 3); n -= end_index; - } - n = n/bpl; + } + n = n / bpl; if (n <= 0) { if (start_mask) { @@ -114,12 +118,16 @@ if (shift) { if (shift > 0) { /* dest is over to right more */ - shift_right = shift * p->var.bits_per_pixel; - shift_left = (ppw - shift) * p->var.bits_per_pixel; + shift_right = + shift * p->var.bits_per_pixel; + shift_left = + (ppw - shift) * p->var.bits_per_pixel; } else { /* source is to the right more */ - shift_right = (ppw + shift) * p->var.bits_per_pixel; - shift_left = -shift * p->var.bits_per_pixel; + shift_right = + (ppw + shift) * p->var.bits_per_pixel; + shift_left = + -shift * p->var.bits_per_pixel; } /* general case, positive increment */ if (lineincr > 0) { @@ -137,8 +145,7 @@ dst++; tmp = fb_readl(src); src++; - fb_writel((last << shift_left) | - (tmp >> shift_right),dst); + fb_writel((last << shift_left) | (tmp >> shift_right), dst); last = tmp; src++; } @@ -162,8 +169,7 @@ dst--; tmp = fb_readl(src); src--; - fb_writel((tmp << shift_left) | - (last >> shift_right),dst); + fb_writel((tmp << shift_left) | (last >> shift_right), dst); last = tmp; src--; } @@ -175,24 +181,24 @@ } else { /* no shift needed */ if (lineincr > 0) { - /* positive increment */ + /* positive increment */ do { dst = (unsigned long *) (dst1 - start_index); src = (unsigned long *) (src1 - start_index); - - if (start_mask) + + if (start_mask) fb_writel(fb_readl(src) | start_mask, dst); - - for (j = 0; j < n; j++) { - fb_writel(fb_readl(src), dst); + + for (j = 0; j < n; j++) { + fb_writel(fb_readl(src), dst); dst++; src++; } - + if (end_mask) - fb_writel(fb_readl(src) | end_mask,dst); - src1 += lineincr; - dst1 += lineincr; + fb_writel(fb_readl(src) | end_mask, dst); + src1 += lineincr; + dst1 += lineincr; } while (--height); } else { /* negative increment */ @@ -202,8 +208,8 @@ if (start_mask) fb_writel(fb_readl(src) | start_mask, dst); - for (j = 0; j < n; j++) { - fb_writel(fb_readl(src), dst); + for (j = 0; j < n; j++) { + fb_writel(fb_readl(src), dst); dst--; src--; } Index: cfbfillrect.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/cfbfillrect.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- cfbfillrect.c 6 May 2002 19:04:28 -0000 1.10 +++ cfbfillrect.c 10 May 2002 16:27:23 -0000 1.11 @@ -22,17 +22,18 @@ #include <asm/types.h> #include <video/fbcon.h> -void cfb_fillrect(struct fb_info *p, struct fb_fillrect *rect) +void cfb_fillrect(struct fb_info *p, struct fb_fillrect *rect) { unsigned long start_index, end_index, start_mask = 0, end_mask = 0; unsigned long height, ppw, fg, fgcolor; int i, n, x2, y2, linesize = p->fix.line_length; - int bpl = sizeof(unsigned long); + int bpl = sizeof(unsigned long); unsigned long *dst; - char *dst1; + char *dst1; + + if (!rect->width || !rect->height) + return; - if (!rect->width || !rect->height) return; - /* We could use hardware clipping but on many cards you get around * hardware clipping by writing to framebuffer directly. */ x2 = rect->dx + rect->width; @@ -42,79 +43,84 @@ rect->width = x2 - rect->dx; height = y2 - rect->dy; - /* Size of the scanline in bytes */ - n = (rect->width * (p->var.bits_per_pixel >> 3)); - ppw = BITS_PER_LONG/p->var.bits_per_pixel; + /* Size of the scanline in bytes */ + n = (rect->width * (p->var.bits_per_pixel >> 3)); + ppw = BITS_PER_LONG / p->var.bits_per_pixel; - dst1 = p->screen_base + (rect->dy * linesize) + (rect->dx * (p->var.bits_per_pixel >> 3)); - start_index = ((unsigned long) dst1 & (bpl-1)); - end_index = ((unsigned long)(dst1 + n) & (bpl-1)); + dst1 = p->screen_base + (rect->dy * linesize) + + (rect->dx * (p->var.bits_per_pixel >> 3)); + start_index = ((unsigned long) dst1 & (bpl - 1)); + end_index = ((unsigned long) (dst1 + n) & (bpl - 1)); - if (p->fix.visual == FB_VISUAL_TRUECOLOR) - fg = fgcolor = ((u32 *)(p->pseudo_palette))[rect->color]; - else + if (p->fix.visual == FB_VISUAL_TRUECOLOR) + fg = fgcolor = ((u32 *) (p->pseudo_palette))[rect->color]; + else fg = fgcolor = rect->color; - - for (i = 0; i < ppw-1; i++) { + + for (i = 0; i < ppw - 1; i++) { fg <<= p->var.bits_per_pixel; - fg |= fgcolor; + fg |= fgcolor; } if (start_index) { start_mask = fg << (start_index << 3); n -= (bpl - start_index); } - + if (end_index) { end_mask = fg >> ((bpl - end_index) << 3); n -= end_index; } - n = n/bpl; + n = n / bpl; if (n <= 0) { if (start_mask) { - if (end_mask) + if (end_mask) end_mask &= start_mask; - else + else end_mask = start_mask; start_mask = 0; } - n = 0; + n = 0; } if ((BITS_PER_LONG % p->var.bits_per_pixel) == 0) { switch (rect->rop) { - case ROP_COPY: + case ROP_COPY: do { /* Word align to increases performace :-) */ dst = (unsigned long *) (dst1 - start_index); - + if (start_mask) { #if BITS_PER_LONG == 32 - fb_writel(fb_readl(dst) | start_mask, dst); + fb_writel(fb_readl(dst) | + start_mask, dst); #else - fb_writeq(fb_readq(dst) | start_mask, dst); + fb_writeq(fb_readq(dst) | + start_mask, dst); #endif dst++; } - - for ( i=0; i < n; i++) { + + for (i = 0; i < n; i++) { #if BITS_PER_LONG == 32 fb_writel(fg, dst); #else fb_writeq(fg, dst); #endif - dst++; + dst++; } if (end_mask) #if BITS_PER_LONG == 32 - fb_writel(fb_readl(dst) | end_mask, dst); + fb_writel(fb_readl(dst) | end_mask, + dst); #else - fb_writeq(fb_readq(dst) | end_mask, dst); + fb_writeq(fb_readq(dst) | end_mask, + dst); #endif - dst1+=linesize; + dst1 += linesize; } while (--height); break; case ROP_XOR: @@ -123,30 +129,34 @@ if (start_mask) { #if BITS_PER_LONG == 32 - fb_writel(fb_readl(dst) ^ start_mask, dst); + fb_writel(fb_readl(dst) ^ + start_mask, dst); #else - fb_writeq(fb_readq(dst) ^ start_mask, dst); + fb_writeq(fb_readq(dst) ^ + start_mask, dst); #endif dst++; } - for( i=0; i < n; i++) { + for (i = 0; i < n; i++) { #if BITS_PER_LONG == 32 - fb_writel(fb_readl(dst) ^ fg, dst); + fb_writel(fb_readl(dst) ^ fg, dst); #else - fb_writeq(fb_readq(dst) ^ fg, dst); + fb_writeq(fb_readq(dst) ^ fg, dst); #endif dst++; } - + if (end_mask) { #if BITS_PER_LONG == 32 - fb_writel(fb_readl(dst) ^ end_mask, dst); + fb_writel(fb_readl(dst) ^ end_mask, + dst); #else - fb_writeq(fb_readq(dst) ^ end_mask, dst); + fb_writeq(fb_readq(dst) ^ end_mask, + dst); #endif } - dst1+=linesize; + dst1 += linesize; } while (--height); break; } @@ -156,38 +166,44 @@ end_mask = fg << (end_index * p->var.bits_per_pixel); /* start_mask =& PFILL24(x1,fg); end_mask_or = end_mask & PFILL24(x1+width-1,fg); */ - - n = (rect->width - start_index - end_index)/ppw; - + + n = (rect->width - start_index - end_index) / ppw; + switch (rect->rop) { - case ROP_COPY: + case ROP_COPY: do { - dst = (unsigned long *)dst1; - if (start_mask) *dst |= start_mask; - if ((start_index + rect->width) > ppw) dst++; + dst = (unsigned long *) dst1; + if (start_mask) + *dst |= start_mask; + if ((start_index + rect->width) > ppw) + dst++; /* XXX: slow */ - for (i = 0;i < n; i++) { + for (i = 0; i < n; i++) { *dst++ = fg; } - if (end_mask) *dst |= end_mask; - dst1+=linesize; + if (end_mask) + *dst |= end_mask; + dst1 += linesize; } while (--height); break; case ROP_XOR: do { - dst = (unsigned long *)dst1; - if (start_mask) *dst ^= start_mask; - if ((start_mask + rect->width) > ppw) dst++; - - for( i = 0; i < n; i++) { - *dst++ ^= fg; /* PFILL24(fg,x1+i); */ + dst = (unsigned long *) dst1; + if (start_mask) + *dst ^= start_mask; + if ((start_mask + rect->width) > ppw) + dst++; + + for (i = 0; i < n; i++) { + *dst++ ^= fg; /* PFILL24(fg,x1+i); */ } - if (end_mask) *dst ^= end_mask; - dst1+=linesize; + if (end_mask) + *dst ^= end_mask; + dst1 += linesize; } while (--height); break; - } + } } - return; + return; } Index: cfbimgblt.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/cfbimgblt.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- cfbimgblt.c 23 Mar 2002 00:22:58 -0000 1.10 +++ cfbimgblt.c 10 May 2002 16:27:23 -0000 1.11 @@ -31,6 +31,8 @@ #include <linux/fb.h> #include <asm/types.h> +#include <video/fbcon.h> + #define DEBUG #ifdef DEBUG @@ -43,11 +45,11 @@ { int ppw, shift, shift_right, shift_left, x2, y2, n, i, j, k, l = 7; unsigned long tmp = ~0 << (BITS_PER_LONG - p->var.bits_per_pixel); - unsigned long fgx, bgx, fgcolor, bgcolor, eorx; + unsigned long fgx, bgx, fgcolor, bgcolor, eorx; unsigned long end_index, end_mask, mask; unsigned long *dst = NULL; - u8 *dst1, *src; - + u8 *dst1, src; + /* * We could use hardware clipping but on many cards you get around hardware * clipping by writing to framebuffer directly like we are doing here. @@ -58,48 +60,58 @@ image->dy = image->dy > 0 ? image->dy : 0; x2 = x2 < p->var.xres_virtual ? x2 : p->var.xres_virtual; y2 = y2 < p->var.yres_virtual ? y2 : p->var.yres_virtual; - image->width = x2 - image->dx; + image->width = x2 - image->dx; image->height = y2 - image->dy; - - dst1 = p->screen_base + image->dy * p->fix.line_length + - ((image->dx * p->var.bits_per_pixel) >> 3); - - ppw = BITS_PER_LONG/p->var.bits_per_pixel; - src = image->data; + dst1 = p->screen_base + image->dy * p->fix.line_length + + ((image->dx * p->var.bits_per_pixel) >> 3); - if (p->fix.visual == FB_VISUAL_TRUECOLOR) { - fgx = fgcolor = ((u32 *)(p->pseudo_palette))[image->fg_color]; - bgx = bgcolor = ((u32 *)(p->pseudo_palette))[image->bg_color]; - } else { - fgx = fgcolor = image->fg_color; - bgx = bgcolor = image->bg_color; - } - - for (i = 0; i < ppw-1; i++) { - fgx <<= p->var.bits_per_pixel; - bgx <<= p->var.bits_per_pixel; - fgx |= fgcolor; - bgx |= bgcolor; - } - eorx = fgx ^ bgx; - l = 7; + ppw = BITS_PER_LONG / p->var.bits_per_pixel; - for (i = 0; i < image->height; i++) { - dst = (unsigned long *) dst1; - - for (j = image->width/ppw; j > 0; j--) { - mask = 0; - - for (k = ppw; k > 0; k--) { - if (test_bit(l, src)) - mask |= (tmp >> (p->var.bits_per_pixel*(k-1))); - l--; + src = image->data; + + n = ((image->width + 7) >> 3); + pad = n - image->width; + + if (image->depth == 1) { + if (p->fix.visual == FB_VISUAL_TRUECOLOR) { + fgx = fgcolor = + ((u32 *) (p->pseudo_palette))[image->fg_color]; + bgx = bgcolor = + ((u32 *) (p->pseudo_palette))[image->bg_color]; + } else { + fgx = fgcolor = image->fg_color; + bgx = bgcolor = image->bg_color; + } + + for (i = 0; i < ppw - 1; i++) { + fgx <<= p->var.bits_per_pixel; + bgx <<= p->var.bits_per_pixel; + fgx |= fgcolor; + bgx |= bgcolor; + } + eorx = fgx ^ bgx; + + for (i = 0; i < image->height; i++) { + dst = (unsigned long *) dst1; + + if (ppw >= image->width) { + for (j = image->width / ppw; j > 0; j--) { + mask = 0; + + for (k = ppw; k > 0; k--) { + if (test_bit(l, src)) + mask |= (tmp >> (p->var.bits_per_pixel * (k - 1))); + l--; + if (l < 0) { l = 7; src++; } + } + fb_writel((mask & eorx) ^ bgx, dst); + dst++; + } + l = -pad; if (l < 0) { l = 7; src++; } + dst1 += p->fix.line_length; } - fb_writel((mask & eorx)^bgx, dst); - dst++; } - dst1 += p->fix.line_length; - } + } } |
From: James S. <jsi...@us...> - 2002-05-08 16:35:46
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv1274 Modified Files: fbcmap.c Log Message: Paul's fix for non existant color maps. Index: fbcmap.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbcmap.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- fbcmap.c 1 May 2002 18:07:50 -0000 1.11 +++ fbcmap.c 8 May 2002 16:35:43 -0000 1.12 @@ -166,9 +166,9 @@ else tooff = from->start-to->start; size = to->len-tooff; - if (size > from->len-fromoff) + if (size > (int) from->len-fromoff) size = from->len-fromoff; - if (size < 0) + if (size <= 0) return; size *= sizeof(u16); |
From: James S. <jsi...@us...> - 2002-05-06 19:04:32
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv26902 Modified Files: cfbfillrect.c Log Message: Fixed the issue of off by a pixels for the cursor. Index: cfbfillrect.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/cfbfillrect.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- cfbfillrect.c 23 Mar 2002 00:22:58 -0000 1.9 +++ cfbfillrect.c 6 May 2002 19:04:28 -0000 1.10 @@ -20,6 +20,7 @@ #include <linux/string.h> #include <linux/fb.h> #include <asm/types.h> +#include <video/fbcon.h> void cfb_fillrect(struct fb_info *p, struct fb_fillrect *rect) { @@ -42,10 +43,10 @@ height = y2 - rect->dy; /* Size of the scanline in bytes */ - n = ((rect->width * p->var.bits_per_pixel) >> 3); + n = (rect->width * (p->var.bits_per_pixel >> 3)); ppw = BITS_PER_LONG/p->var.bits_per_pixel; - dst1 = p->screen_base + rect->dy * linesize + ((rect->dx * p->var.bits_per_pixel) >> 3); + dst1 = p->screen_base + (rect->dy * linesize) + (rect->dx * (p->var.bits_per_pixel >> 3)); start_index = ((unsigned long) dst1 & (bpl-1)); end_index = ((unsigned long)(dst1 + n) & (bpl-1)); @@ -114,27 +115,31 @@ fb_writeq(fb_readq(dst) | end_mask, dst); #endif dst1+=linesize; - } while (--height); - break; + } while (--height); + break; case ROP_XOR: do { dst = (unsigned long *) (dst1 - start_index); + + if (start_mask) { #if BITS_PER_LONG == 32 - fb_writel(fb_readl(dst) ^ start_mask, dst); + fb_writel(fb_readl(dst) ^ start_mask, dst); #else - fb_writeq(fb_readq(dst) ^ start_mask, dst); + fb_writeq(fb_readq(dst) ^ start_mask, dst); #endif - for( i=0; i < n; i++) { dst++; + } + + for( i=0; i < n; i++) { #if BITS_PER_LONG == 32 fb_writel(fb_readl(dst) ^ fg, dst); #else fb_writeq(fb_readq(dst) ^ fg, dst); #endif + dst++; } if (end_mask) { - dst++; #if BITS_PER_LONG == 32 fb_writel(fb_readl(dst) ^ end_mask, dst); #else |
From: James S. <jsi...@us...> - 2002-05-06 17:30:03
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv26626/linux/drivers/video Modified Files: fbmem.c Log Message: Synced against 2.5.14 Index: fbmem.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbmem.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -d -r1.62 -r1.63 --- fbmem.c 16 Apr 2002 17:41:52 -0000 1.62 +++ fbmem.c 6 May 2002 17:29:59 -0000 1.63 @@ -537,7 +537,7 @@ return -EFAULT; return i; case FBIOBLANK: - if (fb->fb_blank == 0) + if (fb->fb_blank == NULL) return -EINVAL; return (*fb->fb_blank)(arg, info); case FBIOPUT_COPYAREA: |