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-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux/arch/ppc64/kernel
Modified Files:
chrp_setup.c iSeries_setup.c setup.c
Log Message:
Synced to 2.5.22
Index: chrp_setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/chrp_setup.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- chrp_setup.c 3 May 2002 22:16:46 -0000 1.3
+++ chrp_setup.c 18 Jun 2002 18:51:54 -0000 1.4
@@ -42,6 +42,7 @@
#include <linux/irq.h>
#include <linux/seq_file.h>
+#include <linux/root_dev.h>
#include <asm/mmu.h>
#include <asm/processor.h>
@@ -139,10 +140,10 @@
initrd_below_start_ok = 1;
if (initrd_start)
- ROOT_DEV = mk_kdev(RAMDISK_MAJOR, 0);
+ ROOT_DEV = Root_RAM0;
else
#endif
- ROOT_DEV = to_kdev_t(0x0802); /* sda2 (sda1 is for the kernel) */
+ ROOT_DEV = Root_SDA2;
printk("Boot arguments: %s\n", cmd_line);
Index: iSeries_setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/iSeries_setup.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- iSeries_setup.c 3 May 2002 22:16:46 -0000 1.3
+++ iSeries_setup.c 18 Jun 2002 18:51:54 -0000 1.4
@@ -27,6 +27,7 @@
#include <linux/bootmem.h>
#include <linux/blk.h>
#include <linux/seq_file.h>
+#include <linux/root_dev.h>
#include <asm/processor.h>
#include <asm/machdep.h>
@@ -295,7 +296,7 @@
initrd_start = (unsigned long)__va(naca->xRamDisk);
initrd_end = initrd_start + naca->xRamDiskSize * PAGE_SIZE;
initrd_below_start_ok = 1; // ramdisk in kernel space
- ROOT_DEV = mk_kdev( RAMDISK_MAJOR, 0 );
+ ROOT_DEV = Root_RAM0;
if ( ((rd_size*1024)/PAGE_SIZE) < naca->xRamDiskSize )
rd_size = (naca->xRamDiskSize*PAGE_SIZE)/1024;
@@ -304,7 +305,7 @@
#endif /* CONFIG_BLK_DEV_INITRD */
{
- /* ROOT_DEV = mk_kdev( VIODASD_MAJOR, 1 ); */
+ /* ROOT_DEV = MKDEV( VIODASD_MAJOR, 1 ); */
}
iSeries_recal_tb = get_tb();
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/setup.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- setup.c 4 Jun 2002 19:45:08 -0000 1.5
+++ setup.c 18 Jun 2002 18:51:54 -0000 1.6
@@ -22,6 +22,7 @@
#include <linux/seq_file.h>
#include <linux/ioport.h>
#include <linux/tty.h>
+#include <linux/root_dev.h>
#include <asm/init.h>
#include <asm/io.h>
#include <asm/prom.h>
@@ -372,7 +373,7 @@
if ((initrd_start == 0) && r3 && r4 && r4 != 0xdeadbeef) {
initrd_start = (r3 >= KERNELBASE) ? r3 : (unsigned long)__va(r3);
initrd_end = initrd_start + r4;
- ROOT_DEV = mk_kdev(RAMDISK_MAJOR, 0);
+ ROOT_DEV = Root_RAM0;
initrd_below_start_ok = 1;
}
#endif
@@ -463,7 +464,7 @@
case BI_INITRD:
initrd_start = (unsigned long)__va(rec->data[0]);
initrd_end = initrd_start + rec->data[1];
- ROOT_DEV = mk_kdev(RAMDISK_MAJOR, 0);
+ ROOT_DEV = Root_RAM0;
initrd_below_start_ok = 1;
break;
#endif /* CONFIG_BLK_DEV_INITRD */
|
|
From: James S. <jsi...@us...> - 2002-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32
In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux/arch/x86_64/ia32
Modified Files:
ia32_ioctl.c
Log Message:
Synced to 2.5.22
Index: ia32_ioctl.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32/ia32_ioctl.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ia32_ioctl.c 16 May 2002 18:01:38 -0000 1.6
+++ ia32_ioctl.c 18 Jun 2002 18:51:54 -0000 1.7
@@ -113,6 +113,7 @@
return err;
}
+#if 0
static int rw_long(unsigned int fd, unsigned int cmd, unsigned long arg)
{
mm_segment_t old_fs = get_fs();
@@ -128,6 +129,7 @@
return -EFAULT;
return err;
}
+#endif
static int do_ext2_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
{
@@ -2976,11 +2978,6 @@
return err;
}
-static int ioc_settimeout(unsigned int fd, unsigned int cmd, unsigned long arg)
-{
- return rw_long(fd, AUTOFS_IOC_SETTIMEOUT, arg);
-}
-
/* SuSE extension */
#ifndef TIOCGDEV
#define TIOCGDEV _IOR('T',0x32, unsigned int)
@@ -3092,19 +3089,13 @@
return err;
}
-struct ioctl_trans {
- unsigned long cmd;
- int (*handler)(unsigned int, unsigned int, unsigned long, struct file * filp);
- struct ioctl_trans *next;
-};
-
-/* generic function to change a single long put_user to arg to 32bit */
-static int arg2long(unsigned int fd, unsigned int cmd, unsigned long arg)
+static int generic_long_put(unsigned int fd, unsigned int cmd, unsigned long arg)
{
int ret;
unsigned long val = 0;
mm_segment_t oldseg = get_fs();
set_fs(KERNEL_DS);
+ cmd = (cmd & 0xc000ffff) | (sizeof(unsigned long) << _IOC_SIZESHIFT);
ret = sys_ioctl(fd, cmd, (unsigned long)&val);
set_fs(oldseg);
if (!ret || val) {
@@ -3114,6 +3105,29 @@
return ret;
}
+static int generic_long_get(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ int ret;
+ unsigned int ival;
+ unsigned long val = 0;
+ mm_segment_t oldseg = get_fs();
+ if (get_user(ival, (unsigned int *)arg))
+ return -EFAULT;
+ val = ival;
+ set_fs(KERNEL_DS);
+ cmd = (cmd & 0xc000ffff) | (sizeof(unsigned long) << _IOC_SIZESHIFT);
+ ret = sys_ioctl(fd, cmd, (unsigned long)&val);
+ set_fs(oldseg);
+ return ret;
+}
+
+
+struct ioctl_trans {
+ unsigned long cmd;
+ int (*handler)(unsigned int, unsigned int, unsigned long, struct file * filp);
+ struct ioctl_trans *next;
+};
+
#define REF_SYMBOL(handler) if (0) (void)handler;
#define HANDLE_IOCTL2(cmd,handler) REF_SYMBOL(handler); asm volatile(".quad %c0, " #handler ",0"::"i" (cmd));
#define HANDLE_IOCTL(cmd,handler) HANDLE_IOCTL2(cmd,handler)
@@ -3321,10 +3335,6 @@
COMPATIBLE_IOCTL(_IOR('v' , BASE_VIDIOCPRIVATE+6, int))
COMPATIBLE_IOCTL(_IOR('v' , BASE_VIDIOCPRIVATE+7, int))
/* Little p (/dev/rtc, /dev/envctrl, etc.) */
-#if 0
-COMPATIBLE_IOCTL(_IOR('p', 20, int[7])) /* RTCGET */
-COMPATIBLE_IOCTL(_IOW('p', 21, int[7])) /* RTCSET */
-#endif
COMPATIBLE_IOCTL(RTC_AIE_ON)
COMPATIBLE_IOCTL(RTC_AIE_OFF)
COMPATIBLE_IOCTL(RTC_UIE_ON)
@@ -3339,10 +3349,14 @@
COMPATIBLE_IOCTL(RTC_SET_TIME)
COMPATIBLE_IOCTL(RTC_WKALM_SET)
COMPATIBLE_IOCTL(RTC_WKALM_RD)
-HANDLE_IOCTL(RTC_IRQP_READ,arg2long)
-COMPATIBLE_IOCTL(RTC_IRQP_SET)
-COMPATIBLE_IOCTL(RTC_EPOCH_READ)
-COMPATIBLE_IOCTL(RTC_EPOCH_SET)
+#define RTC_IRQP_READ32 _IOR('p', 0x0b, unsigned int) /* Read IRQ rate */
+HANDLE_IOCTL(RTC_IRQP_READ32,generic_long_put)
+#define RTC_IRQP_SET32 _IOW('p', 0x0c, unsigned int) /* Set IRQ rate */
+HANDLE_IOCTL(RTC_IRQP_SET32,generic_long_get)
+#define RTC_EPOCH_READ32 _IOR('p', 0x0d, unsigned long) /* Read epoch */
+#define RTC_EPOCH_SET32 _IOW('p', 0x0e, unsigned long) /* Set epoch */
+HANDLE_IOCTL(RTC_EPOCH_READ32, generic_long_put)
+HANDLE_IOCTL(RTC_EPOCH_SET32, generic_long_get)
/* Little m */
COMPATIBLE_IOCTL(MTIOCTOP)
/* Socket level stuff */
@@ -3610,6 +3624,8 @@
COMPATIBLE_IOCTL(AUTOFS_IOC_CATATONIC)
COMPATIBLE_IOCTL(AUTOFS_IOC_PROTOVER)
COMPATIBLE_IOCTL(AUTOFS_IOC_EXPIRE)
+#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(0x93,0x64,unsigned int)
+HANDLE_IOCTL(AUTOFS_IOC_SETTIMEOUT32, generic_long_get);
/* DEVFS */
COMPATIBLE_IOCTL(DEVFSDIOC_GET_PROTO_REV)
COMPATIBLE_IOCTL(DEVFSDIOC_SET_EVENT_MASK)
@@ -3676,14 +3692,6 @@
COMPATIBLE_IOCTL(DRM_IOCTL_UNLOCK)
COMPATIBLE_IOCTL(DRM_IOCTL_FINISH)
#endif /* DRM */
-#ifdef CONFIG_AUTOFS_FS
-COMPATIBLE_IOCTL(AUTOFS_IOC_READY);
-COMPATIBLE_IOCTL(AUTOFS_IOC_FAIL);
-COMPATIBLE_IOCTL(AUTOFS_IOC_CATATONIC);
-COMPATIBLE_IOCTL(AUTOFS_IOC_PROTOVER);
-COMPATIBLE_IOCTL(AUTOFS_IOC_SETTIMEOUT);
-COMPATIBLE_IOCTL(AUTOFS_IOC_EXPIRE);
-#endif
COMPATIBLE_IOCTL(REISERFS_IOC_UNPACK);
/* serial driver */
HANDLE_IOCTL(TIOCGSERIAL, serial_struct_ioctl);
@@ -3776,8 +3784,6 @@
HANDLE_IOCTL(CDROM_SEND_PACKET, cdrom_ioctl_trans)
HANDLE_IOCTL(LOOP_SET_STATUS, loop_status)
HANDLE_IOCTL(LOOP_GET_STATUS, loop_status)
-#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(0x93,0x64,unsigned int)
-HANDLE_IOCTL(AUTOFS_IOC_SETTIMEOUT32, ioc_settimeout)
HANDLE_IOCTL(PIO_FONTX, do_fontx_ioctl)
HANDLE_IOCTL(GIO_FONTX, do_fontx_ioctl)
HANDLE_IOCTL(PIO_UNIMAP, do_unimap_ioctl)
|
|
From: James S. <jsi...@us...> - 2002-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux/arch/arm/kernel
Modified Files:
setup.c
Log Message:
Synced to 2.5.22
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/setup.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- setup.c 4 Jun 2002 19:45:04 -0000 1.13
+++ setup.c 18 Jun 2002 18:51:54 -0000 1.14
@@ -18,6 +18,7 @@
#include <linux/seq_file.h>
#include <linux/tty.h>
#include <linux/init.h>
+#include <linux/root_dev.h>
#include <asm/elf.h>
#include <asm/hardware.h>
@@ -436,7 +437,7 @@
if (tag->hdr.size > 2) {
if ((tag->u.core.flags & 1) == 0)
root_mountflags &= ~MS_RDONLY;
- ROOT_DEV = to_kdev_t(tag->u.core.rootdev);
+ ROOT_DEV = tag->u.core.rootdev;
}
return 0;
}
|
|
From: James S. <jsi...@us...> - 2002-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux
In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux
Modified Files:
Makefile
Log Message:
Synced to 2.5.22
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- Makefile 15 Jun 2002 19:17:07 -0000 1.63
+++ Makefile 18 Jun 2002 18:51:54 -0000 1.64
@@ -1,6 +1,6 @@
VERSION = 2
PATCHLEVEL = 5
-SUBLEVEL = 21
+SUBLEVEL = 22
EXTRAVERSION = -ruby
# We are using a recursive build, so we need to do a little thinking
@@ -122,7 +122,9 @@
noconfig_targets := xconfig menuconfig config oldconfig randconfig \
defconfig allyesconfig allnoconfig allmodconfig \
- clean mrproper distclean
+ clean mrproper distclean \
+ tags TAGS sgmldocs psdocs pdfdocs htmldocs \
+ checkconfig checkhelp checkincludes
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
@@ -222,10 +224,10 @@
define rule_link_vmlinux
set -e
- echo Generating build number
+ echo ' Generating build number'
. scripts/mkversion > .tmpversion
mv -f .tmpversion .version
- $(MAKE) -C init
+ +$(MAKE) -C init
$(call cmd,cmd_link_vmlinux)
$(cmd_link_vmlinux)
echo 'cmd_$@ := $(cmd_link_vmlinux)' > $(@D)/.$(@F).cmd
@@ -243,14 +245,14 @@
# Handle descending into subdirectories listed in $(SUBDIRS)
.PHONY: $(SUBDIRS)
-$(SUBDIRS): .hdepend prepare include/config/MARKER
+$(SUBDIRS): .hdepend prepare
@$(MAKE) -C $@
# Things we need done before we descend to build or make
# module versions are listed in "prepare"
.PHONY: prepare
-prepare: include/linux/version.h include/asm
+prepare: include/linux/version.h include/asm include/config/MARKER
# Single targets
# ---------------------------------------------------------------------------
@@ -273,13 +275,13 @@
# before switching between archs anyway.
include/asm:
- @echo 'Making asm->asm-$(ARCH) symlink'
+ @echo ' Making asm->asm-$(ARCH) symlink'
@ln -s asm-$(ARCH) $@
# Split autoconf.h into include/linux/config/*
include/config/MARKER: scripts/split-include include/linux/autoconf.h
- @echo 'Splitting include/linux/autoconf.h -> include/config'
+ @echo ' SPLIT include/linux/autoconf.h -> include/config/*'
@scripts/split-include include/linux/autoconf.h include/config
@touch $@
@@ -306,7 +308,7 @@
echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
exit 1; \
fi;
- @echo -n 'Generating $@'
+ @echo -n ' Generating $@'
@(echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \
echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \
@@ -349,11 +351,11 @@
include/linux/modversions.h: scripts/fixdep prepare FORCE
@rm -rf .tmp_export-objs
@$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS))
- @echo -n 'Generating $@'
+ @echo -n ' Generating $@'
@( echo "#ifndef _LINUX_MODVERSIONS_H";\
echo "#define _LINUX_MODVERSIONS_H"; \
echo "#include <linux/modsetver.h>"; \
- for f in `cd .tmp_export-objs; find modules -name \*.ver -print`; do \
+ for f in `cd .tmp_export-objs; find modules -name \*.ver -print | sort`; do \
echo "#include <linux/$${f}>"; \
done; \
echo "#endif"; \
@@ -431,44 +433,9 @@
endif # CONFIG_MODULES
-# Scripts to check various things for consistency
-# ---------------------------------------------------------------------------
-
-checkconfig:
- find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl
-
-checkhelp:
- find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl
-
-checkincludes:
- find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl
-
-# Generate tags for editors
-# ---------------------------------------------------------------------------
-
-TAGS: FORCE
- { find include/asm-${ARCH} -name '*.h' -print ; \
- find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \
- find $(SUBDIRS) init arch/${ARCH} -name '*.[chS]' ; } | grep -v SCCS | etags -
-
-# Exuberant ctags works better with -I
-tags: FORCE
- CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \
- ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \
- find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \
- find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a
-
-# Assorted miscellaneous targets
+# RPM target
# ---------------------------------------------------------------------------
-# Documentation targets
-
-sgmldocs psdocs pdfdocs htmldocs:
- @$(MAKE) -C Documentation/DocBook $@
-
-
-# RPM target
-#
# If you do a make spec before packing the tarball you can rpm -ta it
spec:
@@ -574,9 +541,8 @@
# files removed with 'make clean'
CLEAN_FILES += \
- kernel/ksyms.lst include/linux/compile.h \
+ include/linux/compile.h \
vmlinux System.map \
- .tmp* \
drivers/char/consolemap_deftbl.c drivers/video/promcon_tbl.c \
drivers/char/conmakehash \
drivers/char/drm/*-mod.c \
@@ -616,9 +582,11 @@
.hdepend scripts/split-include scripts/docproc \
scripts/fixdep $(TOPDIR)/include/linux/modversions.h \
tags TAGS kernel.spec \
+ .tmpversion
# directories removed with 'make mrproper'
MRPROPER_DIRS += \
+ .tmp_export-objs \
include/config \
$(TOPDIR)/include/linux/modules
@@ -631,7 +599,7 @@
@find . \( -name \*.[oas] -o -name core -o -name .\*.cmd -o \
-name .\*.tmp -o -name .\*.d \) -type f -print \
| grep -v lxdialog/ | xargs rm -f
- @rm -rf $(CLEAN_FILES)
+ @rm -f $(CLEAN_FILES)
@$(MAKE) -C Documentation/DocBook clean
mrproper: clean archmrproper
@@ -649,7 +617,41 @@
-o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f \
-print | xargs rm -f
+# Generate tags for editors
+# ---------------------------------------------------------------------------
+
+TAGS: FORCE
+ { find include/asm-${ARCH} -name '*.h' -print ; \
+ find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \
+ find $(SUBDIRS) init arch/${ARCH} -name '*.[chS]' ; } | grep -v SCCS | etags -
+
+# Exuberant ctags works better with -I
+tags: FORCE
+ CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \
+ ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \
+ find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \
+ find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a
+
+# Documentation targets
+# ---------------------------------------------------------------------------
+
+sgmldocs psdocs pdfdocs htmldocs:
+ @$(MAKE) -C Documentation/DocBook $@
+
+
endif # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
+
+# Scripts to check various things for consistency
+# ---------------------------------------------------------------------------
+
+checkconfig:
+ find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl
+
+checkhelp:
+ find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl
+
+checkincludes:
+ find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl
# FIXME Should go into a make.lib or something
# ===========================================================================
|
|
From: James S. <jsi...@us...> - 2002-06-18 18:51:57
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/alpha/kernel In directory usw-pr-cvs1:/tmp/cvs-serv13236/linux/arch/alpha/kernel Modified Files: setup.c Log Message: Synced to 2.5.22 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/alpha/kernel/setup.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- setup.c 16 Apr 2002 17:41:46 -0000 1.9 +++ setup.c 18 Jun 2002 18:51:54 -0000 1.10 @@ -31,6 +31,7 @@ #include <linux/bootmem.h> #include <linux/pci.h> #include <linux/seq_file.h> +#include <linux/root_dev.h> #ifdef CONFIG_BLK_DEV_INITRD #include <linux/blk.h> @@ -593,7 +594,7 @@ reserve_std_resources(); /* Default root filesystem to sda2. */ - ROOT_DEV = to_kdev_t(0x0802); + ROOT_DEV = Root_SDA2; /* * Check ASN in HWRPB for validity, report if bad. |
|
From: James S. <jsi...@us...> - 2002-06-18 18:51:56
|
Update of /cvsroot/linuxconsole/ruby In directory usw-pr-cvs1:/tmp/cvs-serv13236 Added Files: AGAINST-2.5.22 Removed Files: AGAINST-2.5.21 Log Message: Synced to 2.5.22 --- NEW FILE: AGAINST-2.5.22 --- --- AGAINST-2.5.21 DELETED --- |
|
From: James S. <jsi...@us...> - 2002-06-15 19:17:44
|
Update of /cvsroot/linuxconsole/ruby/linux
In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux
Modified Files:
Makefile
Log Message:
Synced to 2.5.21
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- Makefile 4 Jun 2002 19:45:03 -0000 1.62
+++ Makefile 15 Jun 2002 19:17:07 -0000 1.63
@@ -1,8 +1,8 @@
VERSION = 2
PATCHLEVEL = 5
-SUBLEVEL = 20
+SUBLEVEL = 21
EXTRAVERSION = -ruby
-
+
# We are using a recursive build, so we need to do a little thinking
# to get the ordering right.
#
@@ -37,6 +37,56 @@
CROSS_COMPILE =
+# That's our default target when none is given on the command line
+
+all: vmlinux
+
+# Print entire command lines instead of short version
+# For now, leave the default
+
+ifndef KBUILD_VERBOSE
+ KBUILD_VERBOSE = 1
+endif
+
+# Decide whether to build built-in, modular, or both
+
+KBUILD_MODULES := 1
+KBUILD_BUILTIN := 1
+
+export KBUILD_MODULES KBUILD_BUILTIN
+
+# Beautify output
+# ---------------------------------------------------------------------------
+#
+# Normally, we echo the whole command before executing it. By making
+# that echo $($(quiet)$(cmd)), we now have the possibility to set
+# $(quiet) to choose other forms of output instead, e.g.
+#
+# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
+# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
+#
+# If $(quiet) is empty, the whole command will be printed.
+# If it is set to "quiet_", only the short version will be printed.
+# If it is set to "silent_", nothing wil be printed at all, since
+# the variable $(silent_cmd_cc_o_c) doesn't exist.
+
+# If the user wants quiet mode, echo short versions of the commands
+# only and suppress the 'Entering/Leaving directory' messages
+
+ifneq ($(KBUILD_VERBOSE),1)
+ quiet=quiet_
+ MAKEFLAGS += --no-print-directory
+endif
+
+# If the user is running make -s (silent mode), suppress echoing of
+# commands
+
+ifneq ($(findstring s,$(MAKEFLAGS)),)
+ quiet=silent_
+endif
+
+export quiet
+
#
# Include the make variables (CC, etc...)
#
@@ -56,33 +106,46 @@
PERL = perl
MODFLAGS = -DMODULE
CFLAGS_MODULE = $(MODFLAGS)
-AFLAGS_MODULE =
+AFLAGS_MODULE = $(MODFLAGS)
CFLAGS_KERNEL =
AFLAGS_KERNEL =
EXPORT_FLAGS =
+NOSTDINC_FLAGS = -nostdinc -iwithprefix include
export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
CONFIG_SHELL TOPDIR HPATH HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS PERL
-export CPPFLAGS EXPORT_FLAGS
+export CPPFLAGS EXPORT_FLAGS NOSTDINC_FLAGS
export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
-all: do-it-all
+noconfig_targets := xconfig menuconfig config oldconfig randconfig \
+ defconfig allyesconfig allnoconfig allmodconfig \
+ clean mrproper distclean
+ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
+
+# Here goes the main Makefile
+# ===========================================================================
#
-# Make "config" the default target if there is no configuration file or
-# "depend" the target if there is no top-level dependency information.
-#
+# If the user gave a *config target, it'll be handled in another
+# section below, since in this case we cannot include .config
+# Same goes for other targets like clean/mrproper etc, which
+# don't need .config, either
-ifeq (.config,$(wildcard .config))
-include .config
-do-it-all: vmlinux
-else
-CONFIGURATION = config
-do-it-all: config
-endif
+# In this section, we need .config
+
+-include .config
+
+# If .config doesn't exist - tough luck
+
+.config:
+ @echo '***'
+ @echo '*** You have not yet configured your kernel!'
+ @echo '*** Please run "make xconfig/menuconfig/config/oldconfig"'
+ @echo '***'
+ @exit 1
#
# INSTALL_PATH specifies where to place the updated kernel and system map
@@ -114,18 +177,14 @@
EXPORT_FLAGS := -DEXPORT_SYMTAB
endif
-INIT =init/init.o
-CORE_FILES =kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o
-NETWORKS =net/network.o
-
-LIBS =$(TOPDIR)/lib/lib.a
-SUBDIRS =init kernel lib drivers mm fs net ipc sound
-
-DRIVERS-y = drivers/built-in.o
-DRIVERS-$(CONFIG_SOUND) += sound/sound.o
-
-DRIVERS := $(DRIVERS-y)
-
+# Link components for vmlinux
+# ---------------------------------------------------------------------------
+SUBDIRS := init kernel mm fs ipc lib drivers sound net
+INIT := init/init.o
+CORE_FILES := kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o
+LIBS := lib/lib.a
+DRIVERS := drivers/built-in.o sound/sound.o
+NETWORKS := net/network.o
include arch/$(ARCH)/Makefile
@@ -149,6 +208,7 @@
vmlinux-objs := $(HEAD) $(INIT) $(CORE_FILES) $(LIBS) $(DRIVERS) $(NETWORKS)
+quiet_cmd_link_vmlinux = LD $@
cmd_link_vmlinux = $(LD) $(LINKFLAGS) $(HEAD) $(INIT) \
--start-group \
$(CORE_FILES) \
@@ -166,13 +226,13 @@
. scripts/mkversion > .tmpversion
mv -f .tmpversion .version
$(MAKE) -C init
- echo $(cmd_link_vmlinux)
+ $(call cmd,cmd_link_vmlinux)
$(cmd_link_vmlinux)
echo 'cmd_$@ := $(cmd_link_vmlinux)' > $(@D)/.$(@F).cmd
$(NM) vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
endef
-vmlinux: $(CONFIGURATION) $(vmlinux-objs) FORCE
+vmlinux: $(vmlinux-objs) FORCE
$(call if_changed_rule,link_vmlinux)
# The actual objects are generated when descending,
@@ -183,15 +243,14 @@
# Handle descending into subdirectories listed in $(SUBDIRS)
.PHONY: $(SUBDIRS)
-$(SUBDIRS): prepare
+$(SUBDIRS): .hdepend prepare include/config/MARKER
@$(MAKE) -C $@
-# Things we need done before we even start the actual build.
-# The dependency on .hdepend will in turn take care of
-# include/asm, include/linux/version etc.
+# Things we need done before we descend to build or make
+# module versions are listed in "prepare"
.PHONY: prepare
-prepare: .hdepend include/config/MARKER
+prepare: include/linux/version.h include/asm
# Single targets
# ---------------------------------------------------------------------------
@@ -202,6 +261,8 @@
@$(MAKE) -C $(@D) $(@F)
%.o: %.c FORCE
@$(MAKE) -C $(@D) $(@F)
+%.lst: %.c FORCE
+ @$(MAKE) -C $(@D) $(@F)
%.s: %.S FORCE
@$(MAKE) -C $(@D) $(@F)
%.o: %.S FORCE
@@ -214,14 +275,23 @@
include/asm:
@echo 'Making asm->asm-$(ARCH) symlink'
@ln -s asm-$(ARCH) $@
- @echo 'Making directory include/linux/modules'
- @mkdir include/linux/modules
# Split autoconf.h into include/linux/config/*
include/config/MARKER: scripts/split-include include/linux/autoconf.h
- scripts/split-include include/linux/autoconf.h include/config
- @ touch include/config/MARKER
+ @echo 'Splitting include/linux/autoconf.h -> include/config'
+ @scripts/split-include include/linux/autoconf.h include/config
+ @touch $@
+
+# if .config is newer than include/linux/autoconf.h, someone tinkered
+# with it and forgot to run make oldconfig
+
+include/linux/autoconf.h: .config
+ @echo '***'
+ @echo '*** You changed .config w/o running make *config?'
+ @echo '*** Please run "make oldconfig"'
+ @echo '***'
+ @exit 1
# Generate some files
# ---------------------------------------------------------------------------
@@ -229,64 +299,77 @@
# version.h changes when $(KERNELRELEASE) etc change, as defined in
# this Makefile
+uts_len := 64
+
include/linux/version.h: Makefile
- @echo Generating $@
- @. scripts/mkversion_h $@ $(KERNELRELEASE) $(VERSION) $(PATCHLEVEL) $(SUBLEVEL)
+ @if expr length "$(KERNELRELEASE)" \> $(uts_len) >/dev/null ; then \
+ echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
+ exit 1; \
+ fi;
+ @echo -n 'Generating $@'
+ @(echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \
+ echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \
+ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \
+ ) > $@.tmp
+ @$(update-if-changed)
# Helpers built in scripts/
# ---------------------------------------------------------------------------
-scripts/mkdep scripts/split-include : FORCE
+scripts/fixdep scripts/split-include : scripts ;
+
+.PHONY: scripts
+scripts:
@$(MAKE) -C scripts
-# Generate dependencies
+# Generate module versions
# ---------------------------------------------------------------------------
-# In the same pass, generate module versions, that's why it's
-# all mixed up here.
+# The targets are still named depend / dep for traditional
+# reasons, but the only thing we do here is generating
+# the module version checksums.
+# FIXME: For now, we are also calling "archdep" from here,
+# which should be replaced by a more sensible solution.
.PHONY: depend dep $(patsubst %,_sfdep_%,$(SUBDIRS))
depend dep: .hdepend
-# .hdepend is missing prerequisites - in fact dependencies need
-# to be redone basically each time anything changed - since
-# that's too expensive, we traditionally rely on the user to
-# run "make dep" manually whenever necessary. In this case,
-# we make "FORCE" a prequisite, to force redoing the
-# dependencies. Yeah, that's ugly, and it'll go away soon.
+# .hdepend is our (misnomed) marker for whether we've run
+# generated module versions and made archdep
+
+.hdepend: $(if $(filter dep depend,$(MAKECMDGOALS)),FORCE)
+ @$(MAKE) archdep include/linux/modversions.h
+ @touch $@
-.hdepend: scripts/mkdep include/linux/version.h include/asm \
- $(if $(filter dep depend,$(MAKECMDGOALS)),FORCE)
- scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > $@
- @$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS))
ifdef CONFIG_MODVERSIONS
- @$(MAKE) include/linux/modversions.h
-endif
- @$(MAKE) archdep
+
+# Update modversions.h, but only if it would change.
+
+include/linux/modversions.h: scripts/fixdep prepare FORCE
+ @rm -rf .tmp_export-objs
+ @$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS))
+ @echo -n 'Generating $@'
+ @( echo "#ifndef _LINUX_MODVERSIONS_H";\
+ echo "#define _LINUX_MODVERSIONS_H"; \
+ echo "#include <linux/modsetver.h>"; \
+ for f in `cd .tmp_export-objs; find modules -name \*.ver -print`; do \
+ echo "#include <linux/$${f}>"; \
+ done; \
+ echo "#endif"; \
+ ) > $@.tmp; \
+ $(update-if-changed)
$(patsubst %,_sfdep_%,$(SUBDIRS)): FORCE
@$(MAKE) -C $(patsubst _sfdep_%, %, $@) fastdep
-# Update modversions.h, but only if it would change.
+else # !CONFIG_MODVERSIONS
-include/linux/modversions.h: FORCE
- @(echo "#ifndef _LINUX_MODVERSIONS_H";\
- echo "#define _LINUX_MODVERSIONS_H"; \
- echo "#include <linux/modsetver.h>"; \
- cd $(TOPDIR)/include/linux/modules; \
- for f in *.ver; do \
- if [ -f $$f ]; then echo "#include <linux/modules/$${f}>"; fi; \
- done; \
- echo "#endif"; \
- ) > $@.tmp
- @if [ -r $@ ] && cmp -s $@ $@.tmp; then \
- echo $@ was not updated; \
- rm -f $@.tmp; \
- else \
- echo $@ was updated; \
- mv -f $@.tmp $@; \
- fi
+.PHONY: include/linux/modversions.h
+
+include/linux/modversions.h:
+
+endif # CONFIG_MODVERSIONS
# ---------------------------------------------------------------------------
# Modules
@@ -300,11 +383,8 @@
endif
.PHONY: modules
-modules: $(patsubst %, _mod_%, $(SUBDIRS))
-
-.PHONY: $(patsubst %, _mod_%, $(SUBDIRS))
-$(patsubst %, _mod_%, $(SUBDIRS)) : include/linux/version.h include/config/MARKER
- @$(MAKE) -C $(patsubst _mod_%, %, $@) modules
+modules:
+ @$(MAKE) KBUILD_BUILTIN= $(SUBDIRS)
# Install modules
@@ -369,7 +449,7 @@
TAGS: FORCE
{ find include/asm-${ARCH} -name '*.h' -print ; \
find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \
- find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags -
+ find $(SUBDIRS) init arch/${ARCH} -name '*.[chS]' ; } | grep -v SCCS | etags -
# Exuberant ctags works better with -I
tags: FORCE
@@ -412,28 +492,82 @@
rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
rm $(TOPDIR)/../$(KERNELPATH).tar.gz
+else # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
+
# Targets which don't need .config
# ===========================================================================
+#
+# These targets basically have their own Makefile - not quite, but at
+# least its own exclusive section in the same Makefile. The reason for
+# this is the following:
+# To know the configuration, the main Makefile has to include
+# .config. That's a obviously a problem when .config doesn't exist
+# yet, but that could be kludged around with only including it if it
+# exists.
+# However, the larger problem is: If you run make *config, make will
+# include the old .config, then execute your *config. It will then
+# notice that a piece it included (.config) did change and restart from
+# scratch. Which will cause execution of *config again. You get the
+# picture.
+# If we don't explicitly let the Makefile know that .config is changed
+# by *config (the old way), it won't reread .config after *config,
+# thus working with possibly stale values - we don't that either.
+#
+# So we divide things: This part here is for making *config targets,
+# and other targets which should work when no .config exists yet.
+# The main part above takes care of the rest after a .config exists.
# Kernel configuration
# ---------------------------------------------------------------------------
-.PHONY: oldconfig xconfig menuconfig config
-
-oldconfig:
- $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in
+.PHONY: oldconfig xconfig menuconfig config \
+ make_with_config
xconfig:
@$(MAKE) -C scripts kconfig.tk
wish -f scripts/kconfig.tk
menuconfig:
- @$(MAKE) -C scripts/lxdialog all
+ @$(MAKE) -C scripts lxdialog
$(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.in
config:
$(CONFIG_SHELL) scripts/Configure arch/$(ARCH)/config.in
+oldconfig:
+ $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in
+
+randconfig:
+ $(CONFIG_SHELL) scripts/Configure -r arch/$(ARCH)/config.in
+
+allyesconfig:
+ $(CONFIG_SHELL) scripts/Configure -y arch/$(ARCH)/config.in
+
+allnoconfig:
+ $(CONFIG_SHELL) scripts/Configure -n arch/$(ARCH)/config.in
+
+allmodconfig:
+ $(CONFIG_SHELL) scripts/Configure -m arch/$(ARCH)/config.in
+
+defconfig:
+ yes '' | $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in
+
+# How we generate .config depends on which *config the
+# user chose when calling make
+
+.config: $(filter oldconfig xconfig menuconfig config,$(MAKECMDGOALS)) ;
+
+# If the user gave commands from both the need / need not
+# .config sections, we need to call make again after
+# .config is generated, now to take care of the remaining
+# targets we know nothing about in this section
+
+remaining_targets := $(filter-out $(noconfig_targets),$(MAKECMDGOALS))
+
+$(remaining_targets) : make_with_config
+
+make_with_config: .config
+ @$(MAKE) $(remaining_targets)
# Cleaning up
# ---------------------------------------------------------------------------
@@ -461,10 +595,6 @@
net/khttpd/times.h \
submenu*
-# directories removed with 'make clean'
-CLEAN_DIRS += \
- modules
-
# files removed with 'make mrproper'
MRPROPER_FILES += \
include/linux/autoconf.h include/linux/version.h \
@@ -483,34 +613,43 @@
scripts/lxdialog/*.o scripts/lxdialog/lxdialog \
.menuconfig.log \
include/asm \
- .hdepend scripts/mkdep scripts/split-include scripts/docproc \
- $(TOPDIR)/include/linux/modversions.h \
- kernel.spec
+ .hdepend scripts/split-include scripts/docproc \
+ scripts/fixdep $(TOPDIR)/include/linux/modversions.h \
+ tags TAGS kernel.spec \
# directories removed with 'make mrproper'
MRPROPER_DIRS += \
include/config \
$(TOPDIR)/include/linux/modules
+# That's our way to know about arch specific cleanup.
+
+include arch/$(ARCH)/Makefile
clean: archclean
- find . \( -name '*.[oas]' -o -name core -o -name '.*.cmd' \) -type f -print \
+ @echo 'Cleaning up'
+ @find . \( -name \*.[oas] -o -name core -o -name .\*.cmd -o \
+ -name .\*.tmp -o -name .\*.d \) -type f -print \
| grep -v lxdialog/ | xargs rm -f
- rm -f $(CLEAN_FILES)
- rm -rf $(CLEAN_DIRS)
+ @rm -rf $(CLEAN_FILES)
@$(MAKE) -C Documentation/DocBook clean
mrproper: clean archmrproper
- find . \( -size 0 -o -name .depend \) -type f -print | xargs rm -f
- rm -f $(MRPROPER_FILES)
- rm -rf $(MRPROPER_DIRS)
+ @echo 'Making mrproper'
+ @find . \( -size 0 -o -name .depend \) -type f -print | xargs rm -f
+ @rm -f $(MRPROPER_FILES)
+ @rm -rf $(MRPROPER_DIRS)
@$(MAKE) -C Documentation/DocBook mrproper
distclean: mrproper
- rm -f core `find . \( -not -type d \) -and \
- \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
+ @echo 'Making distclean'
+ @find . \( -not -type d \) -and \
+ \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
- -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f -print` TAGS tags
+ -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f \
+ -print | xargs rm -f
+
+endif # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
# FIXME Should go into a make.lib or something
# ===========================================================================
@@ -530,5 +669,20 @@
$(filter-out $(cmd_$(1)),$(cmd_$(@F)))\
$(filter-out $(cmd_$(@F)),$(cmd_$(1)))),\
@$(rule_$(1)))
+
+# If quiet is set, only print short version of rule
+
+cmd = @$(if $($(quiet)$(1)),echo ' $($(quiet)$(1))' &&) $($(1))
+
+define update-if-changed
+ if [ -r $@ ] && cmp -s $@ $@.tmp; then \
+ echo ' (unchanged)'; \
+ rm -f $@.tmp; \
+ else \
+ echo ' (updated)'; \
+ mv -f $@.tmp $@; \
+ fi
+endef
+
FORCE:
|
|
From: James S. <jsi...@us...> - 2002-06-15 19:17:44
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/Documentation/DocBook Modified Files: Makefile Log Message: Synced to 2.5.21 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/Makefile,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- Makefile 4 Jun 2002 19:45:03 -0000 1.14 +++ Makefile 15 Jun 2002 19:17:07 -0000 1.15 @@ -161,18 +161,20 @@ OUT := $(patsubst %.sgml, %.out, $(BOOKS)) clean: - rm -f core *~ - rm -f $(BOOKS) - rm -f $(DVI) $(AUX) $(TEX) $(LOG) $(OUT) - rm -f $(PNG-parportbook) $(EPS-parportbook) - rm -f $(C-procfs-example) + @echo 'Cleaning up (DocBook)' + @rm -f core *~ + @rm -f $(BOOKS) + @rm -f $(DVI) $(AUX) $(TEX) $(LOG) $(OUT) + @rm -f $(PNG-parportbook) $(EPS-parportbook) + @rm -f $(C-procfs-example) -mrproper: clean - rm -f $(PS) $(PDF) - rm -f -r $(HTML) - rm -f .depend - rm -f $(TOPDIR)/scripts/mkdep-docbook - rm -rf DBTOHTML_OUTPUT* +mrproper: + @echo 'Making mrproper (DocBook)' + @rm -f $(PS) $(PDF) + @rm -f -r $(HTML) + @rm -f .depend + @rm -f $(TOPDIR)/scripts/mkdep-docbook + @rm -rf DBTOHTML_OUTPUT* %.ps : %.sgml @(which db2ps > /dev/null 2>&1) || \ |
|
From: James S. <jsi...@us...> - 2002-06-15 19:17:44
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386
In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/arch/i386
Modified Files:
config.in
Log Message:
Synced to 2.5.21
Index: config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/config.in,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- config.in 25 May 2002 20:31:58 -0000 1.42
+++ config.in 15 Jun 2002 19:17:08 -0000 1.43
@@ -209,9 +209,26 @@
endmenu
mainmenu_option next_comment
-comment 'General options'
+comment 'Power management options (ACPI, APM)'
source drivers/acpi/Config.in
+bool 'Power Management support' CONFIG_PM
+
+dep_tristate ' Advanced Power Management BIOS support' CONFIG_APM $CONFIG_PM
+if [ "$CONFIG_PM" != "n" -a "$CONFIG_APM" != "n" ]; then
+ bool ' Ignore USER SUSPEND' CONFIG_APM_IGNORE_USER_SUSPEND
+ bool ' Enable PM at boot time' CONFIG_APM_DO_ENABLE
+ bool ' Make CPU Idle calls when idle' CONFIG_APM_CPU_IDLE
+ bool ' Enable console blanking using APM' CONFIG_APM_DISPLAY_BLANK
+ bool ' RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
+ bool ' Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS
+ bool ' Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF
+fi
+
+endmenu
+
+mainmenu_option next_comment
+comment 'Bus options (PCI, PCMCIA, EISA, MCA, ISA)'
# Visual Workstation support is utterly broken.
# If you want to see it working mail an VW540 to hc...@in... 8)
@@ -260,6 +277,11 @@
define_bool CONFIG_HOTPLUG_PCI n
fi
+endmenu
+
+mainmenu_option next_comment
+comment 'Executable file formats'
+
if [ "$CONFIG_PROC_FS" = "y" ]; then
choice 'Kernel core (/proc/kcore) format' \
"ELF CONFIG_KCORE_ELF \
@@ -268,19 +290,6 @@
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
-
-bool 'Power Management support' CONFIG_PM
-
-dep_tristate ' Advanced Power Management BIOS support' CONFIG_APM $CONFIG_PM
-if [ "$CONFIG_PM" != "n" -a "$CONFIG_APM" != "n" ]; then
- bool ' Ignore USER SUSPEND' CONFIG_APM_IGNORE_USER_SUSPEND
- bool ' Enable PM at boot time' CONFIG_APM_DO_ENABLE
- bool ' Make CPU Idle calls when idle' CONFIG_APM_CPU_IDLE
- bool ' Enable console blanking using APM' CONFIG_APM_DISPLAY_BLANK
- bool ' RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
- bool ' Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS
- bool ' Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF
-fi
endmenu
|
|
From: James S. <jsi...@us...> - 2002-06-15 19:17:44
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/arch/i386/kernel
Modified Files:
setup.c
Log Message:
Synced to 2.5.21
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/setup.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- setup.c 4 Jun 2002 19:45:05 -0000 1.45
+++ setup.c 15 Jun 2002 19:17:08 -0000 1.46
@@ -3,73 +3,16 @@
*
* Copyright (C) 1995 Linus Torvalds
*
- * Enhanced CPU type detection by Mike Jagdis, Patrick St. Jean
- * and Martin Mares, November 1997.
- *
- * Force Cyrix 6x86(MX) and M II processors to report MTRR capability
- * and Cyrix "coma bug" recognition by
- * Zoltán Böszörményi <zb...@ma...> February 1999.
- *
- * Force Centaur C6 processors to report MTRR capability.
[...2188 lines suppressed...]
- if(((ident>>8)&15)!=6)
- return 0;
-
- /* Pentium Pro */
-
- if(((ident>>4)&15)!=1)
- return 0;
-
- if((ident&15) < 8)
- {
- printk(KERN_INFO "Pentium Pro with Errata#50 detected. Taking evasive action.\n");
- return 1;
- }
- printk(KERN_INFO "Your Pentium Pro seems ok.\n");
- return 0;
-}
-
/*
* Local Variables:
* mode:c
|
|
From: James S. <jsi...@us...> - 2002-06-15 19:17:14
|
Update of /cvsroot/linuxconsole/ruby/linux/include/video In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/include/video Removed Files: neofb.h tdfx.h Log Message: Synced to 2.5.21 --- neofb.h DELETED --- --- tdfx.h DELETED --- |
|
From: James S. <jsi...@us...> - 2002-06-15 19:17:14
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/drivers/video
Modified Files:
Makefile cfbcopyarea.c cfbimgblt.c fbcmap.c fbmem.c neofb.c
tx3912fb.c
Added Files:
cyber2000fb.c dnfb.c pmag-ba-fb.c pmagb-b-fb.c
Log Message:
Synced to 2.5.21
--- NEW FILE: pmag-ba-fb.c ---
/*
* linux/drivers/video/pmag-ba-fb.c
*
* PMAG-BA TurboChannel framebuffer card support ... derived from:
* "HP300 Topcat framebuffer support (derived from macfb of all things)
* Phil Blundell <ph...@gn...> 1998", the original code can be
* found in the file hpfb.c in the same directory.
*
* Based on digital document:
* "PMAG-BA TURBOchannel Color Frame Buffer
* Functional Specification", Revision 1.2, August 27, 1990
*
* DECstation related code Copyright (C) 1999, 2000, 2001 by
* Michael Engel <en...@un...>,
* Karsten Merker <me...@li...> and
* Harald Koerfgen.
* This file is subject to the terms and conditions of the GNU General
* Public License. See the file COPYING in the main directory of this
* archive for more details.
*
*/
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/mm.h>
#include <linux/tty.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/fb.h>
#include <asm/bootinfo.h>
#include <asm/dec/machtype.h>
#include <asm/dec/tc.h>
#include "pmag-ba-fb.h"
struct pmag_ba_ramdac_regs {
unsigned char addr_low;
unsigned char pad0[3];
unsigned char addr_hi;
unsigned char pad1[3];
unsigned char data;
unsigned char pad2[3];
unsigned char cmap;
};
/*
* Max 3 TURBOchannel slots -> max 3 PMAG-BA :)
*/
static struct fb_info pmagba_fb_info[3];
static struct fb_var_screeninfo pmagbafb_defined = {
xres: 1024,
yres: 864,
xres_virtual: 1024,
yres_virtual: 864,
bits_per_pixel: 8,
activate: FB_ACTIVATE_NOW,
height: 274,
width: 195,
accel: FB_ACCEL_NONE,
vmode: FB_VMODE_NONINTERLACED,
}
static struct fb_fix_screeninfo pmagbafb_fix = {
id: "PMAG-BA",
smem_len: (1024 * 864),
type: FB_TYPE_PACKED_PIXELS,
visual: FB_VISUAL_PSEUDOCOLOR,
line_length: 1024,
}
/*
* Turn hardware cursor off
*/
void pmagbafb_erase_cursor(struct pmag_ba_ramdac_regs *bt459_regs)
{
bt459_regs->addr_low = 0;
bt459_regs->addr_hi = 3;
bt459_regs->data = 0;
}
/*
* Set the palette.
*/
static int pmagbafb_setcolreg(unsigned regno, unsigned red, unsigned green,
unsigned blue, unsigned transp,
struct fb_info *info)
{
struct pmag_ba_ramdac_regs *bt459_regs = (struct pmag_ba_ramdac_regs *) info->par;
if (regno >= info->cmap.len)
return 1;
red >>= 8; /* The cmap fields are 16 bits */
green >>= 8; /* wide, but the harware colormap */
blue >>= 8; /* registers are only 8 bits wide */
bt459_regs->addr_low = (__u8) regno;
bt459_regs->addr_hi = 0;
bt459_regs->cmap = red;
bt459_regs->cmap = green;
bt459_regs->cmap = blue;
return 0;
}
static struct fb_ops pmagbafb_ops = {
owner: THIS_MODULE,
fb_setcolreg: pmagbafb_setcolreg,
fb_fillrect: cfb_fillrect,
fb_copyarea: cfb_copyarea,
fb_imageblit: cfb_imageblit,
}
int __init pmagbafb_init_one(int slot)
{
unsigned long base_addr = get_tc_base_addr(slot);
struct fb_info *info = &pmagba_fb_info[slot];
struct display *disp = &pmagba_disp[slot];
printk("PMAG-BA framebuffer in slot %d\n", slot);
/*
* Framebuffer display memory base address and friends
*/
pmagbafb_fix.smem_start = base_addr + PMAG_BA_ONBOARD_FBMEM_OFFSET;
info->par = (base_addr + PMAG_BA_BT459_OFFSET);
/*
* Configure the Bt459 RAM DAC
*/
pmagbafb_erase_cursor((struct pmag_ba_ramdac_regs *) info->par);
/*
* Let there be consoles..
*/
info->node = NODEV;
info->fbops = &pmagbafb_ops;
info->var = pmagbafb_defined;
info->fix = pmagbafb_fix;
info->screen_base = pmagbafb_fix.smem_start;
info->flags = FBINFO_FLAG_DEFAULT;
if (register_framebuffer(info) < 0)
return 1;
return 0;
}
/*
* Initialise the framebuffer
*/
int __init pmagbafb_init(void)
{
int sid;
int found = 0;
if (TURBOCHANNEL) {
while ((sid = search_tc_card("PMAG-BA")) >= 0) {
found = 1;
claim_tc_card(sid);
pmagbafb_init_one(sid);
}
return found ? 0 : -ENODEV;
} else {
return -ENODEV;
}
}
int __init pmagbafb_setup(char *options)
{
return 0;
}
MODULE_LICENSE("GPL");
--- NEW FILE: pmagb-b-fb.c ---
/*
* linux/drivers/video/pmagb-b-fb.c
*
* PMAGB-B TurboChannel framebuffer card support ... derived from:
* "HP300 Topcat framebuffer support (derived from macfb of all things)
* Phil Blundell <ph...@gn...> 1998", the original code can be
* found in the file hpfb.c in the same directory.
*
* DECstation related code Copyright (C) 1999, 2000, 2001 by
* Michael Engel <en...@un...>,
* Karsten Merker <me...@li...> and
* Harald Koerfgen.
* This file is subject to the terms and conditions of the GNU General
* Public License. See the file COPYING in the main directory of this
* archive for more details.
*
*/
/*
* We currently only support the PMAGB-B in high resolution mode
* as I know of no way to detect low resolution mode set via jumper.
* KM, 2001/01/07
*/
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/mm.h>
#include <linux/tty.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/fb.h>
#include <asm/bootinfo.h>
#include <asm/dec/machtype.h>
#include <asm/dec/tc.h>
#include "pmagb-b-fb.h"
struct pmagb_b_ramdac_regs {
unsigned char addr_low;
unsigned char pad0[3];
unsigned char addr_hi;
unsigned char pad1[3];
unsigned char data;
unsigned char pad2[3];
unsigned char cmap;
};
/*
* Max 3 TURBOchannel slots -> max 3 PMAGB-B :)
*/
static struct fb_info pmagbb_fb_info[3];
static struct fb_var_screeninfo pmagbbfb_defined = {
xres: 1280,
yres: 1024,
xres_virtual: 1280,
yres_virtual: 1024,
bits_per_pixel: 8,
activate: FB_ACTIVATE_NOW,
height: 274,
width: 195,
accel_flags: FB_ACCEL_NONE,
vmode: FB_VMODE_NONINTERLACED,
};
static struct fb_fix_screeninfo pmagbafb_fix = {
id: "PMAGB-BA",
smem_len: (1280 * 1024),
type: FB_TYPE_PACKED_PIXELS,
visual: FB_VISUAL_PSEUDOCOLOR,
line_length: 1280,
}
/*
* Turn hardware cursor off
*/
void pmagbbfb_erase_cursor(struct pmagb_b_ramdac_regs *bt459_regs)
{
bt459_regs->addr_low = 0;
bt459_regs->addr_hi = 3;
bt459_regs->data = 0;
}
/*
* Set the palette.
*/
static int pmagbbfb_setcolreg(unsigned regno, unsigned red, unsigned green,
unsigned blue, unsigned transp,
struct fb_info *info)
{
struct pmagb_b_ramdac_regs *bt459_regs = (struct pmagb_b_ramdac_regs *) info->par;
if (regno >= info->cmap.len)
return 1;
red >>= 8; /* The cmap fields are 16 bits */
green >>= 8; /* wide, but the harware colormap */
blue >>= 8; /* registers are only 8 bits wide */
bt459_regs->addr_low = (__u8) regno;
bt459_regs->addr_hi = 0;
bt459_regs->cmap = red;
bt459_regs->cmap = green;
bt459_regs->cmap = blue;
return 0;
}
static struct fb_ops pmagbbfb_ops = {
owner: THIS_MODULE,
fb_setcolreg: pmagbbfb_setcolreg,
fb_fillrect: cfb_fillrect,
fb_copyarea: cfb_copyarea,
fb_imageblit: cfb_imageblit,
};
int __init pmagbbfb_init_one(int slot)
{
unsigned long base_addr = get_tc_base_addr(slot);
struct fb_info *info = &pmagbb_fb_info[slot];
printk("PMAGB-BA framebuffer in slot %d\n", slot);
/*
* Framebuffer display memory base address and friends
*/
pmagbbfb_fix.smem_start = base_addr + PMAGB_B_ONBOARD_FBMEM_OFFSET;
info->par = (base_addr + PMAGB_B_BT459_OFFSET);
/*
* Configure the Bt459 RAM DAC
*/
pmagbbfb_erase_cursor((struct pmagb_b_ramdac_regs *) info->par);
/*
* Let there be consoles..
*/
info->node = NODEV;
info->fbops = &pmagbbfb_ops;
info->var = pmagbbfb_defined;
info->fix = pmagbbfb_fix;
info->screen_base = pmagbbfb_fix.smem_start;
info->flags = FBINFO_FLAG_DEFAULT;
if (register_framebuffer(info) < 0)
return 1;
return 0;
}
/*
* Initialise the framebuffer
*/
int __init pmagbbfb_init(void)
{
int sid;
int found = 0;
if (TURBOCHANNEL) {
while ((sid = search_tc_card("PMAGB-BA")) >= 0) {
found = 1;
claim_tc_card(sid);
pmagbbfb_init_one(sid);
}
return found ? 0 : -ENODEV;
} else {
return -ENODEV;
}
}
int __init pmagbbfb_setup(char *options)
{
return 0;
}
MODULE_LICENSE("GPL");
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/Makefile,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- Makefile 3 Jun 2002 22:44:58 -0000 1.48
+++ Makefile 15 Jun 2002 19:17:10 -0000 1.49
@@ -9,9 +9,7 @@
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
-export-objs := fbmem.o fbcmap.o fbmon.o modedb.o vga.o cyber2000fb.o sa1100fb.o
-
-mod-subdirs := aty fonts matrox riva sis tdfx
+export-objs := fbmem.o fbgen.o fbcmap.o fbmon.o modedb.o vga.o cyber2000fb.o sa1100fb.o
# Each configuration option enables a list of files.
@@ -45,6 +43,7 @@
obj-$(CONFIG_FB_ATARI) += atafb.o
obj-$(CONFIG_FB_ATY128) += aty128fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_RADEON) += radeonfb.o
+obj-$(CONFIG_FB_NEOMAGIC) += neofb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_IGA) += igafb.o
obj-$(CONFIG_FB_CONTROL) += controlfb.o
obj-$(CONFIG_FB_PLATINUM) += platinumfb.o
@@ -80,7 +79,7 @@
obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_MAXINE) += maxinefb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
-obj-$(CONFIG_FB_TX3912) += tx3912fb.o
+obj-$(CONFIG_FB_TX3912) += tx3912fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_MATROX) += matrox/
obj-$(CONFIG_FB_RIVA) += riva/
@@ -93,7 +92,7 @@
obj-$(CONFIG_FB_HGA) += hgafb.o
obj-$(CONFIG_FB_SA1100) += sa1100fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_VIRTUAL) += vfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
-obj-$(CONFIG_FB_HIT) += hitfb.o
+obj-$(CONFIG_FB_HIT) += hitfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_E1355) += epson1355fb.o
obj-$(CONFIG_FB_PVR2) += pvr2fb.o
obj-$(CONFIG_FB_VOODOO1) += sstfb.o
@@ -109,8 +108,7 @@
clean:
rm -f core *.o *.a *.s
-../conmakehash: ../conmakehash.c
- $(HOSTCC) $(HOSTCFLAGS) -o ../conmakehash ../conmakehash.c
+host-progs := ../conmakehash
promcon_tbl.c: prom.uni ../char/conmakehash
../char/conmakehash prom.uni | \
Index: cfbcopyarea.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/cfbcopyarea.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- cfbcopyarea.c 10 May 2002 16:27:23 -0000 1.7
+++ cfbcopyarea.c 15 Jun 2002 19:17:10 -0000 1.8
@@ -31,7 +31,7 @@
void cfb_copyarea(struct fb_info *p, struct fb_copyarea *area)
{
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);
+ int 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;
@@ -102,7 +102,7 @@
end_mask = -1 << ((bpl - end_index) << 3);
n -= end_index;
}
- n = n / bpl;
+ n /= bpl;
if (n <= 0) {
if (start_mask) {
Index: cfbimgblt.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/cfbimgblt.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- cfbimgblt.c 3 Jun 2002 22:44:58 -0000 1.14
+++ cfbimgblt.c 15 Jun 2002 19:17:10 -0000 1.15
@@ -107,12 +107,11 @@
dst++;
}
- if (n) {
+ if (n) {
+ end_mask = 0;
for (j = n; j > 0; j--) {
- end_mask = 0;
-
if (test_bit(l, src))
- end_mask |= (tmp >> (p->var.bits_per_pixel*(k-1)));
+ end_mask |= (tmp >> (p->var.bits_per_pixel*(j-1)));
l--;
if (l < 0) { l = 7; src++; }
}
@@ -125,9 +124,6 @@
} else {
/* Draw the penguin */
n = ((image->width * p->var.bits_per_pixel) >> 3);
- //shift = ((unsigned long) dst1 & (bpl -1));
end_mask = 0;
-
- // n = n/bpl;
}
}
Index: fbcmap.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbcmap.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- fbcmap.c 8 May 2002 16:35:43 -0000 1.12
+++ fbcmap.c 15 Jun 2002 19:17:10 -0000 1.13
@@ -166,7 +166,7 @@
else
tooff = from->start-to->start;
size = to->len-tooff;
- if (size > (int) from->len-fromoff)
+ if (size > (int) (from->len - fromoff))
size = from->len-fromoff;
if (size <= 0)
return;
Index: fbmem.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbmem.c,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -d -r1.64 -r1.65
--- fbmem.c 3 Jun 2002 22:44:58 -0000 1.64
+++ fbmem.c 15 Jun 2002 19:17:10 -0000 1.65
@@ -140,6 +140,7 @@
extern int pmagbbfb_init(void);
extern void maxinefb_init(void);
extern int tx3912fb_init(void);
+extern int tx3912fb_setup(char*);
extern int radeonfb_init(void);
extern int radeonfb_setup(char*);
extern int e1355fb_init(void);
@@ -317,7 +318,7 @@
{ "hitfb", hitfb_init, NULL },
#endif
#ifdef CONFIG_FB_TX3912
- { "tx3912", tx3912fb_init, NULL },
+ { "tx3912", tx3912fb_init, tx3912fb_setup },
#endif
#ifdef CONFIG_FB_E1355
{ "e1355fb", e1355fb_init, e1355fb_setup },
Index: neofb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/neofb.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- neofb.c 24 Apr 2002 18:56:51 -0000 1.3
+++ neofb.c 15 Jun 2002 19:17:10 -0000 1.4
@@ -12,11 +12,11 @@
* archive for more details.
*
* 0.3.3
- * - Porting over to new fbdev api. (jsimmons)
- *
+ * - Porting over to new fbdev api. (jsimmons)
+ *
* 0.3.2
- * - got rid of all floating point (dok)
- *
+ * - got rid of all floating point (dok)
[...1099 lines suppressed...]
- name:"neofb",
- id_table:neofb_devices,
- probe:neofb_probe,
- remove:__devexit_p(neofb_remove)
+ name: "neofb",
+ id_table: neofb_devices,
+ probe: neofb_probe,
+ remove: __devexit_p(neofb_remove)
};
/* **************************** init-time only **************************** */
@@ -2054,7 +2028,7 @@
return 0;
}
-static int __init initialized = 0;
+static int __initdata initialized = 0;
int __init neofb_init(void)
{
Index: tx3912fb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/tx3912fb.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- tx3912fb.c 13 Nov 2001 02:09:18 -0000 1.1
+++ tx3912fb.c 15 Jun 2002 19:17:10 -0000 1.2
@@ -1,16 +1,16 @@
/*
- * linux/drivers/video/tx3912fb.c
+ * drivers/video/tx3912fb.c
*
- * Copyright (C) 1999 Harald Koerfgen
- * Copyright (C) 2001 Steven Hill (sj...@re...)
- * Copyright (C) 2001 Dean Scott (de...@th...)
+ * Copyright (C) 1999 Harald Koerfgen
+ * Copyright (C) 2001 Steven Hill (sj...@re...)
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file COPYING in the main directory of this archive for
* more details.
*
- * Framebuffer for LCD controller in TMPR3912/05 and PR31700 processors
+ * Framebuffer for LCD controller in TMPR3912/05 and PR31700 processors
*/
+#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
@@ -21,48 +21,73 @@
#include <linux/init.h>
#include <linux/pm.h>
#include <linux/fb.h>
+#include <asm/io.h>
#include <asm/bootinfo.h>
#include <asm/uaccess.h>
-#include <linux/config.h>
-#include "tx3912fb.h"
+#include <asm/tx3912.h>
+#include <video/tx3912.h>
/*
* Frame buffer, palette and console structures
*/
static struct fb_info fb_info;
-static u32 pseudo_palette[17];
+static u32 cfb8[16];
static struct fb_fix_screeninfo tx3912fb_fix __initdata = {
- TX3912FB_NAME, (unsigned long) NULL, 0, FB_TYPE_PACKED_PIXELS, 0,
- FB_VISUAL_TRUECOLOR, 0, 1, 1, 1, (unsigned long) NULL, 0, FB_ACCEL_NONE
+ id: "tx3912fb",
+#ifdef CONFIG_NINO_16MB
+ smem_len: (240 * 320),
+#else
+ smem_len: ((240 * 320)/2),
+#endif
+ type: FB_TYPE_PACKED_PIXELS,
+ visual: FB_VISUAL_TRUECOLOR,
+ xpanstep: 1,
+ ypanstep: 1,
+ ywrapstep: 1,
+ accel: FB_ACCEL_NONE,
};
-static int tx3912fb_setcolreg(u_int regno, u_int red, u_int green,
- u_int blue, u_int transp,
- struct fb_info *info)
-{
- if (regno > 255)
- return 1;
-
- red >>= 8;
- green >>= 8;
- blue >>= 8;
+static struct fb_var_screeninfo tx3912fb_var = {
+ xres: 240,
+ yres: 320,
+ xres_virtual: 240,
+ yres_virtual: 320,
+#ifdef CONFIG_NINO_16MB
+ bits_per_pixel: 8,
+ red: { 5, 3, 0 }, /* RGB 332 */
+ green: { 2, 3, 0 },
+ blue: { 0, 2, 0 },
+#else
+ bits_per_pixel: 4,
+#endif
+ activate: FB_ACTIVATE_NOW,
+ width: -1,
+ height: -1,
+ pixclock: 20000,
+ left_margin: 64,
+ right_margin: 64,
+ upper_margin: 32,
+ lower_margin: 32,
+ hsync_len: 64,
+ vsync_len: 2,
+ vmode: FB_VMODE_NONINTERLACED,
+};
- switch (info->var.bits_per_pixel) {
- case 8:
- red &= 0xe000;
- green &= 0xe000;
- blue &= 0xc000;
+/*
+ * Interface used by the world
+ */
+int tx3912fb_init(void);
- ((u8 *)(info->pseudo_palette))[regno] =
- (red >> 8) |
- (green >> 11) |
- (blue >> 14);
- break;
- }
+static int tx3912fb_setcolreg(u_int regno, u_int red, u_int green,
+ u_int blue, u_int transp,
+ struct fb_info *info);
- return 0;
-}
+/*
+ * Macros
+ */
+#define get_line_length(xres_virtual, bpp) \
+ (u_long) (((int) xres_virtual * (int) bpp + 7) >> 3)
/*
* Frame buffer operations structure used by console driver
@@ -76,91 +101,138 @@
};
/*
+ * Set a single color register
+ */
+static int tx3912fb_setcolreg(u_int regno, u_int red, u_int green,
+ u_int blue, u_int transp,
+ struct fb_info *info)
+{
+ if (regno > 255)
+ return 1;
+
+ if (regno < 16)
+ ((u32 *)(info->pseudo_palette))[regno] = ((red & 0xe000) >> 8)
+ | ((green & 0xe000) >> 11)
+ | ((blue & 0xc000) >> 14);
+ return 0;
+}
+
+/*
* Initialization of the framebuffer
*/
int __init tx3912fb_init(void)
{
- /* Stop the video logic when frame completes */
- VidCtrl1 |= ENFREEZEFRAME;
- IntClear1 |= INT1_LCDINT;
- while (!(IntStatus1 & INT1_LCDINT));
+ u_long tx3912fb_paddr = 0;
/* Disable the video logic */
- VidCtrl1 &= ~(ENVID | DISPON);
+ outl(inl(TX3912_VIDEO_CTRL1) &
+ ~(TX3912_VIDEO_CTRL1_ENVID | TX3912_VIDEO_CTRL1_DISPON),
+ TX3912_VIDEO_CTRL1);
udelay(200);
/* Set start address for DMA transfer */
- VidCtrl3 = tx3912fb_paddr &
- (TX3912_VIDCTRL3_VIDBANK_MASK |
- TX3912_VIDCTRL3_VIDBASEHI_MASK);
+ outl(tx3912fb_paddr, TX3912_VIDEO_CTRL3);
/* Set end address for DMA transfer */
- VidCtrl4 = (tx3912fb_paddr + tx3912fb_size + 1) &
- TX3912_VIDCTRL4_VIDBASELO_MASK;
+ outl((tx3912fb_paddr + tx3912fb_fix.smem_len + 1), TX3912_VIDEO_CTRL4);
/* Set the pixel depth */
- switch (tx3912fb_info.bits_per_pixel) {
- case 1:
+ switch (tx3912fb_var.bits_per_pixel) {
+ case 1:
/* Monochrome */
- VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK;
+ outl(inl(TX3912_VIDEO_CTRL1) &
+ ~TX3912_VIDEO_CTRL1_BITSEL_MASK, TX3912_VIDEO_CTRL1);
tx3912fb_fix.visual = FB_VISUAL_MONO10;
break;
- case 4:
+ case 4:
/* 4-bit gray */
- VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK;
- VidCtrl1 |= TX3912_VIDCTRL1_4BIT_GRAY;
+ outl(inl(TX3912_VIDEO_CTRL1) &
+ ~TX3912_VIDEO_CTRL1_BITSEL_MASK, TX3912_VIDEO_CTRL1);
+ outl(inl(TX3912_VIDEO_CTRL1) |
+ TX3912_VIDEO_CTRL1_BITSEL_4BIT_GRAY,
+ TX3912_VIDEO_CTRL1);
tx3912fb_fix.visual = FB_VISUAL_TRUECOLOR;
+ tx3912fb_fix.grayscale = 1;
break;
- case 8:
+ case 8:
/* 8-bit color */
- VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK;
- VidCtrl1 |= TX3912_VIDCTRL1_8BIT_COLOR;
+ outl(inl(TX3912_VIDEO_CTRL1) &
+ ~TX3912_VIDEO_CTRL1_BITSEL_MASK, TX3912_VIDEO_CTRL1);
+ outl(inl(TX3912_VIDEO_CTRL1) |
+ TX3912_VIDEO_CTRL1_BITSEL_8BIT_COLOR,
+ TX3912_VIDEO_CTRL1);
tx3912fb_fix.visual = FB_VISUAL_TRUECOLOR;
break;
- case 2:
- default:
+ case 2:
+ default:
/* 2-bit gray */
- VidCtrl1 &= ~TX3912_VIDCTRL1_BITSEL_MASK;
- VidCtrl1 |= TX3912_VIDCTRL1_2BIT_GRAY;
+ outl(inl(TX3912_VIDEO_CTRL1) &
+ ~TX3912_VIDEO_CTRL1_BITSEL_MASK, TX3912_VIDEO_CTRL1);
+ outl(inl(TX3912_VIDEO_CTRL1) |
+ TX3912_VIDEO_CTRL1_BITSEL_2BIT_GRAY,
+ TX3912_VIDEO_CTRL1);
tx3912fb_fix.visual = FB_VISUAL_PSEUDOCOLOR;
+ tx3912fb_fix.grayscale = 1;
break;
}
+ /* Enable the video clock */
+ outl(inl(TX3912_CLK_CTRL) | TX3912_CLK_CTRL_ENVIDCLK,
+ TX3912_CLK_CTRL);
+
/* Unfreeze video logic and enable DF toggle */
- VidCtrl1 &= ~(ENFREEZEFRAME | DFMODE);
+ outl(inl(TX3912_VIDEO_CTRL1) &
+ ~(TX3912_VIDEO_CTRL1_ENFREEZEFRAME | TX3912_VIDEO_CTRL1_DFMODE),
+ TX3912_VIDEO_CTRL1);
udelay(200);
/* Clear the framebuffer */
- memset((void *) tx3912fb_vaddr, 0xff, tx3912fb_size);
+ memset((void *) tx3912fb_fix.smem_start, 0xff, tx3912fb_fix.smem_len);
udelay(200);
/* Enable the video logic */
- VidCtrl1 |= (DISPON | ENVID);
-
- tx3912fb_fix.smem_start = tx3912fb_vaddr;
- tx3912fb_fix.smem_len = tx3912fb_size;
+ outl(inl(TX3912_VIDEO_CTRL1) |
+ (TX3912_VIDEO_CTRL1_ENVID | TX3912_VIDEO_CTRL1_DISPON),
+ TX3912_VIDEO_CTRL1);
- fb_info.node = -1;
+ /*
+ * Memory limit
+ */
+ tx3912fb_fix.line_length =
+ get_line_length(tx3912fb_var.xres_virtual, tx3912fb_var.bits_per_pixel);
+ if ((tx3912fb_fix.line_length * tx3912fb_var.yres_virtual) > tx3912fb_fix.smem_len)
+ return -ENOMEM;
+
+ fb_info.node = NODEV;
fb_info.fbops = &tx3912fb_ops;
- fb_info.flags = FBINFO_FLAG_DEFAULT;
- fb_info.var = tx3912fb_info;
+ fb_info.var = tx3912fb_var;
fb_info.fix = tx3912fb_fix;
fb_info.pseudo_palette = pseudo_palette;
+ fb_info.flags = FBINFO_FLAG_DEFAULT;
+
+ /* Clear the framebuffer */
+ memset((void *) fb_info.fix.smem_start, 0xff, fb_info.fix.smem_len);
+ udelay(200);
if (register_framebuffer(&fb_info) < 0)
- return -EINVAL;
+ return -1;
+ printk(KERN_INFO "fb%d: TX3912 frame buffer using %uKB.\n",
+ GET_FB_IDX(fb_info.node), (u_int) (fb_info.fix.smem_len >> 10));
return 0;
}
-static void __exit tx3912fb_exit(void)
+int __init tx3912fb_setup(char *options)
{
- unregister_framebuffer(&fb_info);
-}
+ char *this_opt;
-#ifdef MODULE
-module_init(tx3912fb_init);
-module_exit(tx3912fb_exit);
+ if (!options || !*options)
+ return 0;
+
+ while ((this_opt = strsep(&options, ","))) {
+ if (!strncmp(options, "bpp:", 4))
+ tx3912fb_var.bits_per_pixel = simple_strtoul(options+4, NULL, 0);
+ }
+}
MODULE_LICENSE("GPL");
-#endif
|
|
From: James S. <jsi...@us...> - 2002-06-15 19:17:12
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/drivers/char Modified Files: Makefile Log Message: Synced to 2.5.21 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- Makefile 4 Jun 2002 19:45:08 -0000 1.42 +++ Makefile 15 Jun 2002 19:17:09 -0000 1.43 @@ -109,17 +109,12 @@ obj-$(CONFIG_DRM) += drm/ obj-$(CONFIG_PCMCIA) += pcmcia/ -include $(TOPDIR)/Rules.make - -fastdep: +host-progs := conmakehash -conmakehash: conmakehash.c - $(HOSTCC) $(HOSTCFLAGS) -o conmakehash conmakehash.c +include $(TOPDIR)/Rules.make consolemap_deftbl.c: $(FONTMAPFILE) conmakehash - ./conmakehash $(FONTMAPFILE) > consolemap_deftbl.c - -consolemap_deftbl.o: consolemap_deftbl.c $(TOPDIR)/include/linux/types.h + ./conmakehash $< > $@ .DELETE_ON_ERROR: |
|
From: James S. <jsi...@us...> - 2002-06-15 19:17:12
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/s390x/mm
In directory usw-pr-cvs1:/tmp/cvs-serv22898/linux/arch/s390x/mm
Modified Files:
fault.c
Log Message:
Synced to 2.5.21
Index: fault.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/s390x/mm/fault.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- fault.c 26 Dec 2001 17:28:11 -0000 1.3
+++ fault.c 15 Jun 2002 19:17:09 -0000 1.4
@@ -34,7 +34,77 @@
#endif
extern void die(const char *,struct pt_regs *,long);
-static void force_sigsegv(struct task_struct *tsk, int code, void *address);
+
+/*
+ * Check which address space is addressed by the access
+ * register in S390_lowcore.exc_access_id.
+ * Returns 1 for user space and 0 for kernel space.
+ */
+static int __check_access_register(struct pt_regs *regs, int error_code)
+{
+ int areg = S390_lowcore.exc_access_id;
+
+ if (areg == 0)
+ /* Access via access register 0 -> kernel address */
+ return 0;
+ if (regs && areg < NUM_ACRS && regs->acrs[areg] <= 1)
+ /*
+ * access register contains 0 -> kernel address,
+ * access register contains 1 -> user space address
+ */
+ return regs->acrs[areg];
+
+ /* Something unhealthy was done with the access registers... */
+ die("page fault via unknown access register", regs, error_code);
+ do_exit(SIGKILL);
+ return 0;
+}
+
+/*
+ * Check which address space the address belongs to.
+ * Returns 1 for user space and 0 for kernel space.
+ */
+static inline int check_user_space(struct pt_regs *regs, int error_code)
+{
+ /*
+ * The lowest two bits of S390_lowcore.trans_exc_code indicate
+ * which paging table was used:
+ * 0: Primary Segment Table Descriptor
+ * 1: STD determined via access register
+ * 2: Secondary Segment Table Descriptor
+ * 3: Home Segment Table Descriptor
+ */
+ int descriptor = S390_lowcore.trans_exc_code & 3;
+ if (descriptor == 1)
+ return __check_access_register(regs, error_code);
+ return descriptor >> 1;
+}
+
+/*
+ * Send SIGSEGV to task. This is an external routine
+ * to keep the stack usage of do_page_fault small.
+ */
+static void force_sigsegv(struct pt_regs *regs, unsigned long error_code,
+ int si_code, unsigned long address)
+{
+ struct siginfo si;
+
+#if defined(CONFIG_SYSCTL) || defined(CONFIG_PROCESS_DEBUG)
+#if defined(CONFIG_SYSCTL)
+ if (sysctl_userprocess_debug)
+#endif
+ {
+ printk("User process fault: interruption code 0x%lX\n",
+ error_code);
+ printk("failing address: %lX\n", address);
+ show_regs(regs);
+ }
+#endif
+ si.si_signo = SIGSEGV;
+ si.si_code = si_code;
+ si.si_addr = (void *) address;
+ force_sig_info(SIGSEGV, &si, current);
+}
/*
* This routine handles page faults. It determines the address,
@@ -42,21 +112,20 @@
* routines.
*
* error_code:
- * ****0004 Protection -> Write-Protection (suprression)
- * ****0010 Segment translation -> Not present (nullification)
- * ****0011 Page translation -> Not present (nullification)
- * ****003B Region third exception -> Not present (nullification)
+ * 04 Protection -> Write-Protection (suprression)
+ * 10 Segment translation -> Not present (nullification)
+ * 11 Page translation -> Not present (nullification)
+ * 3b Region third trans. -> Not present (nullification)
*/
-asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code)
+extern inline void do_exception(struct pt_regs *regs, unsigned long error_code)
{
struct task_struct *tsk;
struct mm_struct *mm;
struct vm_area_struct * vma;
unsigned long address;
+ int user_address;
unsigned long fixup;
- int write;
int si_code = SEGV_MAPERR;
- int kernel_address = 0;
tsk = current;
mm = tsk->mm;
@@ -66,13 +135,13 @@
* as a special case because the translation exception code
* field is not guaranteed to contain valid data in this case.
*/
- if ((error_code & 0xff) == 4 && !(S390_lowcore.trans_exc_code & 4)) {
+ if (error_code == 4 && !(S390_lowcore.trans_exc_code & 4)) {
/* Low-address protection hit in kernel mode means
NULL pointer write access in kernel mode. */
if (!(regs->psw.mask & PSW_PROBLEM_STATE)) {
address = 0;
- kernel_address = 1;
+ user_address = 0;
goto no_context;
}
@@ -86,52 +155,15 @@
* more specific the segment and page table portion of
* the address
*/
-
- address = S390_lowcore.trans_exc_code&-4096L;
-
-
- /*
- * Check which address space the address belongs to
- */
- switch (S390_lowcore.trans_exc_code & 3)
- {
- case 0: /* Primary Segment Table Descriptor */
- kernel_address = 1;
- goto no_context;
-
- case 1: /* STD determined via access register */
- if (S390_lowcore.exc_access_id == 0)
- {
- kernel_address = 1;
- goto no_context;
- }
- if (regs && S390_lowcore.exc_access_id < NUM_ACRS)
- {
- if (regs->acrs[S390_lowcore.exc_access_id] == 0)
- {
- kernel_address = 1;
- goto no_context;
- }
- if (regs->acrs[S390_lowcore.exc_access_id] == 1)
- {
- /* user space address */
- break;
- }
- }
- die("page fault via unknown access register", regs, error_code);
- do_exit(SIGKILL);
- break;
-
- case 2: /* Secondary Segment Table Descriptor */
- case 3: /* Home Segment Table Descriptor */
- /* user space address */
- break;
- }
+ address = S390_lowcore.trans_exc_code & -4096L;
+ user_address = check_user_space(regs, error_code);
/*
- * Check whether we have a user MM in the first place.
+ * Verify that the fault happened in user space, that
+ * we are not in an interrupt and that there is a
+ * user context.
*/
- if (in_interrupt() || !mm || !(regs->psw.mask & _PSW_IO_MASK_BIT))
+ if (user_address == 0 || in_interrupt() || !mm)
goto no_context;
/*
@@ -139,7 +171,6 @@
* task's user address space, so we can switch on the
* interrupts again and then search the VMAs
*/
-
__sti();
down_read(&mm->mmap_sem);
@@ -158,31 +189,23 @@
* we can handle it..
*/
good_area:
- write = 0;
si_code = SEGV_ACCERR;
+ if (error_code != 4) {
+ /* page not present, check vm flags */
+ if (!(vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE)))
+ goto bad_area;
+ } else {
+ if (!(vma->vm_flags & VM_WRITE))
+ goto bad_area;
+ }
- switch (error_code & 0xFF) {
- case 0x04: /* write, present*/
- write = 1;
- break;
- case 0x10: /* not present*/
- case 0x11: /* not present*/
- case 0x3B: /* not present*/
- if (!(vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE)))
- goto bad_area;
- break;
- default:
- printk("code should be 4, 10 or 11 (%lX) \n",error_code&0xFF);
- goto bad_area;
- }
-
- survive:
+survive:
/*
* If for any reason at all we couldn't handle the fault,
* make sure we exit gracefully rather than endlessly redo
* the fault.
*/
- switch (handle_mm_fault(mm, vma, address, write)) {
+ switch (handle_mm_fault(mm, vma, address, error_code == 4)) {
case 1:
tsk->min_flt++;
break;
@@ -209,22 +232,7 @@
if (regs->psw.mask & PSW_PROBLEM_STATE) {
tsk->thread.prot_addr = address;
tsk->thread.trap_no = error_code;
-#ifndef CONFIG_SYSCTL
-#ifdef CONFIG_PROCESS_DEBUG
- printk("User process fault: interruption code 0x%lX\n",error_code);
- printk("failing address: %lX\n",address);
- show_regs(regs);
-#endif
-#else
- if (sysctl_userprocess_debug) {
- printk("User process fault: interruption code 0x%lX\n",
- error_code);
- printk("failing address: %lX\n", address);
- show_regs(regs);
- }
-#endif
-
- force_sigsegv(tsk, si_code, (void *)address);
+ force_sigsegv(regs, error_code, si_code, address);
return;
}
@@ -239,8 +247,7 @@
* Oops. The kernel tried to access some bad page. We'll have to
* terminate things with extreme prejudice.
*/
-
- if (kernel_address)
+ if (user_address == 0)
printk(KERN_ALERT "Unable to handle kernel pointer dereference"
" at virtual kernel address %016lx\n", address);
else
@@ -258,9 +265,7 @@
out_of_memory:
up_read(&mm->mmap_sem);
if (tsk->pid == 1) {
- tsk->policy |= SCHED_YIELD;
- schedule();
- down_read(&mm->mmap_sem);
+ yield();
goto survive;
}
printk("VM: killing process %s\n", tsk->comm);
@@ -284,19 +289,26 @@
goto no_context;
}
-/*
- * Send SIGSEGV to task. This is an external routine
- * to keep the stack usage of do_page_fault small.
- */
-static void force_sigsegv(struct task_struct *tsk, int code, void *address)
+void do_protection_exception(struct pt_regs *regs, unsigned long error_code)
{
- struct siginfo si;
- si.si_signo = SIGSEGV;
- si.si_code = code;
- si.si_addr = address;
- force_sig_info(SIGSEGV, &si, tsk);
+ regs->psw.addr -= (error_code >> 16);
+ do_exception(regs, 4);
}
+void do_segment_exception(struct pt_regs *regs, unsigned long error_code)
+{
+ do_exception(regs, 0x10);
+}
+
+void do_page_exception(struct pt_regs *regs, unsigned long error_code)
+{
+ do_exception(regs, 0x11);
+}
+
+void do_region_exception(struct pt_regs *regs, unsigned long error_code)
+{
+ do_exception(regs, 0x3b);
+}
#ifdef CONFIG_PFAULT
/*
|
|
From: James S. <jsi...@us...> - 2002-06-15 19:17:10
|
Update of /cvsroot/linuxconsole/ruby In directory usw-pr-cvs1:/tmp/cvs-serv22898 Added Files: AGAINST-2.5.21 Removed Files: AGAINST-2.5.20 Log Message: Synced to 2.5.21 --- NEW FILE: AGAINST-2.5.21 --- --- AGAINST-2.5.20 DELETED --- |
|
From: johann d. <jd...@us...> - 2002-06-09 17:34:59
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb/input In directory usw-pr-cvs1:/tmp/cvs-serv29166 Modified Files: hid-core.c Log Message: USB_ASYNC isn't necessary. Index: hid-core.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/input/hid-core.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- hid-core.c 9 Jun 2002 11:06:38 -0000 1.5 +++ hid-core.c 9 Jun 2002 17:34:55 -0000 1.6 @@ -1356,7 +1356,6 @@ goto fail; pipe = usb_sndbulkpipe(dev, endpoint->bEndpointAddress); FILL_BULK_URB(hid->urbout, dev, pipe, hid->outbuf, 0, hid_irq_out, hid); - hid->urbout->transfer_flags |= USB_ASYNC_UNLINK; } } @@ -1397,7 +1396,6 @@ hid->urbctrl = usb_alloc_urb(0, GFP_KERNEL); FILL_CONTROL_URB(hid->urbctrl, dev, 0, (void*) &hid->cr, hid->ctrlbuf, 1, hid_ctrl, hid); - hid->urbctrl->transfer_flags |= USB_ASYNC_UNLINK; return hid; |
|
From: johann d. <jd...@us...> - 2002-06-09 11:08:08
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce
In directory usw-pr-cvs1:/tmp/cvs-serv5407/drivers/input/joystick/iforce
Modified Files:
iforce-packets.c iforce-usb.c iforce.h
Log Message:
Code cosmetics, warning and debug messages updated.
Fix for double kfree(iforce).
Index: iforce-packets.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-packets.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- iforce-packets.c 18 Mar 2002 21:30:08 -0000 1.14
+++ iforce-packets.c 9 Jun 2002 11:08:04 -0000 1.15
@@ -213,7 +213,6 @@
else input_report_abs(dev, ABS_HAT1Y, 0);
}
}
-
break;
@@ -250,56 +249,64 @@
switch (iforce->bus) {
-#ifdef IFORCE_USB
- case IFORCE_USB:
-
- iforce->cr.bRequest = packet[0];
- iforce->ctrl->dev = iforce->usbdev;
-
- set_current_state(TASK_INTERRUPTIBLE);
- add_wait_queue(&iforce->wait, &wait);
+ case IFORCE_USB:
- if (usb_submit_urb(iforce->ctrl, GFP_KERNEL)) {
- set_current_state(TASK_RUNNING);
- remove_wait_queue(&iforce->wait, &wait);
- return -1;
- }
+#ifdef IFORCE_USB
+ iforce->cr.bRequest = packet[0];
+ iforce->ctrl->dev = iforce->usbdev;
- while (timeout && iforce->ctrl->status == -EINPROGRESS)
- timeout = schedule_timeout(timeout);
+ set_current_state(TASK_INTERRUPTIBLE);
+ add_wait_queue(&iforce->wait, &wait);
+ if (usb_submit_urb(iforce->ctrl, GFP_KERNEL)) {
set_current_state(TASK_RUNNING);
remove_wait_queue(&iforce->wait, &wait);
+ return -1;
+ }
- if (!timeout) {
- usb_unlink_urb(iforce->ctrl);
- return -1;
- }
+ while (timeout && iforce->ctrl->status == -EINPROGRESS)
+ timeout = schedule_timeout(timeout);
- break;
+ set_current_state(TASK_RUNNING);
+ remove_wait_queue(&iforce->wait, &wait);
+
+ if (!timeout) {
+ usb_unlink_urb(iforce->ctrl);
+ return -1;
+ }
+#else
+ printk(KERN_ERR "iforce_get_id_packet: iforce->bus = USB!\n");
#endif
-#ifdef IFORCE_232
- case IFORCE_232:
+ break;
- iforce->expect_packet = FF_CMD_QUERY;
- iforce_send_packet(iforce, FF_CMD_QUERY, packet);
+ case IFORCE_232:
- set_current_state(TASK_INTERRUPTIBLE);
- add_wait_queue(&iforce->wait, &wait);
+#ifdef IFORCE_232
+ iforce->expect_packet = FF_CMD_QUERY;
+ iforce_send_packet(iforce, FF_CMD_QUERY, packet);
- while (timeout && iforce->expect_packet)
- timeout = schedule_timeout(timeout);
+ set_current_state(TASK_INTERRUPTIBLE);
+ add_wait_queue(&iforce->wait, &wait);
- set_current_state(TASK_RUNNING);
- remove_wait_queue(&iforce->wait, &wait);
+ while (timeout && iforce->expect_packet)
+ timeout = schedule_timeout(timeout);
- if (!timeout) {
- iforce->expect_packet = 0;
- return -1;
- }
+ set_current_state(TASK_RUNNING);
+ remove_wait_queue(&iforce->wait, &wait);
- break;
+ if (!timeout) {
+ iforce->expect_packet = 0;
+ return -1;
+ }
+#else
+ printk(KERN_ERR "iforce_get_id_packet: iforce->bus = SERIO!\n");
#endif
+ break;
+
+ default:
+ printk(KERN_ERR "iforce_get_id_packet: iforce->bus = %d\n",
+ iforce->bus);
+ break;
}
return -(iforce->edata[0] != packet[0]);
Index: iforce-usb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-usb.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- iforce-usb.c 8 Mar 2002 19:34:30 -0000 1.15
+++ iforce-usb.c 9 Jun 2002 11:08:04 -0000 1.16
@@ -86,7 +86,10 @@
{
struct iforce *iforce = urb->context;
- if (urb->status) return;
+ if (urb->status) {
+ printk(KERN_DEBUG "iforce_usb_out: urb->status %d, exiting", urb->status);
+ return;
+ }
iforce_usb_xmit(iforce);
@@ -164,6 +167,7 @@
void iforce_usb_delete(struct iforce* iforce)
{
usb_unlink_urb(iforce->irq);
+/* Is it ok to unlink those ? */
usb_unlink_urb(iforce->out);
usb_unlink_urb(iforce->ctrl);
@@ -180,8 +184,10 @@
iforce->usbdev = NULL;
input_unregister_device(&iforce->dev);
- if (!open)
+ if (!open) {
iforce_delete_device(iforce);
+ kfree(iforce);
+ }
}
static struct usb_device_id iforce_usb_ids [] = {
@@ -191,6 +197,7 @@
{ USB_DEVICE(0x05ef, 0x020a) }, /* AVB Top Shot Pegasus */
{ USB_DEVICE(0x05ef, 0x8884) }, /* AVB Mag Turbo Force */
{ USB_DEVICE(0x05ef, 0x8888) }, /* AVB Top Shot FFB Racing Wheel */
+ { USB_DEVICE(0x061c, 0xc0a4) }, /* ACT LABS Force RS */
{ USB_DEVICE(0x06f8, 0x0001) }, /* Guillemot Race Leader Force Feedback */
{ USB_DEVICE(0x06f8, 0x0004) }, /* Guillemot Force Feedback Racing Wheel */
{ } /* Terminating entry */
Index: iforce.h
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- iforce.h 8 Mar 2002 19:34:30 -0000 1.11
+++ iforce.h 9 Jun 2002 11:08:04 -0000 1.12
@@ -47,10 +47,10 @@
#define IFORCE_MAX_LENGTH 16
-#if defined(CONFIG_JOYSTICK_IFORCE_232) || defined(CONFIG_JOYSTICK_IFORCE_232_MODULE)
+#if defined(CONFIG_JOYSTICK_IFORCE_232)
#define IFORCE_232 1
#endif
-#if defined(CONFIG_JOYSTICK_IFORCE_USB) || defined(CONFIG_JOYSTICK_IFORCE_USB_MODULE)
+#if defined(CONFIG_JOYSTICK_IFORCE_USB)
#define IFORCE_USB 2
#endif
|
|
From: johann d. <jd...@us...> - 2002-06-09 11:06:45
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb/input
In directory usw-pr-cvs1:/tmp/cvs-serv5109/drivers/usb/input
Modified Files:
hid-core.c hid-ff.c hid-lg3dff.c
Added Files:
fixp-arith.h
Log Message:
Added basic (and still buggy) support for constant effects for Logitech 3D devices.
--- NEW FILE: fixp-arith.h ---
#ifndef _FIXP_ARITH_H
#define _FIXP_ARITH_H
/*
* $$
*
* Simplistic fixed-point arithmetics.
* Hmm, I'm probably duplicating some code :(
*
* Copyright (c) 2002 Johann Deneux
*/
/*
* 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 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Should you need to contact me, the author, you can do so by
* e-mail - mail your message to <de...@if...>
*/
#include <linux/types.h>
// The type representing fixed-point values
typedef s16 fixp_t;
#define FRAC_N 8
#define FRAC_MASK ((1<<FRAC_N)-1)
// Not to be used directly. Use fixp_{cos,sin}
fixp_t cos_table[45] = {
0x0100, 0x00FF, 0x00FF, 0x00FE, 0x00FD, 0x00FC, 0x00FA, 0x00F8,
0x00F6, 0x00F3, 0x00F0, 0x00ED, 0x00E9, 0x00E6, 0x00E2, 0x00DD,
0x00D9, 0x00D4, 0x00CF, 0x00C9, 0x00C4, 0x00BE, 0x00B8, 0x00B1,
0x00AB, 0x00A4, 0x009D, 0x0096, 0x008F, 0x0087, 0x0080, 0x0078,
0x0070, 0x0068, 0x005F, 0x0057, 0x004F, 0x0046, 0x003D, 0x0035,
0x002C, 0x0023, 0x001A, 0x0011, 0x0008
};
/* a: 123 -> 123.0 */
inline fixp_t fixp_new(s16 a)
{
return a<<FRAC_N;
}
/* a: 0xFFFF -> -1.0
0x8000 -> 1.0
0x0000 -> 0.0
*/
inline fixp_t fixp_new16(s16 a)
{
return ((s32)a)>>(16-FRAC_N);
}
inline fixp_t fixp_cos(unsigned int degrees)
{
int quadrant = (degrees / 90) & 3;
unsigned int i = (degrees % 90) >> 1;
return (quadrant == 1 || quadrant == 2)? -cos_table[i] : cos_table[i];
}
inline fixp_t fixp_sin(unsigned int degrees)
{
return -fixp_cos(degrees + 90);
}
inline fixp_t fixp_mult(fixp_t a, fixp_t b)
{
return ((s32)(a*b))>>FRAC_N;
}
#endif
Index: hid-core.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/input/hid-core.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- hid-core.c 2 Jun 2002 17:19:21 -0000 1.4
+++ hid-core.c 9 Jun 2002 11:06:38 -0000 1.5
@@ -1420,8 +1420,10 @@
dbg("HID probe called for ifnum %d", ifnum);
- if (!(hid = usb_hid_configure(dev, ifnum)))
+ if (!(hid = usb_hid_configure(dev, ifnum))) {
+ err("usb_hid_configure failed");
return NULL;
+ }
hid_init_reports(hid);
hid_dump_device(hid);
Index: hid-ff.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/input/hid-ff.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- hid-ff.c 18 Apr 2002 22:02:47 -0000 1.2
+++ hid-ff.c 9 Jun 2002 11:06:38 -0000 1.3
@@ -53,6 +53,9 @@
#ifdef CONFIG_LOGITECH_RUMBLE
{0x46d, 0xc211, hid_lgff_init},
#endif
+#ifdef CONFIG_LOGITECH_3D
+ {0x46d, 0xc283, hid_lg3d_init},
+#endif
#ifdef CONFIG_HID_PID
{0x45e, 0x001b, hid_pid_init},
#endif
@@ -79,5 +82,9 @@
init = hid_get_ff_init(hid->dev->descriptor.idVendor,
hid->dev->descriptor.idProduct);
- return init? init->init(hid) : -ENOSYS;
+ if (!init) {
+ warn("hid_ff_init could not find initializer");
+ return -ENOSYS;
+ }
+ return init->init(hid);
}
Index: hid-lg3dff.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/input/hid-lg3dff.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- hid-lg3dff.c 2 Jun 2002 17:34:22 -0000 1.3
+++ hid-lg3dff.c 9 Jun 2002 11:06:38 -0000 1.4
@@ -34,6 +34,7 @@
#include <linux/circ_buf.h>
#include "hid.h"
+#include "fixp-arith.h"
#define RUN_AT(t) (jiffies + (t))
@@ -341,8 +342,6 @@
int i;
int err;
- x = 0;
- y = 0;
spin_lock_irqsave(&lg3d->lock, flags);
if (test_bit(DEVICE_USB_XMIT, lg3d->flags)) {
@@ -361,12 +360,21 @@
return;
}
+ x = 0x7f;
+ y = 0x7f;
+
for (i=0; i<N_EFFECTS; ++i) {
struct lg3d_effect* effect = lg3d->effects +i;
if (test_bit(EFFECT_PLAYING, effect->flags)) {
+
if (effect->effect.type == FF_CONSTANT) {
- x = y = 0x60; /*TODO: actual implementation */
+ //TODO: handle envelopes
+ int degrees = effect->effect.direction * 360 >> 16;
+ x += fixp_mult(fixp_sin(degrees),
+ fixp_new16(effect->effect.u.constant.level));
+ y += fixp_mult(-fixp_cos(degrees),
+ fixp_new16(effect->effect.u.constant.level));
}
/* One run of the effect is finished playing */
@@ -374,9 +382,13 @@
effect->started_at
+ effect->effect.replay.delay*HZ/1000
+ effect->effect.replay.length*HZ/1000)) {
- if (--effect->count <= 0)
+ dbg("Finished playing once");
+ if (--effect->count <= 0) {
+ dbg("Stopped");
clear_bit(EFFECT_PLAYING, effect->flags);
+ }
else {
+ dbg("Start again");
if (effect->effect.replay.length != 0) {
clear_bit(EFFECT_PLAYING, effect->flags);
set_bit(EFFECT_STARTED, effect->flags);
@@ -386,16 +398,23 @@
}
} else if (test_bit(EFFECT_STARTED, lg3d->effects[i].flags)) {
+ dbg("Started");
/* Check if we should start playing the effect */
if (time_after(jiffies,
lg3d->effects[i].started_at
+ lg3d->effects[i].effect.replay.delay*HZ/1000)) {
+ dbg("Now playing");
clear_bit(EFFECT_STARTED, lg3d->effects[i].flags);
set_bit(EFFECT_PLAYING, lg3d->effects[i].flags);
}
}
}
+ if (x < 0) x = 0;
+ if (x > 0xff) x = 0xff;
+ if (y < 0) y = 0;
+ if (y > 0xff) y = 0xff;
+
lg3d->urbffout->pipe = usb_sndctrlpipe(hid->dev, 0);
lg3d->ffcr.bRequestType = USB_TYPE_CLASS | USB_DIR_OUT | USB_RECIP_INTERFACE;
lg3d->urbffout->transfer_buffer_length = lg3d->ffcr.wLength = 8;
|
|
From: johann d. <jd...@us...> - 2002-06-09 11:03:07
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce
In directory usw-pr-cvs1:/tmp/cvs-serv3422/drivers/input/joystick/iforce
Modified Files:
iforce-main.c
Log Message:
Added ACT Labs force RS.
Fixed multiple kfree(iforce)
Issue warnings when id packets are not received.
BTN_DEAD added to dev.keybit.
Index: iforce-main.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-main.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- iforce-main.c 7 Apr 2002 11:49:40 -0000 1.17
+++ iforce-main.c 9 Jun 2002 11:03:03 -0000 1.18
@@ -74,9 +74,10 @@
{ 0x046d, 0xc291, "Logitech WingMan Formula Force", btn_wheel, abs_wheel, ff_iforce },
{ 0x05ef, 0x020a, "AVB Top Shot Pegasus", btn_avb_pegasus, abs_avb_pegasus, ff_iforce },
{ 0x05ef, 0x8884, "AVB Mag Turbo Force", btn_avb_wheel, abs_wheel, ff_iforce },
- { 0x05ef, 0x8888, "AVB Top Shot Force Feedback Racing Wheel", btn_avb_tw, abs_wheel, ff_iforce },
- { 0x06f8, 0x0001, "Guillemot Race Leader Force Feedback", btn_wheel, abs_wheel, ff_iforce },
- { 0x06f8, 0x0004, "Guillemot Force Feedback Racing Wheel", btn_wheel, abs_wheel, ff_iforce },
+ { 0x05ef, 0x8888, "AVB Top Shot Force Feedback Racing Wheel", btn_avb_tw, abs_wheel, ff_iforce }, //?
+ { 0x061c, 0xc0a4, "ACT LABS Force RS", btn_wheel, abs_wheel, ff_iforce }, //?
+ { 0x06f8, 0x0001, "Guillemot Race Leader Force Feedback", btn_wheel, abs_wheel, ff_iforce }, //?
+ { 0x06f8, 0x0004, "Guillemot Force Feedback Racing Wheel", btn_wheel, abs_wheel, ff_iforce }, //?
{ 0x0000, 0x0000, "Unknown I-Force Device [%04x:%04x]", btn_joystick, abs_joystick, ff_iforce }
};
@@ -213,8 +214,6 @@
* Erases an effect: it frees the effect id and mark as unused the memory
* allocated for the parameters
*/
-/*FIXME: stop effect before erasing */
-/*TODO: use CHECK_OWNERSHIP */
static int iforce_erase_effect(struct input_dev *dev, int effect_id)
{
struct iforce* iforce = (struct iforce*)(dev->private);
@@ -223,7 +222,7 @@
/* Check who is trying to erase this effect */
if (iforce->core_effects[effect_id].owner != current->pid) {
- printk(KERN_WARNING "iforce.c: %d tried to erase an effect belonging to %d\n", current->pid, iforce->core_effects[effect_id].owner);
+ printk(KERN_WARNING "iforce-main.c: %d tried to erase an effect belonging to %d\n", current->pid, iforce->core_effects[effect_id].owner);
return -EACCES;
}
@@ -314,6 +313,7 @@
* was released */
if (iforce->usbdev == NULL) {
iforce_delete_device(iforce);
+ kfree(iforce);
}
break;
#endif
@@ -322,11 +322,18 @@
void iforce_delete_device(struct iforce *iforce)
{
+ switch (iforce->bus) {
#ifdef IFORCE_USB
- iforce_usb_delete(iforce);
+ case IFORCE_USB:
+ iforce_usb_delete(iforce);
+ break;
#endif
-
- kfree(iforce);
+#ifdef IFORCE_232
+ case IFORCE_232:
+ //TODO: Wait for the last packets to be sent
+ break;
+#endif
+ }
}
int iforce_init_device(struct iforce *iforce)
@@ -376,8 +383,7 @@
break;
if (i == 20) { /* 5 seconds */
- printk(KERN_ERR "iforce.c: Timeout waiting for response from device.\n");
- iforce_delete_device(iforce);
+ printk(KERN_ERR "iforce-main.c: Timeout waiting for response from device.\n");
return -1;
}
@@ -387,16 +393,27 @@
if (!iforce_get_id_packet(iforce, "M"))
iforce->dev.idvendor = (iforce->edata[2] << 8) | iforce->edata[1];
+ else
+ printk(KERN_WARNING "iforce-main.c: Device does not respond to id packet M\n");
+
if (!iforce_get_id_packet(iforce, "P"))
iforce->dev.idproduct = (iforce->edata[2] << 8) | iforce->edata[1];
+ else
+ printk(KERN_WARNING "iforce-main.c: Device does not respond to id packet P\n");
+
if (!iforce_get_id_packet(iforce, "B"))
iforce->device_memory.end = (iforce->edata[2] << 8) | iforce->edata[1];
+ else
+ printk(KERN_WARNING "iforce-main.c: Device does not respond to id packet B\n");
+
if (!iforce_get_id_packet(iforce, "N"))
iforce->dev.ff_effects_max = iforce->edata[1];
+ else
+ printk(KERN_WARNING "iforce-main.c: Device does not respond to id packet N\n");
/* Check if the device can store more effects than the driver can really handle */
if (iforce->dev.ff_effects_max > FF_EFFECTS_MAX) {
- printk(KERN_WARNING "input??: Device can handle %d effects, but N_EFFECTS_MAX is set to %d in iforce.c\n",
+ printk(KERN_WARNING "input??: Device can handle %d effects, but N_EFFECTS_MAX is set to %d in iforce.h\n",
iforce->dev.ff_effects_max, FF_EFFECTS_MAX);
iforce->dev.ff_effects_max = FF_EFFECTS_MAX;
}
@@ -437,9 +454,8 @@
for (i = 0; iforce->type->btn[i] >= 0; i++) {
signed short t = iforce->type->btn[i];
set_bit(t, iforce->dev.keybit);
- if (t != BTN_DEAD)
- set_bit(t, iforce->dev.ffbit);
}
+ set_bit(BTN_DEAD, iforce->dev.keybit);
for (i = 0; iforce->type->abs[i] >= 0; i++) {
@@ -469,6 +485,7 @@
break;
case ABS_RUDDER:
+
iforce->dev.absmax[t] = 127;
iforce->dev.absmin[t] = -128;
break;
|
|
From: James S. <jsi...@us...> - 2002-06-04 19:45:39
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc64
In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/arch/ppc64
Modified Files:
config.in
Log Message:
Synced to 2.5.20.
Index: config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/config.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- config.in 3 May 2002 22:16:46 -0000 1.5
+++ config.in 4 Jun 2002 19:45:05 -0000 1.6
@@ -5,7 +5,6 @@
define_bool CONFIG_UID16 n
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK n
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y
-define_bool CONFIG_GENERIC_BUST_SPINLOCK n
define_bool CONFIG_GENERIC_ISA_DMA y
define_bool CONFIG_HAVE_DEC_LOCK y
@@ -30,8 +29,6 @@
if [ "$CONFIG_PPC_ISERIES" = "y" ]; then
define_bool CONFIG_MSCHUNKS y
-else
-bool 'MsChunks Physical to Absolute address translation support' CONFIG_MSCHUNKS
fi
endmenu
@@ -70,6 +67,11 @@
if [ "$CONFIG_PPC_ISERIES" != "y" ]; then
bool 'Support for Open Firmware device tree in /proc' CONFIG_PROC_DEVICETREE
+
+ bool 'Default bootloader kernel arguments' CONFIG_CMDLINE_BOOL
+ if [ "$CONFIG_CMDLINE_BOOL" = "y" ] ; then
+ string 'Initial kernel command string' CONFIG_CMDLINE "console=ttyS0,9600 console=tty0 root=/dev/sda2"
+ fi
fi
endmenu
@@ -103,8 +105,12 @@
fi
endmenu
+source drivers/message/fusion/Config.in
+
source drivers/ieee1394/Config.in
+source drivers/message/i2o/Config.in
+
if [ "$CONFIG_NET" = "y" ]; then
mainmenu_option next_comment
comment 'Network device support'
@@ -178,6 +184,9 @@
fi
source drivers/char/Config.in
+
+source drivers/media/Config.in
+
source fs/Config.in
mainmenu_option next_comment
@@ -191,13 +200,21 @@
source drivers/usb/Config.in
+source net/bluetooth/Config.in
+
mainmenu_option next_comment
comment 'Kernel hacking'
-bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
-bool 'Include kgdb kernel debugger' CONFIG_KGDB
-bool 'Include xmon kernel debugger' CONFIG_XMON
-bool 'Include PPCDBG realtime debugging' CONFIG_PPCDBG
+bool 'Kernel debugging' CONFIG_DEBUG_KERNEL
+if [ "$CONFIG_DEBUG_KERNEL" != "n" ]; then
+ bool ' Debug memory allocations' CONFIG_DEBUG_SLAB
+ bool ' Magic SysRq key' CONFIG_MAGIC_SYSRQ
+ bool ' Include xmon kernel debugger' CONFIG_XMON
+ if [ "$CONFIG_XMON" = "y" ]; then
+ bool ' Enable xmon by default' CONFIG_XMON_DEFAULT
+ fi
+ bool ' Include PPCDBG realtime debugging' CONFIG_PPCDBG
+fi
endmenu
source lib/Config.in
|
|
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook
In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/Documentation/DocBook
Modified Files:
Makefile kernel-api.tmpl
Log Message:
Synced to 2.5.20.
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/Makefile,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- Makefile 3 Jun 2002 22:44:55 -0000 1.13
+++ Makefile 4 Jun 2002 19:45:03 -0000 1.14
@@ -113,6 +113,9 @@
$(TOPDIR)/drivers/net/wan/syncppp.c \
$(TOPDIR)/drivers/net/wan/z85230.c \
$(TOPDIR)/drivers/usb/core/hcd.c \
+ $(TOPDIR)/drivers/usb/core/urb.c \
+ $(TOPDIR)/drivers/usb/core/message.c \
+ $(TOPDIR)/drivers/usb/core/config.c \
$(TOPDIR)/drivers/usb/core/usb.c \
$(TOPDIR)/drivers/video/fbmem.c \
$(TOPDIR)/drivers/video/fbcmap.c \
Index: kernel-api.tmpl
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/DocBook/kernel-api.tmpl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- kernel-api.tmpl 16 Apr 2002 17:41:46 -0000 1.7
+++ kernel-api.tmpl 4 Jun 2002 19:45:04 -0000 1.8
@@ -282,6 +282,9 @@
</sect1>
<sect1><title>USB Core APIs</title>
+!Edrivers/usb/core/urb.c
+!Edrivers/usb/core/config.c
+!Edrivers/usb/core/message.c
!Edrivers/usb/core/usb.c
</sect1>
|
|
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/arch/i386/kernel Modified Files: apm.c setup.c Log Message: Synced to 2.5.20. Index: apm.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/apm.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- apm.c 25 May 2002 20:31:58 -0000 1.5 +++ apm.c 4 Jun 2002 19:45:04 -0000 1.6 @@ -1792,7 +1792,7 @@ idle_threshold = simple_strtol(str + 15, NULL, 0); if ((strncmp(str, "idle-period=", 12) == 0) || (strncmp(str, "idle_period=", 12) == 0)) - idle_threshold = simple_strtol(str + 15, NULL, 0); + idle_period = simple_strtol(str + 12, NULL, 0); invert = (strncmp(str, "no-", 3) == 0) || (strncmp(str, "no_", 3) == 0); if (invert) Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/i386/kernel/setup.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- setup.c 3 Jun 2002 22:44:55 -0000 1.44 +++ setup.c 4 Jun 2002 19:45:05 -0000 1.45 @@ -912,17 +912,11 @@ paging_init(); #ifdef CONFIG_ACPI_BOOT /* - * Initialize the ACPI boot-time table parser (gets the RSDP and SDT). - * Must do this after paging_init (due to reliance on fixmap, and thus - * the bootmem allocator) but before get_smp_config (to allow parsing - * of MADT). + * Parse the ACPI tables for possible boot-time SMP configuration. */ acpi_boot_init(*cmdline_p); #endif #ifdef CONFIG_X86_LOCAL_APIC - /* - * get boot-time SMP configuration: - */ if (smp_found_config) get_smp_config(); #endif |
|
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/arch/arm/kernel
Modified Files:
setup.c
Log Message:
Synced to 2.5.20.
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/setup.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- setup.c 25 May 2002 20:31:58 -0000 1.12
+++ setup.c 4 Jun 2002 19:45:04 -0000 1.13
@@ -339,7 +339,7 @@
*cmdline_p = command_line;
}
-void __init
+static void __init
setup_ramdisk(int doload, int prompt, int image_start, unsigned int rd_sz)
{
#ifdef CONFIG_BLK_DEV_RAM
@@ -357,7 +357,7 @@
/*
* initial ram disk
*/
-void __init setup_initrd(unsigned int start, unsigned int size)
+static void __init setup_initrd(unsigned int start, unsigned int size)
{
#ifdef CONFIG_BLK_DEV_INITRD
if (start == 0)
|
|
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux Modified Files: Makefile Log Message: Synced to 2.5.20. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- Makefile 3 Jun 2002 22:44:55 -0000 1.61 +++ Makefile 4 Jun 2002 19:45:03 -0000 1.62 @@ -1,7 +1,23 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 19 +SUBLEVEL = 20 EXTRAVERSION = -ruby + +# We are using a recursive build, so we need to do a little thinking +# to get the ordering right. +# +# Most importantly: sub-Makefiles should only ever modify files in +# their own directory. If in some directory we have a dependency on +# a file in another dir (which doesn't happen often, but it's of +# unavoidable when linking the built-in.o targets which finally +# turn into vmlinux), we will call a sub make in that other dir, and +# after that we are sure that everything which is in that other dir +# is now up to date. +# +# The only cases where we need to modify files which have global +# effects are thus separated out and done before the recursive +# descending is started. They are now explicitly listed as the +# prepare rule. KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -62,13 +78,8 @@ ifeq (.config,$(wildcard .config)) include .config -ifeq (.hdepend,$(wildcard .hdepend)) do-it-all: vmlinux else -CONFIGURATION = depend -do-it-all: depend -endif -else CONFIGURATION = config do-it-all: config endif @@ -172,9 +183,16 @@ # Handle descending into subdirectories listed in $(SUBDIRS) .PHONY: $(SUBDIRS) -$(SUBDIRS): FORCE include/linux/version.h include/config/MARKER +$(SUBDIRS): prepare @$(MAKE) -C $@ +# Things we need done before we even start the actual build. +# The dependency on .hdepend will in turn take care of +# include/asm, include/linux/version etc. + +.PHONY: prepare +prepare: .hdepend include/config/MARKER + # Single targets # --------------------------------------------------------------------------- @@ -189,69 +207,70 @@ %.o: %.S FORCE @$(MAKE) -C $(@D) $(@F) -# Configuration -# --------------------------------------------------------------------------- - -oldconfig: symlinks - $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in - -xconfig: symlinks - @$(MAKE) -C scripts kconfig.tk - wish -f scripts/kconfig.tk - -menuconfig: include/linux/version.h symlinks - @$(MAKE) -C scripts/lxdialog all - $(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.in - -config: symlinks - $(CONFIG_SHELL) scripts/Configure arch/$(ARCH)/config.in - -# make asm->asm-$(ARCH) symlink +# FIXME: The asm symlink changes when $(ARCH) changes. That's +# hard to detect, but I suppose "make mrproper" is a good idea +# before switching between archs anyway. -symlinks: - rm -f include/asm - ( cd include ; ln -sf asm-$(ARCH) asm) - @if [ ! -d include/linux/modules ]; then \ - mkdir include/linux/modules; \ - fi +include/asm: + @echo 'Making asm->asm-$(ARCH) symlink' + @ln -s asm-$(ARCH) $@ + @echo 'Making directory include/linux/modules' + @mkdir include/linux/modules -# split autoconf.h into include/linux/config/* +# Split autoconf.h into include/linux/config/* include/config/MARKER: scripts/split-include include/linux/autoconf.h scripts/split-include include/linux/autoconf.h include/config @ touch include/config/MARKER # Generate some files +# --------------------------------------------------------------------------- -$(TOPDIR)/include/linux/version.h: include/linux/version.h +# version.h changes when $(KERNELRELEASE) etc change, as defined in +# this Makefile -include/linux/version.h: ./Makefile +include/linux/version.h: Makefile @echo Generating $@ @. scripts/mkversion_h $@ $(KERNELRELEASE) $(VERSION) $(PATCHLEVEL) $(SUBLEVEL) -# helpers built in scripts/ +# Helpers built in scripts/ +# --------------------------------------------------------------------------- scripts/mkdep scripts/split-include : FORCE @$(MAKE) -C scripts -# --------------------------------------------------------------------------- # Generate dependencies +# --------------------------------------------------------------------------- -depend dep: dep-files +# In the same pass, generate module versions, that's why it's +# all mixed up here. -dep-files: scripts/mkdep archdep include/linux/version.h - scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend +.PHONY: depend dep $(patsubst %,_sfdep_%,$(SUBDIRS)) + +depend dep: .hdepend + +# .hdepend is missing prerequisites - in fact dependencies need +# to be redone basically each time anything changed - since +# that's too expensive, we traditionally rely on the user to +# run "make dep" manually whenever necessary. In this case, +# we make "FORCE" a prequisite, to force redoing the +# dependencies. Yeah, that's ugly, and it'll go away soon. + +.hdepend: scripts/mkdep include/linux/version.h include/asm \ + $(if $(filter dep depend,$(MAKECMDGOALS)),FORCE) + scripts/mkdep -- `find $(FINDHPATH) -name SCCS -prune -o -follow -name \*.h ! -name modversions.h -print` > $@ @$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) ifdef CONFIG_MODVERSIONS - $(MAKE) update-modverfile + @$(MAKE) include/linux/modversions.h endif + @$(MAKE) archdep -.PHONY: $(patsubst %,_sfdep_%,$(SUBDIRS)) $(patsubst %,_sfdep_%,$(SUBDIRS)): FORCE @$(MAKE) -C $(patsubst _sfdep_%, %, $@) fastdep -# update modversions.h, but only if it would change -update-modverfile: +# Update modversions.h, but only if it would change. + +include/linux/modversions.h: FORCE @(echo "#ifndef _LINUX_MODVERSIONS_H";\ echo "#define _LINUX_MODVERSIONS_H"; \ echo "#include <linux/modsetver.h>"; \ @@ -260,13 +279,13 @@ if [ -f $$f ]; then echo "#include <linux/modules/$${f}>"; fi; \ done; \ echo "#endif"; \ - ) > $(TOPDIR)/include/linux/modversions.h.tmp - @if [ -r $(TOPDIR)/include/linux/modversions.h ] && cmp -s $(TOPDIR)/include/linux/modversions.h $(TOPDIR)/include/linux/modversions.h.tmp; then \ - echo $(TOPDIR)/include/linux/modversions.h was not updated; \ - rm -f $(TOPDIR)/include/linux/modversions.h.tmp; \ + ) > $@.tmp + @if [ -r $@ ] && cmp -s $@ $@.tmp; then \ + echo $@ was not updated; \ + rm -f $@.tmp; \ else \ - echo $(TOPDIR)/include/linux/modversions.h was updated; \ - mv -f $(TOPDIR)/include/linux/modversions.h.tmp $(TOPDIR)/include/linux/modversions.h; \ + echo $@ was updated; \ + mv -f $@.tmp $@; \ fi # --------------------------------------------------------------------------- @@ -277,7 +296,7 @@ # Build modules ifdef CONFIG_MODVERSIONS -MODFLAGS += -DMODVERSIONS -include $(HPATH)/linux/modversions.h +MODFLAGS += -include $(HPATH)/linux/modversions.h endif .PHONY: modules @@ -332,6 +351,90 @@ endif # CONFIG_MODULES +# Scripts to check various things for consistency +# --------------------------------------------------------------------------- + +checkconfig: + find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl + +checkhelp: + find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl + +checkincludes: + find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl + +# Generate tags for editors +# --------------------------------------------------------------------------- + +TAGS: FORCE + { find include/asm-${ARCH} -name '*.h' -print ; \ + find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \ + find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags - + +# Exuberant ctags works better with -I +tags: FORCE + CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ + ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \ + find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ + find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a + +# Assorted miscellaneous targets +# --------------------------------------------------------------------------- + +# Documentation targets + +sgmldocs psdocs pdfdocs htmldocs: + @$(MAKE) -C Documentation/DocBook $@ + + +# RPM target +# +# If you do a make spec before packing the tarball you can rpm -ta it + +spec: + . scripts/mkspec >kernel.spec + +# Build a tar ball, generate an rpm from it and pack the result +# There arw two bits of magic here +# 1) The use of /. to avoid tar packing just the symlink +# 2) Removing the .dep files as they have source paths in them that +# will become invalid + +rpm: clean spec + find . \( -size 0 -o -name .depend -o -name .hdepend \) -type f -print | xargs rm -f + set -e; \ + cd $(TOPDIR)/.. ; \ + ln -sf $(TOPDIR) $(KERNELPATH) ; \ + tar -cvz --exclude CVS -f $(KERNELPATH).tar.gz $(KERNELPATH)/. ; \ + rm $(KERNELPATH) ; \ + cd $(TOPDIR) ; \ + . scripts/mkversion > .version ; \ + rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ + rm $(TOPDIR)/../$(KERNELPATH).tar.gz + +# Targets which don't need .config +# =========================================================================== + +# Kernel configuration +# --------------------------------------------------------------------------- + +.PHONY: oldconfig xconfig menuconfig config + +oldconfig: + $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in + +xconfig: + @$(MAKE) -C scripts kconfig.tk + wish -f scripts/kconfig.tk + +menuconfig: + @$(MAKE) -C scripts/lxdialog all + $(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.in + +config: + $(CONFIG_SHELL) scripts/Configure arch/$(ARCH)/config.in + + # Cleaning up # --------------------------------------------------------------------------- @@ -409,80 +512,19 @@ -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f -print` TAGS tags -# Assorted miscellaneous targets -# --------------------------------------------------------------------------- - -# Documentation targets - -sgmldocs psdocs pdfdocs htmldocs: - @$(MAKE) -C Documentation/DocBook $@ - - -# RPM target -# -# If you do a make spec before packing the tarball you can rpm -ta it - -spec: - . scripts/mkspec >kernel.spec - -# Build a tar ball, generate an rpm from it and pack the result -# There arw two bits of magic here -# 1) The use of /. to avoid tar packing just the symlink -# 2) Removing the .dep files as they have source paths in them that -# will become invalid - -rpm: clean spec - find . \( -size 0 -o -name .depend -o -name .hdepend \) -type f -print | xargs rm -f - set -e; \ - cd $(TOPDIR)/.. ; \ - ln -sf $(TOPDIR) $(KERNELPATH) ; \ - tar -cvz --exclude CVS -f $(KERNELPATH).tar.gz $(KERNELPATH)/. ; \ - rm $(KERNELPATH) ; \ - cd $(TOPDIR) ; \ - . scripts/mkversion > .version ; \ - rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ - rm $(TOPDIR)/../$(KERNELPATH).tar.gz - -# Scripts to check various things for consistency - -checkconfig: - find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl - -checkhelp: - find * -name [cC]onfig.in -print | sort | xargs $(PERL) -w scripts/checkhelp.pl - -checkincludes: - find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl - -# Generate tags for editors - -TAGS: FORCE - { find include/asm-${ARCH} -name '*.h' -print ; \ - find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \ - find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags - - -# Exuberant ctags works better with -I -tags: FORCE - CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ - ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \ - find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ - find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a - -# Make a backup -# FIXME anybody still using this? - -backup: mrproper - cd .. && tar cf - linux/ | gzip -9 > backup.gz - sync +# FIXME Should go into a make.lib or something +# =========================================================================== -# Make checksums -# FIXME anybody still using this? +# read all saved command lines -sums: - find . -type f -print | sort | xargs sum > .SUMS +cmd_files := $(wildcard .*.cmd) +ifneq ($(cmd_files),) + include $(cmd_files) +endif -# FIXME Should go into a make.lib or something -# --------------------------------------------------------------------------- +# Usage: $(call if_changed_rule,foo) +# will check if $(cmd_foo) changed, or any of the prequisites changed, +# and if so will execute $(rule_foo) if_changed_rule = $(if $(strip $? \ $(filter-out $(cmd_$(1)),$(cmd_$(@F)))\ |
|
From: James S. <jsi...@us...> - 2002-06-04 19:45:38
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm
In directory usw-pr-cvs1:/tmp/cvs-serv29363/linux/arch/arm
Modified Files:
config.in
Log Message:
Synced to 2.5.20.
Index: config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/config.in,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- config.in 21 May 2002 04:06:05 -0000 1.26
+++ config.in 4 Jun 2002 19:45:04 -0000 1.27
@@ -63,11 +63,6 @@
dep_bool ' Brutus' CONFIG_SA1100_BRUTUS $CONFIG_ARCH_SA1100
dep_bool ' CerfBoard' CONFIG_SA1100_CERF $CONFIG_ARCH_SA1100
if [ "$CONFIG_SA1100_CERF" = "y" ]; then
- choice 'Cerf RAM available' \
- "8MB CONFIG_SA1100_CERF_8MB \
- 16MB CONFIG_SA1100_CERF_16MB \
- 32MB CONFIG_SA1100_CERF_32MB \
- 64MB CONFIG_SA1100_CERF_64MB" CerfRam
choice 'Cerf Flash available' \
"8MB CONFIG_SA1100_CERF_FLASH_8MB \
16MB CONFIG_SA1100_CERF_FLASH_16MB \
@@ -453,7 +448,9 @@
fi
comment 'At least one math emulation must be selected'
tristate 'NWFPE math emulation' CONFIG_FPE_NWFPE
-dep_tristate 'FastFPE math emulation (experimental)' CONFIG_FPE_FASTFPE $CONFIG_EXPERIMENTAL
+if [ "$CONFIG_CPU_26" = "n" -a "$CONFIG_CPU_32v3" = "n" ]; then
+ dep_tristate 'FastFPE math emulation (experimental)' CONFIG_FPE_FASTFPE $CONFIG_EXPERIMENTAL
+fi
choice 'Kernel core (/proc/kcore) format' \
"ELF CONFIG_KCORE_ELF \
A.OUT CONFIG_KCORE_AOUT" ELF
@@ -494,15 +491,10 @@
fi
fi
-if [ "$CONFIG_ARCH_SA1100" = "y" ]; then
+if [ "$CONFIG_CPU_32" = "y" ]; then
define_bool CONFIG_ALIGNMENT_TRAP y
else
- if [ "$CONFIG_CPU_32" = "y" -a \
- "$CONFIG_ARCH_EBSA110" != "y" ]; then
- bool 'Mis-alignment trap handler' CONFIG_ALIGNMENT_TRAP
- else
- define_bool CONFIG_ALIGNMENT_TRAP n
- fi
+ define_bool CONFIG_ALIGNMENT_TRAP n
fi
endmenu
@@ -510,6 +502,8 @@
if [ "$CONFIG_ALIGNMENT_TRAP" = "y" ]; then
source drivers/mtd/Config.in
+else
+ define_bool CONFIG_MTD n
fi
source drivers/pnp/Config.in
|