From: NIIBE Y. <gn...@m1...> - 2002-06-18 02:54:27
|
Changes from mainline included. 2002-06-18 NIIBE Yutaka <gn...@m1...> * include/asm-sh/pgtable-2level.h (pte_pfn, pfn_pte, pfn_pmd): Added. * AGAINST-2.5.19: New file. * AGAINST-2.5.18: Removed. * Makefile: Version 2.5.19. * arch/sh/kernel/Makefile, arch/sh/kernel/signal.c, arch/sh/stboards/Makefile, drivers/Makefile, drivers/block/rd.c, drivers/cdrom/Makefile, drivers/char/Makefile, drivers/video/hitfb.c, include/asm-sh/errno.h, include/asm-sh/ide.h, include/asm-sh/siginfo.h, init/do_mounts.c, mm/memory.c: Incorporate changes in 2.5.19. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.25 diff -u -3 -p -r1.25 Makefile --- Makefile 18 Jun 2002 02:17:13 -0000 1.25 +++ Makefile 18 Jun 2002 02:51:11 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 18 +SUBLEVEL = 19 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -110,57 +110,8 @@ NETWORKS =net/network.o LIBS =$(TOPDIR)/lib/lib.a SUBDIRS =init kernel lib drivers mm fs net ipc sound -DRIVERS-n := -DRIVERS-y := -DRIVERS-m := -DRIVERS- := - -DRIVERS-$(CONFIG_ACPI) += drivers/acpi/acpi.o -DRIVERS-$(CONFIG_PCI) += drivers/pci/driver.o -DRIVERS-$(CONFIG_PARPORT) += drivers/parport/driver.o -DRIVERS-y += drivers/base/base.o \ - drivers/char/char.o \ - drivers/block/block.o \ - drivers/misc/misc.o \ - drivers/net/net.o \ - drivers/media/media.o -DRIVERS-$(CONFIG_NUBUS) += drivers/nubus/built-in.o -DRIVERS-$(CONFIG_ATM) += drivers/atm/atm.o -DRIVERS-$(CONFIG_IDE) += drivers/ide/idedriver.o -DRIVERS-$(CONFIG_FC4) += drivers/fc4/built-in.o -DRIVERS-$(CONFIG_SCSI) += drivers/scsi/scsidrv.o -DRIVERS-$(CONFIG_FUSION) += drivers/message/message.o -DRIVERS-$(CONFIG_IEEE1394) += drivers/ieee1394/ieee1394drv.o - -ifneq ($(CONFIG_CD_NO_IDESCSI)$(CONFIG_BLK_DEV_IDECD)$(CONFIG_BLK_DEV_SR)$(CONFIG_PARIDE_PCD),) -DRIVERS-y += drivers/cdrom/driver.o -endif - +DRIVERS-y = drivers/built-in.o DRIVERS-$(CONFIG_SOUND) += sound/sound.o -DRIVERS-$(CONFIG_MTD) += drivers/mtd/mtdlink.o -DRIVERS-$(CONFIG_PCMCIA) += drivers/pcmcia/pcmcia.o -DRIVERS-$(CONFIG_DIO) += drivers/dio/built-in.o -DRIVERS-$(CONFIG_SBUS) += drivers/sbus/sbus_all.o -DRIVERS-$(CONFIG_ZORRO) += drivers/zorro/driver.o -DRIVERS-$(CONFIG_ALL_PPC) += drivers/macintosh/macintosh.o -DRIVERS-$(CONFIG_MAC) += drivers/macintosh/macintosh.o -DRIVERS-$(CONFIG_PNP) += drivers/pnp/pnp.o -DRIVERS-$(CONFIG_SGI_IP22) += drivers/sgi/built-in.o -DRIVERS-$(CONFIG_VT) += drivers/video/video.o -DRIVERS-$(CONFIG_PARIDE) += drivers/block/paride/built-in.o -DRIVERS-$(CONFIG_TC) += drivers/tc/built-in.o -DRIVERS-$(CONFIG_USB) += drivers/usb/usbdrv.o -DRIVERS-$(CONFIG_INPUT) += drivers/input/inputdrv.o -DRIVERS-$(CONFIG_GAMEPORT) += drivers/input/gameport/gamedrv.o -DRIVERS-$(CONFIG_SERIO) += drivers/input/serio/seriodrv.o -DRIVERS-$(CONFIG_I2O) += drivers/message/message.o -DRIVERS-$(CONFIG_I2C) += drivers/i2c/i2c.o -DRIVERS-$(CONFIG_PHONE) += drivers/telephony/telephony.o -DRIVERS-$(CONFIG_MD) += drivers/md/mddev.o -DRIVERS-$(CONFIG_BLUEZ) += drivers/bluetooth/bluetooth.o -DRIVERS-$(CONFIG_HOTPLUG_PCI) += drivers/hotplug/vmlinux-obj.o -DRIVERS-$(CONFIG_ISDN) += drivers/isdn/vmlinux-obj.o -DRIVERS-$(CONFIG_MAPLE) += drivers/maple/maplebus.o DRIVERS := $(DRIVERS-y) @@ -173,7 +124,7 @@ export NETWORKS DRIVERS LIBS HEAD LDFLAG # --------------------------------------------------------------------------- boot: vmlinux - @$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -C arch/$(ARCH)/boot + @$(MAKE) -C arch/$(ARCH)/boot # Build vmlinux # --------------------------------------------------------------------------- @@ -203,29 +154,40 @@ define rule_link_vmlinux echo Generating build number . scripts/mkversion > .tmpversion mv -f .tmpversion .version - $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -C init + $(MAKE) -C init echo $(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) dummy +vmlinux: $(CONFIGURATION) $(vmlinux-objs) FORCE $(call if_changed_rule,link_vmlinux) -# The actual objects are generated when descending, make sure -# no implicit rule kicks in +# The actual objects are generated when descending, +# make sure no implicit rule kicks in -$(sort $(vmlinux-objs)): linuxsubdirs - @ +$(sort $(vmlinux-objs)): $(SUBDIRS) ; # Handle descending into subdirectories listed in $(SUBDIRS) -.PHONY: linuxsubdirs -linuxsubdirs: $(patsubst %, _dir_%, $(SUBDIRS)) +.PHONY: $(SUBDIRS) +$(SUBDIRS): FORCE include/linux/version.h include/config/MARKER + @$(MAKE) -C $@ + +# Single targets +# --------------------------------------------------------------------------- -$(patsubst %, _dir_%, $(SUBDIRS)) : dummy include/linux/version.h include/config/MARKER - @$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -C $(patsubst _dir_%, %, $@) +%.s: %.c FORCE + @$(MAKE) -C $(@D) $(@F) +%.i: %.c FORCE + @$(MAKE) -C $(@D) $(@F) +%.o: %.c FORCE + @$(MAKE) -C $(@D) $(@F) +%.s: %.S FORCE + @$(MAKE) -C $(@D) $(@F) +%.o: %.S FORCE + @$(MAKE) -C $(@D) $(@F) # Configuration # --------------------------------------------------------------------------- @@ -267,7 +229,10 @@ include/linux/version.h: ./Makefile @echo Generating $@ @. scripts/mkversion_h $@ $(KERNELRELEASE) $(VERSION) $(PATCHLEVEL) $(SUBLEVEL) -comma := , +# helpers built in scripts/ + +scripts/mkdep scripts/split-include : FORCE + @$(MAKE) -C scripts # --------------------------------------------------------------------------- # Generate dependencies @@ -276,11 +241,34 @@ depend dep: dep-files 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 - $(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) _FASTDEP_ALL_SUB_DIRS="$(SUBDIRS)" + @$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) ifdef CONFIG_MODVERSIONS $(MAKE) update-modverfile endif +.PHONY: $(patsubst %,_sfdep_%,$(SUBDIRS)) +$(patsubst %,_sfdep_%,$(SUBDIRS)): FORCE + @$(MAKE) -C $(patsubst _sfdep_%, %, $@) fastdep + +# update modversions.h, but only if it would change +update-modverfile: + @(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"; \ + ) > $(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; \ + else \ + echo $(TOPDIR)/include/linux/modversions.h was updated; \ + mv -f $(TOPDIR)/include/linux/modversions.h.tmp $(TOPDIR)/include/linux/modversions.h; \ + fi + # --------------------------------------------------------------------------- # Modules @@ -297,7 +285,7 @@ modules: $(patsubst %, _mod_%, $(SUBDIRS .PHONY: $(patsubst %, _mod_%, $(SUBDIRS)) $(patsubst %, _mod_%, $(SUBDIRS)) : include/linux/version.h include/config/MARKER - @$(MAKE) -C $(patsubst _mod_%, %, $@) CFLAGS="$(CFLAGS) $(CFLAGS_MODULE)" AFLAGS="$(AFLAGS) $(AFLAGS_MODULE)" modules + @$(MAKE) -C $(patsubst _mod_%, %, $@) modules # Install modules @@ -334,7 +322,7 @@ else # CONFIG_MODULES # --------------------------------------------------------------------------- # Modules not configured -modules modules_install: dummy +modules modules_install: FORCE @echo @echo "The present kernel configuration has modules disabled." @echo "Type 'make config' and enable loadable module support." @@ -344,19 +332,6 @@ modules modules_install: dummy endif # CONFIG_MODULES -# --------------------------------------------------------------------------- - -include Rules.make - -# Build helpers in scripts/ -# FIXME: do that in scripts/Makefile? - -scripts/mkdep: scripts/mkdep.c - $(HOSTCC) $(HOSTCFLAGS) -o scripts/mkdep scripts/mkdep.c - -scripts/split-include: scripts/split-include.c - $(HOSTCC) $(HOSTCFLAGS) -o scripts/split-include scripts/split-include.c - # Cleaning up # --------------------------------------------------------------------------- @@ -481,25 +456,18 @@ checkincludes: # Generate tags for editors -TAGS: dummy +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: dummy +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 -# Targets which will only descend into one subdir, not trying -# to link vmlinux afterwards -# FIXME: anybody still using this? - -fs lib mm ipc kernel drivers net sound: dummy - $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" $(subst $@, _dir_$@, $@) - # Make a backup # FIXME anybody still using this? @@ -521,3 +489,4 @@ if_changed_rule = $(if $(strip $? \ $(filter-out $(cmd_$(@F)),$(cmd_$(1)))),\ @$(rule_$(1))) +FORCE: Index: arch/sh/kernel/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/Makefile,v retrieving revision 1.3 diff -u -3 -p -r1.3 Makefile --- arch/sh/kernel/Makefile 18 Jun 2002 02:17:17 -0000 1.3 +++ arch/sh/kernel/Makefile 18 Jun 2002 02:51:11 -0000 @@ -1,16 +1,9 @@ # # Makefile for the Linux/SuperH kernel. # -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here -# unless it's something special (ie not a .c file). -# -all: kernel.o head.o init_task.o - -clean: - -O_TARGET := kernel.o +O_TARGET := kernel.o +EXTRA_TARGETS := head.o init_task.o export-objs := io.o io_generic.o io_hd64461.o setup_hd64461.o sh_ksyms.o Index: arch/sh/kernel/signal.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/signal.c,v retrieving revision 1.11 diff -u -3 -p -r1.11 signal.c --- arch/sh/kernel/signal.c 18 Jun 2002 02:17:17 -0000 1.11 +++ arch/sh/kernel/signal.c 18 Jun 2002 02:51:11 -0000 @@ -37,41 +37,6 @@ asmlinkage int do_signal(struct pt_regs *regs, sigset_t *oldset); -int copy_siginfo_to_user(siginfo_t *to, siginfo_t *from) -{ - if (!access_ok (VERIFY_WRITE, to, sizeof(siginfo_t))) - return -EFAULT; - if (from->si_code < 0) - return __copy_to_user(to, from, sizeof(siginfo_t)); - else { - int err; - - /* If you change siginfo_t structure, please be sure - this code is fixed accordingly. - It should never copy any pad contained in the structure - to avoid security leaks, but must copy the generic - 3 ints plus the relevant union member. */ - err = __put_user(from->si_signo, &to->si_signo); - err |= __put_user(from->si_errno, &to->si_errno); - err |= __put_user((short)from->si_code, &to->si_code); - /* First 32bits of unions are always present. */ - err |= __put_user(from->si_pid, &to->si_pid); - switch (from->si_code >> 16) { - case __SI_FAULT >> 16: - break; - case __SI_CHLD >> 16: - err |= __put_user(from->si_utime, &to->si_utime); - err |= __put_user(from->si_stime, &to->si_stime); - err |= __put_user(from->si_status, &to->si_status); - default: - err |= __put_user(from->si_uid, &to->si_uid); - break; - /* case __SI_RT: This is not generated by the kernel as of now. */ - } - return err; - } -} - /* * Atomically swap in the new signal mask, and wait for a signal. */ @@ -518,9 +483,11 @@ give_sigsegv: */ static void -handle_signal(unsigned long sig, struct k_sigaction *ka, - siginfo_t *info, sigset_t *oldset, struct pt_regs * regs) +handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, + struct pt_regs * regs) { + struct k_sigaction *ka = ¤t->sig->action[sig-1]; + /* Are we from a system call? */ if (regs->tra >= 0) { /* If so, check system call restarting.. */ @@ -570,7 +537,7 @@ handle_signal(unsigned long sig, struct int do_signal(struct pt_regs *regs, sigset_t *oldset) { siginfo_t info; - struct k_sigaction *ka; + int signr; /* * We want the common case to go fast, which @@ -589,97 +556,10 @@ int do_signal(struct pt_regs *regs, sigs if (!oldset) oldset = ¤t->blocked; - for (;;) { - unsigned long signr; - - spin_lock_irq(¤t->sigmask_lock); - signr = dequeue_signal(¤t->blocked, &info); - spin_unlock_irq(¤t->sigmask_lock); - - if (!signr) - break; - - if ((current->ptrace & PT_PTRACED) && signr != SIGKILL) { - /* Let the debugger run. */ - current->exit_code = signr; - current->state = TASK_STOPPED; - notify_parent(current, SIGCHLD); - schedule(); - - /* We're back. Did the debugger cancel the sig? */ - if (!(signr = current->exit_code)) - continue; - current->exit_code = 0; - - /* The debugger continued. Ignore SIGSTOP. */ - if (signr == SIGSTOP) - continue; - - /* Update the siginfo structure. Is this good? */ - if (signr != info.si_signo) { - info.si_signo = signr; - info.si_errno = 0; - info.si_code = SI_USER; - info.si_pid = current->parent->pid; - info.si_uid = current->parent->uid; - } - - /* If the (new) signal is now blocked, requeue it. */ - if (sigismember(¤t->blocked, signr)) { - send_sig_info(signr, &info, current); - continue; - } - } - - ka = ¤t->sig->action[signr-1]; - if (ka->sa.sa_handler == SIG_IGN) { - if (signr != SIGCHLD) - continue; - /* Check for SIGCHLD: it's special. */ - while (sys_wait4(-1, NULL, WNOHANG, NULL) > 0) - /* nothing */; - continue; - } - - if (ka->sa.sa_handler == SIG_DFL) { - int exit_code = signr; - - /* Init gets no signals it doesn't want. */ - if (current->pid == 1) - continue; - - switch (signr) { - case SIGCONT: case SIGCHLD: case SIGWINCH: case SIGURG: - continue; - - case SIGTSTP: case SIGTTIN: case SIGTTOU: - if (is_orphaned_pgrp(current->pgrp)) - continue; - /* FALLTHRU */ - - case SIGSTOP: - current->state = TASK_STOPPED; - current->exit_code = signr; - if (!(current->parent->sig->action[SIGCHLD-1].sa.sa_flags & SA_NOCLDSTOP)) - notify_parent(current, SIGCHLD); - schedule(); - continue; - - case SIGQUIT: case SIGILL: case SIGTRAP: - case SIGABRT: case SIGFPE: case SIGSEGV: - case SIGBUS: case SIGSYS: case SIGXCPU: case SIGXFSZ: - if (do_coredump(signr, regs)) - exit_code |= 0x80; - /* FALLTHRU */ - - default: - sig_exit(signr, exit_code, &info); - /* NOTREACHED */ - } - } - + signr = get_signal_to_deliver(&info, regs); + if (signr > 0) { /* Whee! Actually deliver the signal. */ - handle_signal(signr, ka, &info, oldset, regs); + handle_signal(signr, &info, oldset, regs); return 1; } Index: arch/sh/stboards/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/stboards/Makefile,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 Makefile --- arch/sh/stboards/Makefile 15 Oct 2001 20:44:56 -0000 1.1.1.1 +++ arch/sh/stboards/Makefile 18 Jun 2002 02:51:11 -0000 @@ -1,15 +1,9 @@ # # Makefile for STMicroelectronics board specific parts of the kernel # -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here -# unless it's something special (ie not a .c file). -# -all: stboards.o O_TARGET := stboards.o -obj-y := irq.o setup.o mach.o led.o -clean: +obj-y := irq.o setup.o mach.o led.o include $(TOPDIR)/Rules.make Index: drivers/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/Makefile,v retrieving revision 1.8 diff -u -3 -p -r1.8 Makefile --- drivers/Makefile 23 May 2002 01:31:04 -0000 1.8 +++ drivers/Makefile 18 Jun 2002 02:51:11 -0000 @@ -9,45 +9,45 @@ mod-subdirs := dio mtd sbus video macintosh usb input telephony sgi ide \ message scsi md ieee1394 pnp isdn atm \ fc4 i2c acpi bluetooth input/serio \ - input/gameport parport hotplug maple + input/gameport parport hotplug \ + base char block misc net media cdrom maple -subdir-y := base char block net misc media cdrom -subdir-m := $(subdir-y) - -subdir-$(CONFIG_PARPORT) += parport -subdir-$(CONFIG_HOTPLUG_PCI) += hotplug -subdir-$(CONFIG_DIO) += dio -subdir-$(CONFIG_PCI) += pci -subdir-$(CONFIG_PCMCIA) += pcmcia -subdir-$(CONFIG_MTD) += mtd -subdir-$(CONFIG_SBUS) += sbus -subdir-$(CONFIG_ZORRO) += zorro -subdir-$(CONFIG_NUBUS) += nubus -subdir-$(CONFIG_TC) += tc -subdir-$(CONFIG_VT) += video -subdir-$(CONFIG_MAC) += macintosh -subdir-$(CONFIG_ALL_PPC) += macintosh -subdir-$(CONFIG_USB) += usb -subdir-$(CONFIG_INPUT) += input -subdir-$(CONFIG_SERIO) += input/serio -subdir-$(CONFIG_GAMEPORT) += input/gameport -subdir-$(CONFIG_PHONE) += telephony -subdir-$(CONFIG_SGI) += sgi -subdir-$(CONFIG_IDE) += ide -subdir-$(CONFIG_SCSI) += scsi -subdir-$(CONFIG_I2O) += message -subdir-$(CONFIG_FUSION) += message -subdir-$(CONFIG_MD) += md -subdir-$(CONFIG_IEEE1394) += ieee1394 -subdir-$(CONFIG_PNP) += pnp -subdir-$(CONFIG_ISDN) += isdn -subdir-$(CONFIG_ATM) += atm -subdir-$(CONFIG_FC4) += fc4 -subdir-$(CONFIG_I2C) += i2c -subdir-$(CONFIG_ACPI) += acpi - -subdir-$(CONFIG_BLUEZ) += bluetooth -subdir-$(CONFIG_MAPLE) += maple +obj-$(CONFIG_PCI) += pci/ +obj-$(CONFIG_ACPI) += acpi/ +obj-$(CONFIG_PARPORT) += parport/ +obj-y += base/ char/ block/ misc/ net/ media/ +obj-$(CONFIG_NUBUS) += nubus/ +obj-$(CONFIG_ATM) += atm/ +obj-$(CONFIG_IDE) += ide/ +obj-$(CONFIG_FC4) += fc4/ +obj-$(CONFIG_SCSI) += scsi/ +obj-$(CONFIG_FUSION) += message/ +obj-$(CONFIG_IEEE1394) += ieee1394/ +obj-y += cdrom/ +obj-$(CONFIG_MTD) += mtd/ +obj-$(CONFIG_PCMCIA) += pcmcia/ +obj-$(CONFIG_DIO) += dio/ +obj-$(CONFIG_SBUS) += sbus/ +obj-$(CONFIG_ZORRO) += zorro/ +obj-$(CONFIG_ALL_PPC) += macintosh/ +obj-$(CONFIG_MAC) += macintosh/ +obj-$(CONFIG_PNP) += pnp/ +obj-$(CONFIG_SGI) += sgi/ +obj-$(CONFIG_VT) += video/ +obj-$(CONFIG_PARIDE) += block/paride/ +obj-$(CONFIG_TC) += tc/ +obj-$(CONFIG_USB) += usb/ +obj-$(CONFIG_INPUT) += input/ +obj-$(CONFIG_GAMEPORT) += input/gameport/ +obj-$(CONFIG_SERIO) += input/serio/ +obj-$(CONFIG_I2O) += message/ +obj-$(CONFIG_I2C) += i2c/ +obj-$(CONFIG_PHONE) += telephony/ +obj-$(CONFIG_MD) += md/ +obj-$(CONFIG_BLUEZ) += bluetooth/ +obj-$(CONFIG_HOTPLUG_PCI) += hotplug/ +obj-$(CONFIG_ISDN) += isdn/ +obu-$(CONFIG_MAPLE) += maple/ include $(TOPDIR)/Rules.make Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.13 diff -u -3 -p -r1.13 rd.c --- drivers/block/rd.c 18 Jun 2002 02:17:18 -0000 1.13 +++ drivers/block/rd.c 18 Jun 2002 02:51:11 -0000 @@ -379,6 +379,7 @@ static int rd_open(struct inode * inode, rd_bdev[unit]->bd_openers++; rd_bdev[unit]->bd_block_size = rd_blocksize; rd_bdev[unit]->bd_inode->i_mapping->a_ops = &ramdisk_aops; + rd_bdev[unit]->bd_queue = &blk_dev[MAJOR_NR].request_queue; } return 0; Index: drivers/cdrom/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/cdrom/Makefile,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 Makefile --- drivers/cdrom/Makefile 15 Oct 2001 20:44:57 -0000 1.1.1.1 +++ drivers/cdrom/Makefile 18 Jun 2002 02:51:11 -0000 @@ -3,9 +3,6 @@ # 30 Jan 1998, Michael Elizabeth Chastain, <mailto:me...@sh...> # Rewritten to use lists instead of if-statements. -O_TARGET := driver.o - - # All of the (potential) objects that export symbols. # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'. Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.9 diff -u -3 -p -r1.9 Makefile --- drivers/char/Makefile 18 Jun 2002 02:17:18 -0000 1.9 +++ drivers/char/Makefile 18 Jun 2002 02:51:11 -0000 @@ -7,8 +7,6 @@ # FONTMAPFILE = cp437.uni -O_TARGET := char.o - obj-y += mem.o tty_io.o n_tty.o tty_ioctl.o raw.o pty.o misc.o random.o # All of the (potential) objects that export symbols. Index: drivers/video/hitfb.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/video/hitfb.c,v retrieving revision 1.3 diff -u -3 -p -r1.3 hitfb.c --- drivers/video/hitfb.c 1 May 2002 01:10:47 -0000 1.3 +++ drivers/video/hitfb.c 18 Jun 2002 02:51:11 -0000 @@ -21,6 +21,7 @@ #include <linux/delay.h> #include <linux/nubus.h> #include <linux/init.h> +#include <linux/fb.h> #include <asm/machvec.h> #include <asm/uaccess.h> @@ -28,347 +29,165 @@ #include <asm/io.h> #include <asm/hd64461.h> -#include <linux/fb.h> - #include <video/fbcon.h> -#include <video/fbcon-cfb8.h> -#include <video/fbcon-cfb16.h> - -struct hitfb_par -{ - int x, y; - int bpp; +static struct fb_var_screeninfo hitfb_var __initdata = { + activate: FB_ACTIVATE_NOW, + height: -1, + width: -1, + vmode: FB_VMODE_NONINTERLACED, }; - -struct hitfb_info { - struct fb_info_gen gen; - struct display disp; - struct hitfb_par current_par; - struct fb_var_screeninfo default_var; - int current_par_valid; - unsigned long hit_videobase, hit_videosize; - union { -#ifdef FBCON_HAS_CFB16 - u16 cfb16[16]; -#endif - } fbcon_cmap; -} fb_info = { - {}, - {}, - {}, - {}, - 0, 0, 0, - {}, +static struct fb_fix_screeninfo hitfb_fix __initdata = { + id: "Hitachi HD64461", + type: FB_TYPE_PACKED_PIXELS, + visual: FB_VISUAL_TRUECOLOR, + accel_flags: FB_ACCEL_NONE, }; - -static void hitfb_set_par(const void *fb_par, struct fb_info_gen *info); -static int hitfb_encode_var(struct fb_var_screeninfo *var, const void *fb_par, - struct fb_info_gen *info); - - -static void hitfb_detect(void) -{ - struct hitfb_par par; - unsigned short lcdclor, ldr3, ldvntr; - - fb_info.hit_videobase = CONFIG_HD64461_IOBASE + 0x02000000; - fb_info.hit_videosize = (MACH_HP680 || MACH_HP690) ? 1024*1024 : 512*1024; - - lcdclor = inw(HD64461_LCDCLOR); - ldvntr = inw(HD64461_LDVNTR); - ldr3 = inw(HD64461_LDR3); - - switch(ldr3&15) { - default: - case 4: - par.bpp = 8; - par.x = lcdclor; - break; - case 8: - par.bpp = 16; - par.x = lcdclor/2; - break; - } - - par.y = ldvntr+1; - - hitfb_set_par(&par, NULL); - hitfb_encode_var(&fb_info.default_var, &par, NULL); -} - - -static int hitfb_encode_fix(struct fb_fix_screeninfo *fix, const void *fb_par, - struct fb_info_gen *info) -{ - const struct hitfb_par *par = fb_par; - - memset(fix, 0, sizeof(struct fb_fix_screeninfo)); - - strcpy(fix->id, "Hitachi HD64461"); - fix->smem_start = fb_info.hit_videobase; - fix->smem_len = fb_info.hit_videosize; - fix->type = FB_TYPE_PACKED_PIXELS; - fix->type_aux = 0; - fix->visual = (par->bpp == 8) ? - FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR; - fix->xpanstep = 0; - fix->ypanstep = 0; - fix->ywrapstep = 0; - - switch(par->bpp) { - default: - case 8: - fix->line_length = par->x; - break; - case 16: - fix->line_length = par->x*2; - break; - } - - return 0; -} - - -static int hitfb_decode_var(const struct fb_var_screeninfo *var, void *fb_par, - struct fb_info_gen *info) -{ - struct hitfb_par *par = fb_par; - - par->x = var->xres; - par->y = var->yres; - par->bpp = var->bits_per_pixel; - return 0; -} - - -static int hitfb_encode_var(struct fb_var_screeninfo *var, const void *fb_par, - struct fb_info_gen *info) -{ - const struct hitfb_par *par = fb_par; - - memset(var, 0, sizeof(*var)); - - var->xres = par->x; - var->yres = par->y; - var->xres_virtual = var->xres; - var->yres_virtual = var->yres; - var->xoffset = 0; - var->yoffset = 0; - var->bits_per_pixel = par->bpp; - var->grayscale = 0; - var->transp.offset = 0; - var->transp.length = 0; - var->transp.msb_right = 0; - var->nonstd = 0; - var->activate = 0; - var->height = -1; - var->width = -1; - var->vmode = FB_VMODE_NONINTERLACED; - var->pixclock = 0; - var->sync = 0; - var->left_margin = 0; - var->right_margin = 0; - var->upper_margin = 0; - var->lower_margin = 0; - var->hsync_len = 0; - var->vsync_len = 0; - - switch (var->bits_per_pixel) { - - case 8: - var->red.offset = 0; - var->red.length = 8; - var->green.offset = 0; - var->green.length = 8; - var->blue.offset = 0; - var->blue.length = 8; - var->transp.offset = 0; - var->transp.length = 0; - break; - - case 16: /* RGB 565 */ - var->red.offset = 11; - var->red.length = 5; - var->green.offset = 5; - var->green.length = 6; - var->blue.offset = 0; - var->blue.length = 5; - var->transp.offset = 0; - var->transp.length = 0; - break; - } - - var->red.msb_right = 0; - var->green.msb_right = 0; - var->blue.msb_right = 0; - var->transp.msb_right = 0; - - return 0; -} - - -static void hitfb_get_par(void *par, struct fb_info_gen *info) -{ - *(struct hitfb_par *)par = fb_info.current_par; -} - - -static void hitfb_set_par(const void *fb_par, struct fb_info_gen *info) -{ - const struct hitfb_par *par = fb_par; - fb_info.current_par = *par; - fb_info.current_par_valid = 1; +static u16 pseudo_palette[17]; +static struct display display; +struct fb_info fb_info; + +static int hitfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) +{ + var->xres_virtual = var->xres; + var->yres_virtual = var->yres; + + switch (var->bits_per_pixel) { + case 8: + var->red.offset = 0; + var->red.length = 8; + var->green.offset = 0; + var->green.length = 8; + var->blue.offset = 0; + var->blue.length = 8; + var->transp.offset = 0; + var->transp.length = 0; + break; + case 16: /* RGB 565 */ + var->red.offset = 11; + var->red.length = 5; + var->green.offset = 5; + var->green.length = 6; + var->blue.offset = 0; + var->blue.length = 5; + var->transp.offset = 0; + var->transp.length = 0; + break; + } + return 0; } - -static int hitfb_getcolreg(unsigned regno, unsigned *red, unsigned *green, - unsigned *blue, unsigned *transp, - struct fb_info *info) +static int hitfb_set_par(struct fb_info *info) { - if (regno > 255) - return 1; + info->fix.visual = (info->var.bits_per_pixel == 8) ? + FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR; - outw(regno<<8, HD64461_CPTRAR); - *red = inw(HD64461_CPTRDR)<<10; - *green = inw(HD64461_CPTRDR)<<10; - *blue = inw(HD64461_CPTRDR)<<10; - *transp = 0; - - return 0; + switch(info->var.bits_per_pixel) { + default: + case 8: + info->fix.line_length = info->var.xres; + break; + case 16: + info->fix.line_length = info->var.xres*2; + break; + } + return 0; } - static int hitfb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue, unsigned transp, struct fb_info *info) { - if (regno > 255) - return 1; + if (regno > 255) + return 1; - outw(regno<<8, HD64461_CPTWAR); - outw(red>>10, HD64461_CPTWDR); - outw(green>>10, HD64461_CPTWDR); - outw(blue>>10, HD64461_CPTWDR); + outw(regno << 8, HD64461_CPTWAR); + outw(red >> 10, HD64461_CPTWDR); + outw(green >> 10, HD64461_CPTWDR); + outw(blue >> 10, HD64461_CPTWDR); - if(regno<16) { - switch(fb_info.current_par.bpp) { + if (regno < 16) { + switch(info->var.bits_per_pixel) { #ifdef FBCON_HAS_CFB16 - case 16: - fb_info.fbcon_cmap.cfb16[regno] = - ((red & 0xf800) ) | - ((green & 0xfc00) >> 5) | - ((blue & 0xf800) >> 11); - break; + case 16: + ((u16 *)(info->pseudo_palette))[regno] = + ((red & 0xf800) ) | + ((green & 0xfc00) >> 5) | + ((blue & 0xf800) >> 11); + break; #endif + } } - } - - return 0; + return 0; } - -static int hitfb_pan_display(const struct fb_var_screeninfo *var, - struct fb_info_gen *info) -{ - if (!fb_info.current_par_valid) - return -EINVAL; - - return 0; -} - - -static int hitfb_blank(int blank_mode, struct fb_info_gen *info) -{ - if (!fb_info.current_par_valid) - return 1; - - return 0; -} - - -static void hitfb_set_disp(const void *fb_par, struct display *disp, - struct fb_info_gen *info) -{ - const struct hitfb_par *par = fb_par; - - disp->scrollmode = SCROLL_YREDRAW; - - switch(((struct hitfb_par *)par)->bpp) { -#ifdef FBCON_HAS_CFB8 - case 8: - disp->dispsw = &fbcon_cfb8; - break; -#endif -#ifdef FBCON_HAS_CFB16 - case 16: - disp->dispsw = &fbcon_cfb16; - disp->dispsw_data = fb_info.fbcon_cmap.cfb16; - break; -#endif - default: - disp->dispsw = &fbcon_dummy; - } -} - - -struct fbgen_hwswitch hitfb_switch = { - hitfb_detect, - hitfb_encode_fix, - hitfb_decode_var, - hitfb_encode_var, - hitfb_get_par, - hitfb_set_par, - hitfb_getcolreg, - hitfb_pan_display, - hitfb_blank, - hitfb_set_disp -}; - - static struct fb_ops hitfb_ops = { - owner: THIS_MODULE, - fb_get_fix: fbgen_get_fix, - fb_get_var: fbgen_get_var, - fb_set_var: fbgen_set_var, - fb_get_cmap: fbgen_get_cmap, - fb_set_cmap: fbgen_set_cmap, - fb_setcolreg: hitfb_setcolreg, - fb_pan_display: fbgen_pan_display, - fb_blank: fbgen_blank, + owner: THIS_MODULE, + fb_get_fix: gen_get_fix, + fb_get_var: gen_get_var, + fb_set_var: gen_set_var, + fb_get_cmap: gen_get_cmap, + fb_set_cmap: gen_set_cmap, + fb_check_var: hitfb_check_var, + fb_set_par: hitfb_set_par, + fb_setcolreg: hitfb_setcolreg, + fb_fillrect: cfb_fillrect, + fb_copyarea: cfb_copyarea, + fb_imageblit: cfb_imageblit, }; - int __init hitfb_init(void) { - strcpy(fb_info.gen.info.modename, "Hitachi HD64461"); - fb_info.gen.info.node = NODEV; - fb_info.gen.info.flags = FBINFO_FLAG_DEFAULT; - fb_info.gen.info.fbops = &hitfb_ops; - fb_info.gen.info.disp = &fb_info.disp; - fb_info.gen.info.currcon = 1; - fb_info.gen.info.changevar = NULL; - fb_info.gen.info.switch_con = &fbgen_switch; - fb_info.gen.info.updatevar = &fbgen_update_var; - fb_info.gen.parsize = sizeof(struct hitfb_par); - fb_info.gen.fbhw = &hitfb_switch; - fb_info.gen.fbhw->detect(); - fb_info.screen_base = (void *)fb_info.hit_videobase; - - fbgen_get_var(&fb_info.disp.var, -1, &fb_info.gen.info); - fb_info.disp.var.activate = FB_ACTIVATE_NOW; - fbgen_do_set_var(&fb_info.disp.var, 1, &fb_info.gen); - fbgen_set_disp(-1, &fb_info.gen); - do_install_cmap(0, &fb_info.gen); - - if(register_framebuffer(&fb_info.gen.info)<0) return -EINVAL; - - printk(KERN_INFO "fb%d: %s frame buffer device\n", - GET_FB_IDX(fb_info.gen.info.node), fb_info.gen.info.modename); - - return 0; + unsigned short lcdclor, ldr3, ldvntr; + + hitfb_fix.smem_start = CONFIG_HD64461_IOBASE + 0x02000000; + hitfb_fix.smem_len = (MACH_HP680 || MACH_HP690) ? 1024*1024 : 512*1024; + + lcdclor = inw(HD64461_LCDCLOR); + ldvntr = inw(HD64461_LDVNTR); + ldr3 = inw(HD64461_LDR3); + + switch (ldr3&15) { + default: + case 4: + hitfb_var.bits_per_pixel = 8; + hitfb_var.xres = lcdclor; + break; + case 8: + hitfb_var.bits_per_pixel = 16; + hitfb_var.xres = lcdclor/2; + break; + } + hitfb_var.yres = ldvntr+1; + + fb_info.node = NODEV; + fb_info.fbops = &hitfb_ops; + fb_info.var = hitfb_var; + fb_info.fix = hitfb_fix; + fb_info.pseudo_palette = pseudo_palette; + fb_info.flags = FBINFO_FLAG_DEFAULT; + + strcpy(fb_info.modename, fb_info.fix.id); + fb_info.currcon = -1; + fb_info.disp = &display; + fb_info.changevar = NULL; + fb_info.switch_con = gen_switch; + fb_info.updatevar = gen_update_var; + fb_info.screen_base = (void *) hitfb_fix.smem_start; + + size = (fb_info.var.bits_per_pixel == 8) ? 256 : 16; + fb_alloc_cmap(&fb_info.cmap, size, 0); + + gen_set_var(&fb_info.var, -1, &fb_info); + + if (register_framebuffer(&fb_info) < 0) + return -EINVAL; + + printk(KERN_INFO "fb%d: %s frame buffer device\n", + GET_FB_IDX(fb_info.node), fb_info.fix.id); + return 0; } @@ -391,7 +210,6 @@ void cleanup_module(void) hitfb_cleanup(void); } #endif - /* * Local variables: Index: include/asm-sh/errno.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/errno.h,v retrieving revision 1.2 diff -u -3 -p -r1.2 errno.h --- include/asm-sh/errno.h 23 Apr 2002 04:36:00 -0000 1.2 +++ include/asm-sh/errno.h 18 Jun 2002 02:51:11 -0000 @@ -1,132 +1,6 @@ #ifndef __ASM_SH_ERRNO_H #define __ASM_SH_ERRNO_H -#define EPERM 1 /* Operation not permitted */ -#define ENOENT 2 /* No such file or directory */ -#define ESRCH 3 /* No such process */ -#define EINTR 4 /* Interrupted system call */ -#define EIO 5 /* I/O error */ -#define ENXIO 6 /* No such device or address */ -#define E2BIG 7 /* Argument list too long */ -#define ENOEXEC 8 /* Exec format error */ -#define EBADF 9 /* Bad file number */ -#define ECHILD 10 /* No child processes */ -#define EAGAIN 11 /* Try again */ -#define ENOMEM 12 /* Out of memory */ -#define EACCES 13 /* Permission denied */ -#define EFAULT 14 /* Bad address */ -#define ENOTBLK 15 /* Block device required */ -#define EBUSY 16 /* Device or resource busy */ -#define EEXIST 17 /* File exists */ -#define EXDEV 18 /* Cross-device link */ -#define ENODEV 19 /* No such device */ -#define ENOTDIR 20 /* Not a directory */ -#define EISDIR 21 /* Is a directory */ -#define EINVAL 22 /* Invalid argument */ -#define ENFILE 23 /* File table overflow */ -#define EMFILE 24 /* Too many open files */ -#define ENOTTY 25 /* Not a typewriter */ -#define ETXTBSY 26 /* Text file busy */ -#define EFBIG 27 /* File too large */ -#define ENOSPC 28 /* No space left on device */ -#define ESPIPE 29 /* Illegal seek */ -#define EROFS 30 /* Read-only file system */ -#define EMLINK 31 /* Too many links */ -#define EPIPE 32 /* Broken pipe */ -#define EDOM 33 /* Math argument out of domain of func */ -#define ERANGE 34 /* Math result not representable */ -#define EDEADLK 35 /* Resource deadlock would occur */ -#define ENAMETOOLONG 36 /* File name too long */ -#define ENOLCK 37 /* No record locks available */ -#define ENOSYS 38 /* Function not implemented */ -#define ENOTEMPTY 39 /* Directory not empty */ -#define ELOOP 40 /* Too many symbolic links encountered */ -#define EWOULDBLOCK EAGAIN /* Operation would block */ -#define ENOMSG 42 /* No message of desired type */ -#define EIDRM 43 /* Identifier removed */ -#define ECHRNG 44 /* Channel number out of range */ -#define EL2NSYNC 45 /* Level 2 not synchronized */ -#define EL3HLT 46 /* Level 3 halted */ -#define EL3RST 47 /* Level 3 reset */ -#define ELNRNG 48 /* Link number out of range */ -#define EUNATCH 49 /* Protocol driver not attached */ -#define ENOCSI 50 /* No CSI structure available */ -#define EL2HLT 51 /* Level 2 halted */ -#define EBADE 52 /* Invalid exchange */ -#define EBADR 53 /* Invalid request descriptor */ -#define EXFULL 54 /* Exchange full */ -#define ENOANO 55 /* No anode */ -#define EBADRQC 56 /* Invalid request code */ -#define EBADSLT 57 /* Invalid slot */ - -#define EDEADLOCK EDEADLK - -#define EBFONT 59 /* Bad font file format */ -#define ENOSTR 60 /* Device not a stream */ -#define ENODATA 61 /* No data available */ -#define ETIME 62 /* Timer expired */ -#define ENOSR 63 /* Out of streams resources */ -#define ENONET 64 /* Machine is not on the network */ -#define ENOPKG 65 /* Package not installed */ -#define EREMOTE 66 /* Object is remote */ -#define ENOLINK 67 /* Link has been severed */ -#define EADV 68 /* Advertise error */ -#define ESRMNT 69 /* Srmount error */ -#define ECOMM 70 /* Communication error on send */ -#define EPROTO 71 /* Protocol error */ -#define EMULTIHOP 72 /* Multihop attempted */ -#define EDOTDOT 73 /* RFS specific error */ -#define EBADMSG 74 /* Not a data message */ -#define EOVERFLOW 75 /* Value too large for defined data type */ -#define ENOTUNIQ 76 /* Name not unique on network */ -#define EBADFD 77 /* File descriptor in bad state */ -#define EREMCHG 78 /* Remote address changed */ -#define ELIBACC 79 /* Can not access a needed shared library */ -#define ELIBBAD 80 /* Accessing a corrupted shared library */ -#define ELIBSCN 81 /* .lib section in a.out corrupted */ -#define ELIBMAX 82 /* Attempting to link in too many shared libraries */ -#define ELIBEXEC 83 /* Cannot exec a shared library directly */ -#define EILSEQ 84 /* Illegal byte sequence */ -#define ERESTART 85 /* Interrupted system call should be restarted */ -#define ESTRPIPE 86 /* Streams pipe error */ -#define EUSERS 87 /* Too many users */ -#define ENOTSOCK 88 /* Socket operation on non-socket */ -#define EDESTADDRREQ 89 /* Destination address required */ -#define EMSGSIZE 90 /* Message too long */ -#define EPROTOTYPE 91 /* Protocol wrong type for socket */ -#define ENOPROTOOPT 92 /* Protocol not available */ -#define EPROTONOSUPPORT 93 /* Protocol not supported */ -#define ESOCKTNOSUPPORT 94 /* Socket type not supported */ -#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ -#define EPFNOSUPPORT 96 /* Protocol family not supported */ -#define EAFNOSUPPORT 97 /* Address family not supported by protocol */ -#define EADDRINUSE 98 /* Address already in use */ -#define EADDRNOTAVAIL 99 /* Cannot assign requested address */ -#define ENETDOWN 100 /* Network is down */ -#define ENETUNREACH 101 /* Network is unreachable */ -#define ENETRESET 102 /* Network dropped connection because of reset */ -#define ECONNABORTED 103 /* Software caused connection abort */ -#define ECONNRESET 104 /* Connection reset by peer */ -#define ENOBUFS 105 /* No buffer space available */ -#define EISCONN 106 /* Transport endpoint is already connected */ -#define ENOTCONN 107 /* Transport endpoint is not connected */ -#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ -#define ETOOMANYREFS 109 /* Too many references: cannot splice */ -#define ETIMEDOUT 110 /* Connection timed out */ -#define ECONNREFUSED 111 /* Connection refused */ -#define EHOSTDOWN 112 /* Host is down */ -#define EHOSTUNREACH 113 /* No route to host */ -#define EALREADY 114 /* Operation already in progress */ -#define EINPROGRESS 115 /* Operation now in progress */ -#define ESTALE 116 /* Stale NFS file handle */ -#define EUCLEAN 117 /* Structure needs cleaning */ -#define ENOTNAM 118 /* Not a XENIX named type file */ -#define ENAVAIL 119 /* No XENIX semaphores available */ -#define EISNAM 120 /* Is a named type file */ -#define EREMOTEIO 121 /* Remote I/O error */ -#define EDQUOT 122 /* Quota exceeded */ - -#define ENOMEDIUM 123 /* No medium found */ -#define EMEDIUMTYPE 124 /* Wrong medium type */ +#include <asm-generic/errno.h> #endif /* __ASM_SH_ERRNO_H */ Index: include/asm-sh/ide.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/ide.h,v retrieving revision 1.5 diff -u -3 -p -r1.5 ide.h --- include/asm-sh/ide.h 23 May 2002 01:51:13 -0000 1.5 +++ include/asm-sh/ide.h 18 Jun 2002 02:51:11 -0000 @@ -102,7 +102,7 @@ static __inline__ void ide_init_default_ for(index = 0; index < MAX_HWIFS; index++) { ide_init_hwif_ports(&hw, ide_default_io_base(index), 0, NULL); hw.irq = ide_default_irq(ide_default_io_base(index)); - ide_register_hw(&hw, NULL); + ide_register_hw(&hw); } #endif /* CONFIG_PCI */ } Index: include/asm-sh/pgtable-2level.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/pgtable-2level.h,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 pgtable-2level.h --- include/asm-sh/pgtable-2level.h 15 Oct 2001 20:45:11 -0000 1.1.1.1 +++ include/asm-sh/pgtable-2level.h 18 Jun 2002 02:51:11 -0000 @@ -55,6 +55,11 @@ static inline pmd_t * pmd_offset(pgd_t * { return (pmd_t *) dir; } + +#define pte_pfn(x) ((unsigned long)(((x).pte_low >> PAGE_SHIFT))) +#define pfn_pte(pfn, prot) __pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)) +#define pfn_pmd(pfn, prot) __pmd(((pfn) << PAGE_SHIFT) | pgprot_val(prot)) + #endif /* !__ASSEMBLY__ */ #endif /* __ASM_SH_PGTABLE_2LEVEL_H */ Index: include/asm-sh/siginfo.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/siginfo.h,v retrieving revision 1.3 diff -u -3 -p -r1.3 siginfo.h --- include/asm-sh/siginfo.h 22 Mar 2002 04:44:46 -0000 1.3 +++ include/asm-sh/siginfo.h 18 Jun 2002 02:51:11 -0000 @@ -1,233 +1,7 @@ #ifndef __ASM_SH_SIGINFO_H #define __ASM_SH_SIGINFO_H -#include <linux/types.h> - -/* XXX: This structure was copied from the Alpha; is there an iBCS version? */ - -typedef union sigval { - int sival_int; - void *sival_ptr; -} sigval_t; - -#define SI_MAX_SIZE 128 -#define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int)) - 3) - -typedef struct siginfo { - int si_signo; - int si_errno; - int si_code; - - union { - int _pad[SI_PAD_SIZE]; - - /* kill() */ - struct { - pid_t _pid; /* sender's pid */ - uid_t _uid; /* sender's uid */ - } _kill; - - /* POSIX.1b timers */ - struct { - unsigned int _timer1; - unsigned int _timer2; - } _timer; - - /* POSIX.1b signals */ - struct { - pid_t _pid; /* sender's pid */ - uid_t _uid; /* sender's uid */ - sigval_t _sigval; - } _rt; - - /* SIGCHLD */ - struct { - pid_t _pid; /* which child */ - uid_t _uid; /* sender's uid */ - int _status; /* exit code */ - clock_t _utime; - clock_t _stime; - } _sigchld; - - /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ - struct { - void *_addr; /* faulting insn/memory ref. */ - } _sigfault; - - /* SIGPOLL */ - struct { - int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ - int _fd; - } _sigpoll; - } _sifields; -} siginfo_t; - -/* - * How these fields are to be accessed. - */ -#define si_pid _sifields._kill._pid -#define si_uid _sifields._kill._uid -#define si_status _sifields._sigchld._status -#define si_utime _sifields._sigchld._utime -#define si_stime _sifields._sigchld._stime -#define si_value _sifields._rt._sigval -#define si_int _sifields._rt._sigval.sival_int -#define si_ptr _sifields._rt._sigval.sival_ptr -#define si_addr _sifields._sigfault._addr -#define si_band _sifields._sigpoll._band -#define si_fd _sifields._sigpoll._fd - -#ifdef __KERNEL__ -#define __SI_MASK 0xffff0000 -#define __SI_KILL (0 << 16) -#define __SI_TIMER (1 << 16) -#define __SI_POLL (2 << 16) -#define __SI_FAULT (3 << 16) -#define __SI_CHLD (4 << 16) -#define __SI_RT (5 << 16) -#define __SI_CODE(T,N) ((T) << 16 | ((N) & 0xffff)) -#else -#define __SI_KILL 0 -#define __SI_TIMER 0 -#define __SI_POLL 0 -#define __SI_FAULT 0 -#define __SI_CHLD 0 -#define __SI_RT 0 -#define __SI_CODE(T,N) (N) -#endif - -/* - * si_code values - * Digital reserves positive values for kernel-generated signals. - */ -#define SI_USER 0 /* sent by kill, sigsend, raise */ -#define SI_KERNEL 0x80 /* sent by the kernel from somewhere */ -#define SI_QUEUE -1 /* sent by sigqueue */ -#define SI_TIMER __SI_CODE(__SI_TIMER,-2) /* sent by timer expiration */ -#define SI_MESGQ -3 /* sent by real time mesq state change */ -#define SI_ASYNCIO -4 /* sent by AIO completion */ -#define SI_SIGIO -5 /* sent by queued SIGIO */ -#define SI_TKILL -6 /* sent by tkill system call */ -#define SI_DETHREAD -7 /* sent by execve() killing subsidiary threads */ - -#define SI_FROMUSER(siptr) ((siptr)->si_code <= 0) -#define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0) - -/* - * SIGILL si_codes - */ -#define ILL_ILLOPC (__SI_FAULT|1) /* illegal opcode */ -#define ILL_ILLOPN (__SI_FAULT|2) /* illegal operand */ -#define ILL_ILLADR (__SI_FAULT|3) /* illegal addressing mode */ -#define ILL_ILLTRP (__SI_FAULT|4) /* illegal trap */ -#define ILL_PRVOPC (__SI_FAULT|5) /* privileged opcode */ -#define ILL_PRVREG (__SI_FAULT|6) /* privileged register */ -#define ILL_COPROC (__SI_FAULT|7) /* coprocessor error */ -#define ILL_BADSTK (__SI_FAULT|8) /* internal stack error */ -#define NSIGILL 8 - -/* - * SIGFPE si_codes - */ -#define FPE_INTDIV (__SI_FAULT|1) /* integer divide by zero */ -#define FPE_INTOVF (__SI_FAULT|2) /* integer overflow */ -#define FPE_FLTDIV (__SI_FAULT|3) /* floating point divide by zero */ -#define FPE_FLTOVF (__SI_FAULT|4) /* floating point overflow */ -#define FPE_FLTUND (__SI_FAULT|5) /* floating point underflow */ -#define FPE_FLTRES (__SI_FAULT|6) /* floating point inexact result */ -#define FPE_FLTINV (__SI_FAULT|7) /* floating point invalid operation */ -#define FPE_FLTSUB (__SI_FAULT|8) /* subscript out of range */ -#define NSIGFPE 8 - -/* - * SIGSEGV si_codes - */ -#define SEGV_MAPERR (__SI_FAULT|1) /* address not mapped to object */ -#define SEGV_ACCERR (__SI_FAULT|2) /* invalid permissions for mapped object */ -#define NSIGSEGV 2 - -/* - * SIGBUS si_codes - */ -#define BUS_ADRALN (__SI_FAULT|1) /* invalid address alignment */ -#define BUS_ADRERR (__SI_FAULT|2) /* non-existant physical address */ -#define BUS_OBJERR (__SI_FAULT|3) /* object specific hardware error */ -#define NSIGBUS 3 - -/* - * SIGTRAP si_codes - */ -#define TRAP_BRKPT (__SI_FAULT|1) /* process breakpoint */ -#define TRAP_TRACE (__SI_FAULT|2) /* process trace trap */ -#define NSIGTRAP 2 - -/* - * SIGCHLD si_codes - */ -#define CLD_EXITED (__SI_CHLD|1) /* child has exited */ -#define CLD_KILLED (__SI_CHLD|2) /* child was killed */ -#define CLD_DUMPED (__SI_CHLD|3) /* child terminated abnormally */ -#define CLD_TRAPPED (__SI_CHLD|4) /* traced child has trapped */ -#define CLD_STOPPED (__SI_CHLD|5) /* child has stopped */ -#define CLD_CONTINUED (__SI_CHLD|6) /* stopped child has continued */ -#define NSIGCHLD 6 - -/* - * SIGPOLL si_codes - */ -#define POLL_IN (__SI_POLL|1) /* data input available */ -#define POLL_OUT (__SI_POLL|2) /* output buffers available */ -#define POLL_MSG (__SI_POLL|3) /* input message available */ -#define POLL_ERR (__SI_POLL|4) /* i/o error */ -#define POLL_PRI (__SI_POLL|5) /* high priority input available */ -#define POLL_HUP (__SI_POLL|6) /* device disconnected */ -#define NSIGPOLL 6 - -/* - * sigevent definitions - * - * It seems likely that SIGEV_THREAD will have to be handled from - * userspace, libpthread transmuting it to SIGEV_SIGNAL, which the - * thread manager then catches and does the appropriate nonsense. - * However, everything is written out here so as to not get lost. - */ -#define SIGEV_SIGNAL 0 /* notify via signal */ -#define SIGEV_NONE 1 /* other notification: meaningless */ -#define SIGEV_THREAD 2 /* deliver via thread creation */ - -#define SIGEV_MAX_SIZE 64 -#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 3) - -typedef struct sigevent { - sigval_t sigev_value; - int sigev_signo; - int sigev_notify; - union { - int _pad[SIGEV_PAD_SIZE]; - - struct { - void (*_function)(sigval_t); - void *_attribute; /* really pthread_attr_t */ - } _sigev_thread; - } _sigev_un; -} sigevent_t; - -#define sigev_notify_function _sigev_un._sigev_thread._function -#define sigev_notify_attributes _sigev_un._sigev_thread._attribute - -#ifdef __KERNEL__ -#include <linux/string.h> - -static inline void copy_siginfo(siginfo_t *to, siginfo_t *from) -{ - if (from->si_code < 0) - memcpy(to, from, sizeof(siginfo_t)); - else - /* _sigchld is currently the largest know union member */ - memcpy(to, from, 3*sizeof(int) + sizeof(from->_sifields._sigchld)); -} - -extern int copy_siginfo_to_user(siginfo_t *to, siginfo_t *from); +#include <asm-generic/siginfo.h> #endif /* __KERNEL__ */ Index: init/do_mounts.c =================================================================== RCS file: /cvsroot/linuxsh/linux/init/do_mounts.c,v retrieving revision 1.6 diff -u -3 -p -r1.6 do_mounts.c --- init/do_mounts.c 18 Jun 2002 02:17:20 -0000 1.6 +++ init/do_mounts.c 18 Jun 2002 02:51:11 -0000 @@ -366,6 +366,7 @@ static int __init create_dev(char *name, return sys_symlink(path + n + 5, name); } +#if defined(BLOCK_DEV_RAM) || defined(CONFIG_BLK_DEV_FD) static void __init change_floppy(char *fmt, ...) { struct termios termios; @@ -393,6 +394,7 @@ static void __init change_floppy(char *f close(fd); } } +#endif #ifdef CONFIG_BLK_DEV_RAM Index: mm/memory.c =================================================================== RCS file: /cvsroot/linuxsh/linux/mm/memory.c,v retrieving revision 1.16 diff -u -3 -p -r1.16 memory.c --- mm/memory.c 18 Jun 2002 02:17:21 -0000 1.16 +++ mm/memory.c 18 Jun 2002 02:51:11 -0000 @@ -69,7 +69,7 @@ static inline void copy_cow_page(struct copy_user_highpage(to, from, address); } -mem_map_t * mem_map; +struct page *mem_map; /* * Note: this doesn't free the actual pages themselves. That |