You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
(12) |
May
(82) |
Jun
(72) |
Jul
(39) |
Aug
(104) |
Sep
(61) |
Oct
(55) |
Nov
(101) |
Dec
(48) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(52) |
Feb
(67) |
Mar
(18) |
Apr
(16) |
May
(33) |
Jun
(12) |
Jul
(102) |
Aug
(168) |
Sep
(65) |
Oct
(60) |
Nov
(43) |
Dec
(121) |
2002 |
Jan
(69) |
Feb
(32) |
Mar
(90) |
Apr
(59) |
May
(45) |
Jun
(43) |
Jul
(33) |
Aug
(21) |
Sep
(11) |
Oct
(20) |
Nov
(26) |
Dec
(3) |
2003 |
Jan
(12) |
Feb
(18) |
Mar
(11) |
Apr
(11) |
May
(41) |
Jun
(76) |
Jul
(77) |
Aug
(15) |
Sep
(38) |
Oct
(56) |
Nov
(19) |
Dec
(39) |
2004 |
Jan
(17) |
Feb
(52) |
Mar
(36) |
Apr
(34) |
May
(48) |
Jun
(85) |
Jul
(38) |
Aug
(42) |
Sep
(41) |
Oct
(77) |
Nov
(27) |
Dec
(19) |
2005 |
Jan
(32) |
Feb
(35) |
Mar
(29) |
Apr
(8) |
May
(7) |
Jun
(31) |
Jul
(46) |
Aug
(93) |
Sep
(65) |
Oct
(85) |
Nov
(219) |
Dec
(47) |
2006 |
Jan
(170) |
Feb
(103) |
Mar
(49) |
Apr
(43) |
May
(45) |
Jun
(29) |
Jul
(77) |
Aug
(82) |
Sep
(43) |
Oct
(45) |
Nov
(26) |
Dec
(85) |
2007 |
Jan
(42) |
Feb
(48) |
Mar
(64) |
Apr
(31) |
May
(88) |
Jun
(53) |
Jul
(175) |
Aug
(212) |
Sep
(91) |
Oct
(103) |
Nov
(110) |
Dec
(5) |
2008 |
Jan
(20) |
Feb
(11) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(5) |
Sep
(3) |
Oct
(12) |
Nov
|
Dec
|
From: NIIBE Y. <gn...@m1...> - 2002-06-26 06:57:49
|
To build the kernel, following fixes are needed. 2002-06-26 NIIBE Yutaka <gn...@m1...> * arch/sh/Makefile (archclean): Remove invoking make under subdirectory. (LINKFLAGS): Add adding 'jiffies' definition. * arch/sh/vmlinux.lds.S (jiffies): Removed. * arch/sh/mm/ioremap.c: Include <linux/mm.h> and <asm/page.h>. * arch/sh/mm/cache-sh4.c (copy_user_page, clear_user_page): Follow new API. * arch/sh/kernel/irq.c (show_interrupts): Use NR_CPUS (was: smp_num_cpus). * arch/sh/kernel/sh_ksyms.c: Don't include <asm/pgalloc.h>. * include/asm-sh/signal.h: Declare struct pt_regs. * include/asm-sh/pgtable.h (mk_pte): New definition using pfn_pte. * include/asm-sh/pgalloc.h (pmd_free_tlb): Fixed to have a argument tlb. (ptep_get_and_clear): Fixed the argurment to pfn_to_page. * include/asm-sh/pgtable-2level.h (pte_pfn): Fixed to access the member pte (was: pte_low). * include/asm-sh/page.h (VALID_PAGE): Removed. (PFN_START, pfn_to_page, page_to_pfn, virt_to_page, pfn_valid, virt_addr_valid): Defined. * include/asm-sh/siginfo.h: Remove unmatched #endif. Index: arch/sh/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Makefile,v retrieving revision 1.3 diff -u -3 -p -r1.3 Makefile --- arch/sh/Makefile 26 Jun 2002 01:44:06 -0000 1.3 +++ arch/sh/Makefile 26 Jun 2002 06:54:23 -0000 @@ -49,6 +49,12 @@ endif LINKSCRIPT = arch/sh/vmlinux.lds LINKFLAGS += -T $(word 1,$(LINKSCRIPT)) -e _stext +ifdef CONFIG_CPU_LITTLE_ENDIAN +LINKFLAGS += --defsym 'jiffies=jiffies_64' +else +LINKFLAGS += --defsym 'jiffies=jiffies_64+4' +endif + ifdef LOADADDR LINKFLAGS += -Ttext $(word 1,$(LOADADDR)) endif @@ -88,9 +94,6 @@ zdisk: vmlinux archclean: @$(MAKEBOOT) clean - $(MAKE) -C arch/$(ARCH)/kernel clean - $(MAKE) -C arch/$(ARCH)/stboards clean -# $(MAKE) -C arch/$(ARCH)/tools clean archmrproper: rm -f arch/sh/vmlinux.lds Index: arch/sh/vmlinux.lds.S =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/vmlinux.lds.S,v retrieving revision 1.4 diff -u -3 -p -r1.4 vmlinux.lds.S --- arch/sh/vmlinux.lds.S 23 May 2002 01:51:13 -0000 1.4 +++ arch/sh/vmlinux.lds.S 26 Jun 2002 06:54:23 -0000 @@ -5,10 +5,8 @@ #include <linux/config.h> #ifdef CONFIG_CPU_LITTLE_ENDIAN OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux") -jiffies = jiffies_64; #else OUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbig-linux", "elf32-shbig-linux") -jiffies = jiffies_64 + 4; #endif OUTPUT_ARCH(sh) ENTRY(_start) Index: arch/sh/kernel/irq.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/irq.c,v retrieving revision 1.3 diff -u -3 -p -r1.3 irq.c --- arch/sh/kernel/irq.c 15 Jan 2002 07:59:52 -0000 1.3 +++ arch/sh/kernel/irq.c 26 Jun 2002 06:54:23 -0000 @@ -92,7 +92,7 @@ int show_interrupts(struct seq_file *p, struct irqaction * action; seq_puts(p, " "); - for (j=0; j<smp_num_cpus; j++) + for (j=0; j<NR_CPUS; j++) seq_printf(p, "CPU%d ",j); seq_putc(p, '\n'); Index: arch/sh/kernel/sh_ksyms.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/sh_ksyms.c,v retrieving revision 1.4 diff -u -3 -p -r1.4 sh_ksyms.c --- arch/sh/kernel/sh_ksyms.c 12 Apr 2002 04:26:28 -0000 1.4 +++ arch/sh/kernel/sh_ksyms.c 26 Jun 2002 06:54:23 -0000 @@ -19,7 +19,6 @@ #include <asm/io.h> #include <asm/hardirq.h> #include <asm/delay.h> -#include <asm/pgalloc.h> #include <asm/tlbflush.h> #include <asm/cacheflush.h> Index: arch/sh/mm/cache-sh4.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/cache-sh4.c,v retrieving revision 1.14 diff -u -3 -p -r1.14 cache-sh4.c --- arch/sh/mm/cache-sh4.c 22 May 2002 07:37:02 -0000 1.14 +++ arch/sh/mm/cache-sh4.c 26 Jun 2002 06:54:23 -0000 @@ -414,11 +414,10 @@ void flush_icache_user_range(struct vm_a * clear_user_page * @to: P1 address * @address: U0 address to be mapped + * @page: page (virt_to_page(to)) */ -void clear_user_page(void *to, unsigned long address) +void clear_user_page(void *to, unsigned long address, struct page *page) { - struct page *page = virt_to_page(to); - __set_bit(PG_mapped, &page->flags); if (((address ^ (unsigned long)to) & CACHE_ALIAS) == 0) clear_page(to); @@ -453,11 +452,11 @@ void clear_user_page(void *to, unsigned * @to: P1 address * @from: P1 address * @address: U0 address to be mapped + * @page: page (virt_to_page(to)) */ -void copy_user_page(void *to, void *from, unsigned long address) +void copy_user_page(void *to, void *from, unsigned long address, + struct page *page) { - struct page *page = virt_to_page(to); - __set_bit(PG_mapped, &page->flags); if (((address ^ (unsigned long)to) & CACHE_ALIAS) == 0) copy_page(to, from); Index: arch/sh/mm/ioremap.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/ioremap.c,v retrieving revision 1.4 diff -u -3 -p -r1.4 ioremap.c --- arch/sh/mm/ioremap.c 22 May 2002 07:37:02 -0000 1.4 +++ arch/sh/mm/ioremap.c 26 Jun 2002 06:54:23 -0000 @@ -10,7 +10,9 @@ */ #include <linux/vmalloc.h> +#include <linux/mm.h> #include <asm/io.h> +#include <asm/page.h> #include <asm/pgalloc.h> #include <asm/cacheflush.h> #include <asm/tlbflush.h> Index: include/asm-sh/page.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/page.h,v retrieving revision 1.3 diff -u -3 -p -r1.3 page.h --- include/asm-sh/page.h 18 Jun 2002 03:36:24 -0000 1.3 +++ include/asm-sh/page.h 26 Jun 2002 06:54:23 -0000 @@ -31,6 +31,7 @@ extern void copy_page(void *to, void *fr #define clear_user_page(page, vaddr, pg) clear_page(page) #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) #elif defined(__SH4__) +struct page; extern void clear_user_page(void *to, unsigned long address, struct page *pg); extern void copy_user_page(void *to, void *from, unsigned long address, struct page *pg); extern void __clear_user_page(void *to, void *orig_to); @@ -82,14 +83,20 @@ typedef struct { unsigned long pgprot; } #ifndef CONFIG_DISCONTIGMEM #define phys_to_page(phys) (mem_map + (((phys)-__MEMORY_START) >> PAGE_SHIFT)) -#define VALID_PAGE(page) ((page - mem_map) < max_mapnr) #define page_to_phys(page) (((page - mem_map) << PAGE_SHIFT) + __MEMORY_START) #endif +/* PFN start number, because of __MEMORY_START */ +#define PFN_START (__MEMORY_START >> PAGE_SHIFT) + +#define pfn_to_page(pfn) (mem_map + (pfn) - PFN_START) +#define page_to_pfn(page) ((unsigned long)((page) - mem_map) + PFN_START) +#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) +#define pfn_valid(pfn) (((pfn) - PFN_START) < max_mapnr) +#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) + #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) - -#define virt_to_page(kaddr) phys_to_page(__pa(kaddr)) #ifndef __ASSEMBLY__ Index: include/asm-sh/pgalloc.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/pgalloc.h,v retrieving revision 1.9 diff -u -3 -p -r1.9 pgalloc.h --- include/asm-sh/pgalloc.h 23 May 2002 01:51:13 -0000 1.9 +++ include/asm-sh/pgalloc.h 26 Jun 2002 06:54:23 -0000 @@ -47,7 +47,7 @@ static inline void pte_free(struct page #define pmd_alloc_one(mm, addr) ({ BUG(); ((pmd_t *)2); }) #define pmd_free(x) do { } while (0) -#define pmd_free_tlb(x) do { } while (0) +#define pmd_free_tlb(tlb,x) do { } while (0) #define pgd_populate(mm, pmd, pte) BUG() #if defined(__SH4__) @@ -65,7 +65,7 @@ static inline pte_t ptep_get_and_clear(p struct page *page; unsigned long pfn = pte_pfn(pte); if (pfn_valid(pfn)) { - page = pfn_to_page(page); + page = pfn_to_page(pfn); if (!page->mapping || list_empty(&page->mapping->i_mmap_shared)) __clear_bit(PG_mapped, &page->flags); Index: include/asm-sh/pgtable-2level.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/pgtable-2level.h,v retrieving revision 1.2 diff -u -3 -p -r1.2 pgtable-2level.h --- include/asm-sh/pgtable-2level.h 18 Jun 2002 02:54:38 -0000 1.2 +++ include/asm-sh/pgtable-2level.h 26 Jun 2002 06:54:23 -0000 @@ -56,7 +56,7 @@ static inline pmd_t * pmd_offset(pgd_t * return (pmd_t *) dir; } -#define pte_pfn(x) ((unsigned long)(((x).pte_low >> PAGE_SHIFT))) +#define pte_pfn(x) ((unsigned long)(((x).pte >> 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)) Index: include/asm-sh/pgtable.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/pgtable.h,v retrieving revision 1.10 diff -u -3 -p -r1.10 pgtable.h --- include/asm-sh/pgtable.h 18 Jun 2002 03:36:24 -0000 1.10 +++ include/asm-sh/pgtable.h 26 Jun 2002 06:54:23 -0000 @@ -185,13 +185,7 @@ static inline pgprot_t pgprot_noncached( * * extern pte_t mk_pte(struct page *page, pgprot_t pgprot) */ -#define mk_pte(page,pgprot) \ -({ pte_t __pte; \ - \ - set_pte(&__pte, __pte(PHYSADDR(page_address(page)) \ - +pgprot_val(pgprot))); \ - __pte; \ -}) +#define mk_pte(page, pgprot) pfn_pte(page_to_pfn(page), (pgprot)) static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) { set_pte(&pte, __pte((pte_val(pte) & _PAGE_CHG_MASK) | pgprot_val(newprot))); return pte; } @@ -222,6 +216,7 @@ static inline pte_t pte_modify(pte_t pte #define pte_unmap(pte) do { } while (0) #define pte_unmap_nested(pte) do { } while (0) +struct vm_area_struct; extern void update_mmu_cache(struct vm_area_struct * vma, unsigned long address, pte_t pte); Index: include/asm-sh/siginfo.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/siginfo.h,v retrieving revision 1.4 diff -u -3 -p -r1.4 siginfo.h --- include/asm-sh/siginfo.h 18 Jun 2002 02:54:38 -0000 1.4 +++ include/asm-sh/siginfo.h 26 Jun 2002 06:54:23 -0000 @@ -3,6 +3,4 @@ #include <asm-generic/siginfo.h> -#endif /* __KERNEL__ */ - #endif /* __ASM_SH_SIGINFO_H */ Index: include/asm-sh/signal.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/signal.h,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 signal.h --- include/asm-sh/signal.h 15 Oct 2001 20:45:07 -0000 1.1.1.1 +++ include/asm-sh/signal.h 26 Jun 2002 06:54:23 -0000 @@ -4,6 +4,7 @@ #include <linux/types.h> /* Avoid too many header ordering problems. */ +struct pt_regs; struct siginfo; #define _NSIG 64 |
From: YAEGASHI T. <t...@ke...> - 2002-06-26 04:59:21
|
Hi, Finally I've collected sh3 deb packages enough to debootstrap. I've put debootstrapped images of sh3 and sh4 which are useful for setting up new systems at http://debian.dodes.org/base/. When I've prepared binary kits and platform documents, I'll announce on Debian's mailing list as well and ask for including sh3 (and/or sh4) debs in the official Debian distribution. base-sh3-20020625.tar.gz needs about 66MB disk space and contains following packages: Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-==============-==============-============================================ ii adduser 3.47 Add and remove users and groups ii apt 0.5.4.dodes.1 Advanced front-end for dpkg ii apt-utils 0.5.4.dodes.1 APT utility programs ii at 3.1.8-11 Delayed job execution and batch processing ii base-files 3.0.2.dodes.0 Debian base system miscellaneous files ii base-passwd 3.4.1 Debian Base System Password/Group Files ii bash 2.05a-12 The GNU Bourne Again SHell ii bsdmainutils 5.20020211-4 More utilities from FreeBSD. ii bsdutils 2.11n-4.dodes. Basic utilities from 4.4BSD-Lite. ii console-common 0.7.13 Basic infrastructure for text console config ii console-data 1999.08.29-24 Keymaps, fonts, charset maps, fallback table ii console-tools 0.2.3-23.3 Linux console and font utilities. ii console-tools- 0.2.3-23.3 Shared libraries for Linux console and font ii cpio 2.4.2.91-2 GNU cpio -- a program to manage archives of ii cron 3.0pl1-72 management of regular background processing ii debconf 1.1.14 Debian configuration management system ii debianutils 1.16.3 Miscellaneous utilities specific to Debian. ii dhcp-client 2.0pl5-11 DHCP Client ii diff 2.7-29 File comparison utilities ii dpkg 1.11.dodes.200 Package maintenance system for Debian ii dselect 1.11.dodes.200 a user tool to manage Debian packages ii e2fsprogs 1.27-2 The EXT2 file system utilities and libraries ii ed 0.2-19 The classic unix line editor ii exim 3.35-1 An MTA (Mail Transport Agent) ii fileutils 4.1-10 GNU file management utilities ii findutils 4.1.7-2.dodes. utilities for finding files--find, xargs, an ii gcc-3.0-base 3.0.4-7.dodes. The GNU Compiler Collection (base package). ii gettext-base 0.10.40-6 GNU Internationalization utilities for the b ii grep 2.4.2-3 GNU grep, egrep and fgrep. ii groff-base 1.17.2-17 GNU troff text-formatting system (base syste ii gzip 1.3.2-3 The GNU compression utility. ii hostname 2.09 A utility to set/show the host name or domai ii ifupdown 0.6.4-4 High level tools to configure network interf ii info 4.1-2 Standalone GNU Info documentation browser ii iptables 1.2.6a-6 IP packet filter administration tools for 2. ii klogd 1.4.1-10 Kernel Logging Daemon ii libc6 2.2.5-4.dodes. GNU C Library: Shared libraries and Timezone ii libcap1 1.10-12 support for getting/setting POSIX.1e capabil ii libdb2 2.7.7.0-7.dode The Berkeley database routines (run-time fil ii libdb3 3.2.9-16 Berkeley v3 Database Libraries [runtime] ii libgcc1 3.0.4-7.dodes. GCC support library. ii libgdbmg1 1.7.3-27 GNU dbm database routines (runtime version). ii libident 0.22-2 simple RFC1413 client library - runtime ii libldap2 2.0.23-7 OpenLDAP libraries. ii liblockfile1 1.03 NFS-safe locking library, includes dotlockfi ii libncurses5 5.2.20020112a- Shared libraries for terminal handling ii libnewt0 0.50.17-9.6.do Not Erik's Windowing Toolkit - text mode win ii libpam-modules 0.72-35 Pluggable Authentication Modules for PAM ii libpam-runtime 0.72-35 Runtime support for the PAM library ii libpam0g 0.72-35 Pluggable Authentication Modules library ii libpcap0 0.6.2-2 System interface for user-level packet captu ii libpcre3 3.4-1.1 Philip Hazel's Perl Compatible Regular Expre ii libperl5.6 5.6.1-7 Shared Perl library. ii libpopt0 1.6.2-7 lib for parsing cmdline parameters ii libreadline4 4.2a-5 GNU readline and history libraries, run-time ii libsasl7 1.5.27-3.3 Authentication abstraction library. ii libstdc++3 3.0.4-7.dodes. The GNU stdc++ library version 3 ii libwrap0 7.6-9 Wietse Venema's TCP wrappers library ii login 20000902-12 System login tools ii logrotate 3.5.9-8 Log rotation utility ii mailx 8.1.2-0.200204 A simple mail user agent. ii makedev 2.3.1-58.dodes Creates device files in /dev. ii man-db 2.3.20-20 The on-line manual pager ii manpages 1.39-1.1 Man pages about using a Linux system. ii mawk 1.3.3-8 a pattern scanning and text processing langu ii modconf 0.2.42 Device Driver Configuration ii modutils 2.4.15-1.dodes Linux module utilities. ii mount 2.11n-4.dodes. Tools for mounting and manipulating filesyst ii nano 1.1.9-2 free Pico clone with some new features ii ncurses-base 5.2.20020112a- Descriptions of common terminal types ii ncurses-bin 5.2.20020112a- Terminal-related programs and man pages ii net-tools 1.60-4 The NET-3 networking toolkit ii netbase 4.07 Basic TCP/IP networking system ii netkit-inetd 0.10-9 The Internet Superserver ii netkit-ping 0.10-9 The ping utility from netkit ii nvi 1.79-20 4.4BSD re-implementation of vi. ii passwd 20000902-12 Change and administer password and group dat ii pcmcia-cs 3.1.34-3.dodes PCMCIA Card Services for Linux. ii perl-base 5.6.1-7 The Pathologically Eclectic Rubbish Lister. ii ppp 2.4.1.uus-4 Point-to-Point Protocol (PPP) daemon. ii pppconfig 2.0.14 A text menu based utility for configuring pp ii pppoe 3.3-1.1 PPP over Ethernet driver ii pppoeconf 0.9.10.6 configures PPPoE/ADSL ii procps 2.0.7-9.dodes. The /proc file system utilities. ii psmisc 21-3 Utilities that use the proc filesystem ii sed 3.02-8 The GNU sed stream editor. ii shellutils 2.0.11-11 The GNU shell programming utilities. ii slang1 1.4.4-7.2 The S-Lang programming library - runtime ver ii sysklogd 1.4.1-10 System Logging Daemon ii sysvinit 2.84-3 System-V like init. ii tar 1.13.25-3 GNU tar ii tasksel 1.21 Tool for selecting tasks for installation on ii tcpd 7.6-9 Wietse Venema's TCP wrapper utilities ii telnet 0.17-18 The telnet client. ii textutils 2.0-13 The GNU text file processing utilities ii util-linux 2.11n-4.dodes. Miscellaneous system utilities. ii whiptail 0.50.17-9.6.do Displays user-friendly dialog boxes from she -- YAEGASHI Takeshi <t...@ke...> <ta...@ya...> <yae...@do...> |
From: NIIBE Y. <gn...@m1...> - 2002-06-26 01:54:18
|
Changes from mainline included. 2002-06-26 NIIBE Yutaka <gn...@m1...> * AGAINST-2.5.24: New file. * AGAINST-2.5.24: Removed. * Makefile: Version 2.5.24. * arch/sh/kernel/sys_sh.c, drivers/Makefile, drivers/char/Makefile, drivers/mtd/maps/Config.in, drivers/net/8139too.c, drivers/net/Config.in, drivers/pcmcia/hd64465_ss.c: Incorporate changes in 2.5.23. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.29 diff -u -3 -p -r1.29 Makefile --- Makefile 26 Jun 2002 01:44:05 -0000 1.29 +++ Makefile 26 Jun 2002 01:53:17 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 23 +SUBLEVEL = 24 EXTRAVERSION =-sh # We are using a recursive build, so we need to do a little thinking @@ -48,11 +48,35 @@ ifndef KBUILD_VERBOSE KBUILD_VERBOSE = 1 endif -# Decide whether to build built-in, modular, or both +# Decide whether to build built-in, modular, or both. +# Normally, just do built-in. -KBUILD_MODULES := 1 +KBUILD_MODULES := KBUILD_BUILTIN := 1 +# If we have only "make modules", don't compile built-in objects. + +ifeq ($(MAKECMDGOALS),modules) + KBUILD_BUILTIN := +endif + +# If we have "make <whatever> modules", compile modules +# in addition to whatever we do anyway. + +ifneq ($(filter modules,$(MAKECMDGOALS)),) + KBUILD_MODULES := 1 +endif + +# Just "make" or "make all" shall build modules as well + +ifeq ($(MAKECMDGOALS),) + KBUILD_MODULES := 1 +endif + +ifneq ($(filter all,$(MAKECMDGOALS)),) + KBUILD_MODULES := 1 +endif + export KBUILD_MODULES KBUILD_BUILTIN # Beautify output @@ -120,6 +144,8 @@ export CPPFLAGS EXPORT_FLAGS NOSTDINC_FL export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE +SUBDIRS := init kernel mm fs ipc lib drivers sound net + noconfig_targets := xconfig menuconfig config oldconfig randconfig \ defconfig allyesconfig allnoconfig allmodconfig \ clean mrproper distclean \ @@ -182,7 +208,7 @@ endif # 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 @@ -254,6 +280,7 @@ $(SUBDIRS): .hdepend prepare .PHONY: prepare prepare: include/linux/version.h include/asm include/config/MARKER + @echo ' Starting the build. KBUILD_BUILTIN=$(KBUILD_BUILTIN) KBUILD_MODULES=$(KBUILD_MODULES)' # Single targets # --------------------------------------------------------------------------- @@ -354,7 +381,7 @@ include/linux/modversions.h: scripts/fix @( 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 | sort`; do \ + for f in `cd .tmp_export-objs; find modules -name SCCS -prune -o -name BitKeeper -prune -o -name \*.ver -print | sort`; do \ echo "#include <linux/$${f}>"; \ done; \ echo "#endif"; \ @@ -384,8 +411,7 @@ MODFLAGS += -include $(HPATH)/linux/modv endif .PHONY: modules -modules: - @$(MAKE) KBUILD_BUILTIN= $(SUBDIRS) +modules: $(SUBDIRS) # Install modules @@ -466,7 +492,9 @@ spec: # will become invalid rpm: clean spec - find . \( -size 0 -o -name .depend -o -name .hdepend \) -type f -print | xargs rm -f + find . -name SCCS -prune -o -name BitKeeper -prune -o \ + \( -size 0 -o -name .depend -o -name .hdepend \) \ + -type f -print | xargs rm -f set -e; \ cd $(TOPDIR)/.. ; \ ln -sf $(TOPDIR) $(KERNELPATH) ; \ @@ -549,6 +577,7 @@ CLEAN_FILES += \ drivers/char/consolemap_deftbl.c drivers/video/promcon_tbl.c \ drivers/char/conmakehash \ drivers/char/drm/*-mod.c \ + drivers/char/defkeymap.c drivers/char/qtronixmap.c \ drivers/pci/devlist.h drivers/pci/classlist.h drivers/pci/gen-devlist \ drivers/zorro/devlist.h drivers/zorro/gen-devlist \ sound/oss/bin2hex sound/oss/hex2hex \ @@ -559,9 +588,12 @@ CLEAN_FILES += \ drivers/scsi/aic7xxx/aicasm/aicasm_scan.c \ drivers/scsi/aic7xxx/aicasm/y.tab.h \ drivers/scsi/aic7xxx/aicasm/aicasm \ - drivers/scsi/53c700_d.h \ - net/khttpd/make_times_h \ - net/khttpd/times.h \ + drivers/scsi/53c700_d.h drivers/scsi/sim710_d.h \ + drivers/scsi/53c7xx_d.h drivers/scsi/53c7xx_u.h \ + drivers/scsi/53c8xx_d.h drivers/scsi/53c8xx_u.h \ + net/802/cl2llc.c net/802/transit/pdutr.h net/802/transit/timertr.h \ + net/802/pseudo/pseudocode.h \ + net/khttpd/make_times_h net/khttpd/times.h \ submenu* # files removed with 'make mrproper' @@ -599,23 +631,26 @@ include arch/$(ARCH)/Makefile clean: archclean @echo 'Cleaning up' - @find . \( -name \*.[oas] -o -name core -o -name .\*.cmd -o \ - -name .\*.tmp -o -name .\*.d \) -type f -print \ + @find . -name SCCS -prune -o -name BitKeeper -prune -o \ + \( -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) @$(MAKE) -C Documentation/DocBook clean mrproper: clean archmrproper @echo 'Making mrproper' - @find . \( -size 0 -o -name .depend -o -name .\*.cmd \) \ - -type f -print | xargs rm -f + @find . -name SCCS -prune -o -name BitKeeper -prune -o \ + \( -name .depend -o -name .\*.cmd \) \ + -type f -print | xargs rm -f @rm -f $(MRPROPER_FILES) @rm -rf $(MRPROPER_DIRS) @$(MAKE) -C Documentation/DocBook mrproper distclean: mrproper @echo 'Making distclean' - @find . \( -not -type d \) -and \ + @find . -name SCCS -prune -o -name BitKeeper -prune -o \ + \( -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 \ @@ -625,16 +660,24 @@ distclean: mrproper # --------------------------------------------------------------------------- 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 - + { find include/asm-${ARCH} -name SCCS -prune -o -name BitKeeper -prune \ + -o -name '*.h' -print ; \ + find include -name SCCS -prune -o -name BitKeeper -prune -o \ + -type d \( -name "asm-*" -o -name config \) -prune -o \ + -name '*.h' -print ; \ + find $(SUBDIRS) init arch/${ARCH} \ + -name SCCS -prune -o -name BitKeeper -prune -o \ + -name '*.[chS]' -print ; } | 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 + ctags $$CTAGSF `find include/asm-$(ARCH) -name SCCS -prune -o -name BitKeeper -prune -o -name '*.h' -print` && \ + find include -name SCCS -prune -o -name BitKeeper -prune -o \ + -type d \( -name "asm-*" -o -name config \) -prune -o \ + -name '*.h' -print | xargs ctags $$CTAGSF -a && \ + find $(SUBDIRS) init -name SCCS -prune -o -name BitKeeper -prune -o \ + -name '*.[ch]' -print | xargs ctags $$CTAGSF -a # Documentation targets # --------------------------------------------------------------------------- @@ -647,13 +690,19 @@ sgmldocs psdocs pdfdocs htmldocs: # --------------------------------------------------------------------------- checkconfig: - find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkconfig.pl + find * -name SCCS -prune -o -name BitKeeper -prune -o \ + -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 + find * -name SCCS -prune -o -name BitKeeper -prune -o \ + -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 + find * -name SCCS -prune -o -name BitKeeper -prune -o \ + -name '*.[hcS]' -type f -print | sort \ + | xargs $(PERL) -w scripts/checkincludes.pl else # ifneq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) Index: arch/sh/kernel/sys_sh.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/sys_sh.c,v retrieving revision 1.1 diff -u -3 -p -r1.1 sys_sh.c --- arch/sh/kernel/sys_sh.c 15 Oct 2001 20:44:53 -0000 1.1 +++ arch/sh/kernel/sys_sh.c 26 Jun 2002 01:53:17 -0000 @@ -231,10 +231,3 @@ asmlinkage int sys_uname(struct old_utsn up_read(&uts_sem); return err?-EFAULT:0; } - -asmlinkage int sys_pause(void) -{ - current->state = TASK_INTERRUPTIBLE; - schedule(); - return -ERESTARTNOHAND; -} Index: drivers/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/Makefile,v retrieving revision 1.10 diff -u -3 -p -r1.10 Makefile --- drivers/Makefile 18 Jun 2002 04:05:00 -0000 1.10 +++ drivers/Makefile 26 Jun 2002 01:53:17 -0000 @@ -40,7 +40,7 @@ obj-$(CONFIG_PHONE) += telephony/ obj-$(CONFIG_MD) += md/ obj-$(CONFIG_BLUEZ) += bluetooth/ obj-$(CONFIG_HOTPLUG_PCI) += hotplug/ -obj-$(CONFIG_ISDN) += isdn/ +obj-$(CONFIG_ISDN_BOOL) += isdn/ obu-$(CONFIG_MAPLE) += maple/ include $(TOPDIR)/Rules.make Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.12 diff -u -3 -p -r1.12 Makefile --- drivers/char/Makefile 18 Jun 2002 04:05:00 -0000 1.12 +++ drivers/char/Makefile 26 Jun 2002 01:53:17 -0000 @@ -219,13 +219,11 @@ host-progs := conmakehash include $(TOPDIR)/Rules.make -consolemap_deftbl.c: $(FONTMAPFILE) conmakehash - ./conmakehash $< > $@ +$(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash + $(obj)/conmakehash $< > $@ -.DELETE_ON_ERROR: - -defkeymap.c: defkeymap.map +$(obj)/defkeymap.c: $(src)/defkeymap.map set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ -qtronixmap.c: qtronixmap.map +$(obj)/qtronixmap.c: $(src)/qtronixmap.map set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ Index: drivers/mtd/maps/Config.in =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/mtd/maps/Config.in,v retrieving revision 1.2 diff -u -3 -p -r1.2 Config.in --- drivers/mtd/maps/Config.in 8 Nov 2001 20:24:41 -0000 1.2 +++ drivers/mtd/maps/Config.in 26 Jun 2002 01:53:17 -0000 @@ -14,7 +14,7 @@ if [ "$CONFIG_MTD_PHYSMAP" = "y" -o "$CO int ' Bus width in octets' CONFIG_MTD_PHYSMAP_BUSWIDTH 2 fi -if [ "$CONFIG_SPARC" = "y" -o "$CONFIG_SPARC64" = "y" ]; then +if [ "$CONFIG_SPARC32" = "y" -o "$CONFIG_SPARC64" = "y" ]; then dep_tristate ' Sun Microsystems userflash support' CONFIG_MTD_SUN_UFLASH $CONFIG_MTD_CFI fi @@ -27,7 +27,7 @@ if [ "$CONFIG_X86" = "y" ]; then dep_tristate ' JEDEC Flash device mapped on Mixcom piggyback card' CONFIG_MTD_MIXMEM $CONFIG_MTD_JEDEC dep_tristate ' JEDEC Flash device mapped on Octagon 5066 SBC' CONFIG_MTD_OCTAGON $CONFIG_MTD_JEDEC dep_tristate ' JEDEC Flash device mapped on Tempustech VMAX SBC301' CONFIG_MTD_VMAX $CONFIG_MTD_JEDEC - dep_tristate ' BIOS flash chip on Intel L440GX boards' CONFIG_MTD_L440GX $CONFIG_I386 $CONFIG_MTD_JEDEC + dep_tristate ' BIOS flash chip on Intel L440GX boards' CONFIG_MTD_L440GX $CONFIG_X86 $CONFIG_MTD_JEDEC fi if [ "$CONFIG_PPC" = "y" ]; then Index: drivers/net/8139too.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/net/8139too.c,v retrieving revision 1.12 diff -u -3 -p -r1.12 8139too.c --- drivers/net/8139too.c 23 May 2002 01:51:13 -0000 1.12 +++ drivers/net/8139too.c 26 Jun 2002 01:53:17 -0000 @@ -3,7 +3,7 @@ 8139too.c: A RealTek RTL-8139 Fast Ethernet driver for Linux. Maintained by Jeff Garzik <jg...@ma...> - Copyright 2000,2001 Jeff Garzik + Copyright 2000-2002 Jeff Garzik Much code comes from Donald Becker's rtl8139.c driver, versions 1.13 and older. This driver was originally based @@ -92,7 +92,7 @@ */ #define DRV_NAME "8139too" -#define DRV_VERSION "0.9.24" +#define DRV_VERSION "0.9.25" #include <linux/config.h> @@ -212,6 +212,8 @@ enum { HAS_LNK_CHNG = 0x040000, }; +#define RTL_NUM_STATS 4 /* number of ETHTOOL_GSTATS u64's */ +#define RTL_REGS_VER 1 /* version of reg. data in ETHTOOL_GREGS */ #define RTL_MIN_IO_SIZE 0x80 #define RTL8139B_IO_SIZE 256 @@ -283,6 +285,14 @@ static struct pci_device_id rtl8139_pci_ }; MODULE_DEVICE_TABLE (pci, rtl8139_pci_tbl); +static struct { + const char str[ETH_GSTRING_LEN]; +} ethtool_stats_keys[] = { + { "early_rx" }, + { "tx_buf_mapped" }, + { "tx_timeouts" }, + { "rx_lost_in_ring" }, +}; /* The rest of these values should never change. */ @@ -580,6 +590,7 @@ struct rtl8139_private { struct rtl_extra_stats xstats; int time_to_die; struct mii_if_info mii; + unsigned int regs_len; }; MODULE_AUTHOR ("Jeff Garzik <jg...@ma...>"); @@ -828,6 +839,7 @@ static int __devinit rtl8139_init_board ioaddr = (void *) pio_start; dev->base_addr = pio_start; tp->mmio_addr = ioaddr; + tp->regs_len = pio_len; #else /* ioremap MMIO region */ ioaddr = ioremap (mmio_start, mmio_len); @@ -838,6 +850,7 @@ static int __devinit rtl8139_init_board } dev->base_addr = (long) ioaddr; tp->mmio_addr = ioaddr; + tp->regs_len = mmio_len; #endif /* USE_IO_OPS */ /* Bring old chips out of low-power mode. */ @@ -1029,6 +1042,7 @@ static int __devinit rtl8139_init_one (s } else #endif tp->phys[0] = 32; + tp->mii.phy_id = tp->phys[0]; /* The lower four bits are the media type. */ option = (board_idx >= MAX_UNITS) ? 0 : media[board_idx]; @@ -2252,6 +2266,7 @@ static int netdev_ethtool_ioctl (struct strcpy (info.driver, DRV_NAME); strcpy (info.version, DRV_VERSION); strcpy (info.bus_info, np->pci_dev->slot_name); + info.regdump_len = np->regs_len; if (copy_to_user (useraddr, &info, sizeof (info))) return -EFAULT; return 0; @@ -2331,6 +2346,104 @@ static int netdev_ethtool_ioctl (struct return rc; } +/* TODO: we are too slack to do reg dumping for pio, for now */ +#ifndef CONFIG_8139TOO_PIO + /* NIC register dump */ + case ETHTOOL_GREGS: { + struct ethtool_regs regs; + unsigned int regs_len = np->regs_len; + u8 *regbuf = kmalloc(regs_len, GFP_KERNEL); + int rc; + + if (!regbuf) + return -ENOMEM; + memset(regbuf, 0, regs_len); + + rc = copy_from_user(®s, useraddr, sizeof(regs)); + if (rc) { + rc = -EFAULT; + goto err_out_gregs; + } + + if (regs.len > regs_len) + regs.len = regs_len; + if (regs.len < regs_len) { + rc = -EINVAL; + goto err_out_gregs; + } + + regs.version = RTL_REGS_VER; + rc = copy_to_user(useraddr, ®s, sizeof(regs)); + if (rc) { + rc = -EFAULT; + goto err_out_gregs; + } + + useraddr += offsetof(struct ethtool_regs, data); + + spin_lock_irq(&np->lock); + memcpy_fromio(regbuf, np->mmio_addr, regs_len); + spin_unlock_irq(&np->lock); + + if (copy_to_user(useraddr, regbuf, regs_len)) + rc = -EFAULT; + +err_out_gregs: + kfree(regbuf); + return rc; + } +#endif /* CONFIG_8139TOO_PIO */ + + /* get string list(s) */ + case ETHTOOL_GSTRINGS: { + struct ethtool_gstrings estr = { ETHTOOL_GSTRINGS }; + + if (copy_from_user(&estr, useraddr, sizeof(estr))) + return -EFAULT; + if (estr.string_set != ETH_SS_STATS) + return -EINVAL; + + estr.len = RTL_NUM_STATS; + if (copy_to_user(useraddr, &estr, sizeof(estr))) + return -EFAULT; + if (copy_to_user(useraddr + sizeof(estr), + ðtool_stats_keys, + sizeof(ethtool_stats_keys))) + return -EFAULT; + return 0; + } + + /* get NIC-specific statistics */ + case ETHTOOL_GSTATS: { + struct ethtool_stats estats = { ETHTOOL_GSTATS }; + u64 *tmp_stats; + const unsigned int sz = sizeof(u64) * RTL_NUM_STATS; + int i; + + estats.n_stats = RTL_NUM_STATS; + if (copy_to_user(useraddr, &estats, sizeof(estats))) + return -EFAULT; + + tmp_stats = kmalloc(sz, GFP_KERNEL); + if (!tmp_stats) + return -ENOMEM; + memset(tmp_stats, 0, sz); + + i = 0; + tmp_stats[i++] = np->xstats.early_rx; + tmp_stats[i++] = np->xstats.tx_buf_mapped; + tmp_stats[i++] = np->xstats.tx_timeouts; + tmp_stats[i++] = np->xstats.rx_lost_in_ring; + if (i != RTL_NUM_STATS) + BUG(); + + i = copy_to_user(useraddr + sizeof(estats), tmp_stats, sz); + kfree(tmp_stats); + + if (i) + return -EFAULT; + return 0; + } default: break; } @@ -2449,7 +2562,7 @@ static void __set_rx_mode (struct net_de i++, mclist = mclist->next) { int bit_nr = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; - mc_filter[bit_nr >> 5] |= cpu_to_le32(1 << (bit_nr & 31)); + mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); rx_mode |= AcceptMulticast; } } Index: drivers/net/Config.in =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/net/Config.in,v retrieving revision 1.9 diff -u -3 -p -r1.9 Config.in --- drivers/net/Config.in 6 May 2002 00:50:02 -0000 1.9 +++ drivers/net/Config.in 26 Jun 2002 01:53:17 -0000 @@ -124,7 +124,7 @@ if [ "$CONFIG_NET_ETHERNET" = "y" ]; the tristate ' EtherExpress 16 support' CONFIG_EEXPRESS tristate ' EtherExpressPro support/EtherExpress 10 (i82595) support' CONFIG_EEXPRESS_PRO if [ "$CONFIG_OBSOLETE" = "y" ]; then - tristate ' FMV-181/182/183/184 support' CONFIG_FMV18X + tristate ' FMV-181/182/183/184 support (OBSOLETE)' CONFIG_FMV18X fi tristate ' HP PCLAN+ (27247B and 27252A) support' CONFIG_HPLAN_PLUS tristate ' HP PCLAN (27245 and other 27xxx series) support' CONFIG_HPLAN @@ -135,7 +135,7 @@ if [ "$CONFIG_NET_ETHERNET" = "y" ]; the dep_tristate ' SEEQ8005 support (EXPERIMENTAL)' CONFIG_SEEQ8005 $CONFIG_EXPERIMENTAL fi if [ "$CONFIG_OBSOLETE" = "y" ]; then - tristate ' SK_G16 support' CONFIG_SK_G16 + tristate ' SK_G16 support (OBSOLETE)' CONFIG_SK_G16 fi tristate ' CS89x0 support' CONFIG_CS89x0 fi @@ -187,7 +187,7 @@ if [ "$CONFIG_NET_ETHERNET" = "y" ]; the dep_tristate ' VIA Rhine support' CONFIG_VIA_RHINE $CONFIG_PCI dep_mbool ' Use MMIO instead of PIO (EXPERIMENTAL)' CONFIG_VIA_RHINE_MMIO $CONFIG_VIA_RHINE $CONFIG_EXPERIMENTAL if [ "$CONFIG_OBSOLETE" = "y" ]; then - dep_bool ' Zenith Z-Note support (EXPERIMENTAL)' CONFIG_ZNET $CONFIG_ISA + dep_bool ' Zenith Z-Note support (OBSOLETE)' CONFIG_ZNET $CONFIG_ISA fi if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_MIPS" = "y" ]; then bool ' Philips SAA9730 Ethernet support (EXPERIMENTAL)' CONFIG_LAN_SAA9730 @@ -252,9 +252,9 @@ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; the if [ "$CONFIG_INET" = "y" ]; then bool 'HIPPI driver support (EXPERIMENTAL)' CONFIG_HIPPI if [ "$CONFIG_HIPPI" = "y" -a "$CONFIG_PCI" = "y" ]; then - dep_tristate ' Essential RoadRunner HIPPI PCI adapter support' CONFIG_ROADRUNNER $CONFIG_PCI + dep_tristate ' Essential RoadRunner HIPPI PCI adapter support (EXPERIMENTAL)' CONFIG_ROADRUNNER $CONFIG_PCI if [ "$CONFIG_ROADRUNNER" != "n" ]; then - bool ' Use large TX/RX rings' CONFIG_ROADRUNNER_LARGE_RINGS + bool ' Use large TX/RX rings (EXPERIMENTAL)' CONFIG_ROADRUNNER_LARGE_RINGS fi fi fi Index: drivers/pcmcia/hd64465_ss.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/pcmcia/hd64465_ss.c,v retrieving revision 1.2 diff -u -3 -p -r1.2 hd64465_ss.c --- drivers/pcmcia/hd64465_ss.c 24 Jan 2002 11:04:15 -0000 1.2 +++ drivers/pcmcia/hd64465_ss.c 26 Jun 2002 01:53:17 -0000 @@ -37,6 +37,7 @@ #include <linux/vmalloc.h> #include <asm/errno.h> #include <linux/irq.h> +#include <linux/tqueue.h> #include <asm/io.h> #include <asm/hd64465.h> |
From: NIIBE Y. <gn...@m1...> - 2002-06-26 01:43:56
|
Changes from mainline included. 2002-06-26 NIIBE Yutaka <gn...@m1...> * AGAINST-2.5.23: New file. * AGAINST-2.5.22: Removed. * Makefile: Version 2.5.23. * arch/sh/Makefile, arch/sh/boot/Makefile, arch/sh/kernel/time.c, drivers/block/rd.c: Incorporate changes in 2.5.23. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.28 diff -u -3 -p -r1.28 Makefile --- Makefile 18 Jun 2002 04:05:00 -0000 1.28 +++ Makefile 26 Jun 2002 01:41:48 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 22 +SUBLEVEL = 23 EXTRAVERSION =-sh # We are using a recursive build, so we need to do a little thinking @@ -145,7 +145,8 @@ ifeq ($(filter $(noconfig_targets),$(MAK .config: @echo '***' @echo '*** You have not yet configured your kernel!' - @echo '*** Please run "make xconfig/menuconfig/config/oldconfig"' + @echo '*** Please run some configurator (do "make xconfig" or' + @echo '*** "make menuconfig" or "make oldconfig" or "make config").' @echo '***' @exit 1 @@ -330,18 +331,16 @@ scripts: # 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 our (misnomed) marker for whether we've run -# generated module versions and made archdep +# generated module versions .hdepend: $(if $(filter dep depend,$(MAKECMDGOALS)),FORCE) - @$(MAKE) archdep include/linux/modversions.h + @$(MAKE) include/linux/modversions.h @touch $@ ifdef CONFIG_MODVERSIONS @@ -420,8 +419,8 @@ $(patsubst %, _modinst_%, $(SUBDIRS)) : else # CONFIG_MODULES -# --------------------------------------------------------------------------- # Modules not configured +# --------------------------------------------------------------------------- modules modules_install: FORCE @echo @@ -433,6 +432,25 @@ modules modules_install: FORCE endif # CONFIG_MODULES +# Generate asm-offsets.h +# --------------------------------------------------------------------------- + +define generate-asm-offsets.h + (set -e; \ + echo "#ifndef __ASM_OFFSETS_H__"; \ + echo "#define __ASM_OFFSETS_H__"; \ + echo "/*"; \ + echo " * DO NOT MODIFY."; \ + echo " *"; \ + echo " * This file was generated by arch/$(ARCH)/Makefile"; \ + echo " *"; \ + echo " */"; \ + echo ""; \ + sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; \ + echo ""; \ + echo "#endif" ) +endef + # RPM target # --------------------------------------------------------------------------- @@ -461,6 +479,8 @@ rpm: clean spec else # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) +ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) + # Targets which don't need .config # =========================================================================== # @@ -519,23 +539,6 @@ allmodconfig: 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 # --------------------------------------------------------------------------- @@ -604,7 +607,8 @@ clean: archclean mrproper: clean archmrproper @echo 'Making mrproper' - @find . \( -size 0 -o -name .depend \) -type f -print | xargs rm -f + @find . \( -size 0 -o -name .depend -o -name .\*.cmd \) \ + -type f -print | xargs rm -f @rm -f $(MRPROPER_FILES) @rm -rf $(MRPROPER_DIRS) @$(MAKE) -C Documentation/DocBook mrproper @@ -639,8 +643,6 @@ sgmldocs psdocs pdfdocs htmldocs: @$(MAKE) -C Documentation/DocBook $@ -endif # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) - # Scripts to check various things for consistency # --------------------------------------------------------------------------- @@ -652,6 +654,18 @@ checkhelp: checkincludes: find * -name '*.[hcS]' -type f -print | sort | xargs $(PERL) -w scripts/checkincludes.pl + +else # ifneq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) + +# We're called with both targets which do and do not need +# .config included. Handle them one after the other. +# =========================================================================== + +%:: FORCE + $(MAKE) $@ + +endif # ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) +endif # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) # FIXME Should go into a make.lib or something # =========================================================================== Index: TODO =================================================================== RCS file: /cvsroot/linuxsh/linux/TODO,v retrieving revision 1.2 diff -u -3 -p -r1.2 TODO --- TODO 10 Apr 2002 11:09:38 -0000 1.2 +++ TODO 26 Jun 2002 01:41:48 -0000 @@ -1,3 +1,13 @@ +2.5.23: +change_page_attr + arch/i386/mm/ioremap.c + arch/i386/mm/pageattr.c + include/asm-i386/cacheflush.h + include/asm-i386/io.h + include/asm-i386/page.h + include/asm-i386/pgtable-2level.h + include/asm-i386/pgtable.h + * arch/sh/kernel/setup.c (setup_arch): request_resource Index: arch/sh/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Makefile,v retrieving revision 1.2 diff -u -3 -p -r1.2 Makefile --- arch/sh/Makefile 16 Oct 2001 21:33:00 -0000 1.2 +++ arch/sh/Makefile 26 Jun 2002 01:41:48 -0000 @@ -94,6 +94,3 @@ archclean: archmrproper: rm -f arch/sh/vmlinux.lds - -archdep: - @$(MAKEBOOT) dep Index: arch/sh/boot/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/boot/Makefile,v retrieving revision 1.2 diff -u -3 -p -r1.2 Makefile --- arch/sh/boot/Makefile 18 Jun 2002 04:05:00 -0000 1.2 +++ arch/sh/boot/Makefile 26 Jun 2002 01:41:48 -0000 @@ -25,8 +25,6 @@ install: Image zinstall: zImage sh -x ./install.sh $(KERNELRELEASE) zImage $(TOPDIR)/System.map "$(INSTALL_PATH)" -dep: - clean: rm -f tools/build rm -f setup bootsect zImage compressed/vmlinux.out Index: arch/sh/kernel/time.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/time.c,v retrieving revision 1.3 diff -u -3 -p -r1.3 time.c --- arch/sh/kernel/time.c 25 Apr 2002 07:21:04 -0000 1.3 +++ arch/sh/kernel/time.c 26 Jun 2002 01:41:48 -0000 @@ -70,6 +70,8 @@ #endif /* CONFIG_CPU_SUBTYPE_ST40STB1 */ #endif /* __sh3__ or __SH4__ */ +u64 jiffies_64; + extern rwlock_t xtime_lock; extern unsigned long wall_jiffies; #define TICK_SIZE tick Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.15 diff -u -3 -p -r1.15 rd.c --- drivers/block/rd.c 18 Jun 2002 04:05:00 -0000 1.15 +++ drivers/block/rd.c 26 Jun 2002 01:41:48 -0000 @@ -45,6 +45,8 @@ #include <linux/config.h> #include <linux/string.h> #include <linux/slab.h> +#include <asm/atomic.h> +#include <linux/bio.h> #include <linux/module.h> #include <linux/init.h> #include <linux/devfs_fs_kernel.h> |
From: Matan Ziv-Av <ma...@sv...> - 2002-06-21 20:10:29
|
On Wed, 19 Jun 2002, No Such User wrote: > The SH7751R incorporates a 16-kbyte instruction cache (IC) for > instructions and a 32-kbyte operand cache (OC) for data. Half of the > operand cache memory (16 kbytes) can also be used as on-chip RAM. When > the EMODE bit in the CCR register is cleared to 0 in the SH7751R, both > the IC and OC are set to SH7751 compatible mode. Operation is as shown > in table 4.1. When the EMODE bit in the CCR register is set to 1, the > cache characteristics are as shown in table 4.2. After a power-on reset > or manual reset, the initial value of the EMODE bit is 0. > > I would have thought that all that needs to be done is to flip this bit > during register initialisation of the processor. For controlling the caches you need to implement functions to purge or flush parts of the caches, and those are different when the cache is larger and is associative (in the file arch/sh/mm/cache-sh4.c, and the .S files in that directory). > Matan - (sorry I'm new to the list) out of interest what board have you been > using the 7751R on? A custom board designed by the company that hires me - it includes SH4, Ram, Rom and 3 ethernet controllers. -- Matan Ziv-Av. ma...@sv... |
From: Andriy S. <ask...@im...> - 2002-06-20 15:35:07
|
Hi, On Fri, Jun 14, 2002 at 07:43:03PM +0900, YAEGASHI Takeshi wrote: > > I wrote new IDE driver for CompactFlash configured as memory card last > week. It simply filters out needless interrupts from CF but the > kernel seems to get more stable with it. > I would like to test my HD64461 PCMCIA suuport with your new IDE driver. Andriy Skulysh |
From: DR. I. <dr...@ma...> - 2002-06-20 00:57:07
|
FROM:DR ISA BELLO LAGOS-NIGERIA E-mail:dr...@ma... or dr...@go... STRICTLY CONFIDENTIAL ATTN: THE PRESIDENT / C.E.O I am the Chief Medical Doctor and close confidant of Mrs. Maryam Abacha,the former first lady and wife of the late Gen. Sani Abacha, the former head of state and commander in chief of the armed forces of the Federal Republic of Nigeria. She (MRS. M. ABACHA), has as a result of the trust and confidence, she has in me mandated that I search for a reliable and trustworthy foreign partner, who will help receive some funds which she had in cash totaling US$95M (Ninty Five Million United States Dollars only) into a personal, company or any reliable foreign bank accounts within or outside your country as all their personal and family Bank accounts within and outside Nigeria have all been frozen by the Nigerian authorities. (I would refer you to the websiteof Weekly Tell magazine: WWW. TELLMAGAZINE.com of November 23, 1998 page 25,and another edition of TELL WEEKLY MAGAZINE of October 11 1999, Page 10 captioned the tyrants son, for further information about this money and the ABACHAS) This money in question has however, been clearly moved in defaced form and Deposited with a security company that has branchesin Asia, Africa, Europe and various parts of America. It may also interest you to note that she (MRS. ABACHA) and her family have, since theinception of the present democratic government, been placed under partial house arrest, with their international travelling passports seized pending when the current fund recovery face off between them and the present RTD. GEN. OBASANJO led Democratic Government is resolved, in which from allindication will not exceed this year. She has decided to offer anybody who will be willing to render this tremendous assistance, 40% of the total sum. Note that this transaction involves no risks whatsoever, as you will have no dealing with my country, Nigeria. Rather you will deal directly with the Security Company, which is based where the money is right now. Let me have your confidential Tel/Fax numbers in your response to this proposal. I shall let you into a complete detailed picture of this mutual beneficial transaction when I have received your anticipated positive reply. This matter should be treated as urgent and confidential! Regards, DR ISA BELLO |
From: No S. U. <no_...@ya...> - 2002-06-19 09:53:17
|
----- Original Message ----- From: "Matan Ziv-Av" <ma...@sv...> To: "NIIBE Yutaka" <gn...@m1...> Cc: <lin...@li...> Sent: Tuesday, June 18, 2002 9:58 AM Subject: Re: [linuxsh-dev] SH7751R > > Anyone try to port LinuxSH to that processor? > > > > I'm going to get the information... As far as I understand the 'R' version is identical to the vanilla 7751 bar the exception that it has an extended cache. > The kernel (2.4.18 from the CVS) works, after a small fix in > pci-sh7751.c to recognize the new PCI id. (This fix is in the patch I > sent to this list for flexbox support). > > Using the extended cache (double size, 2-way associative) still eludes > me. I hope someone else manages to do it. Looking at the 7751 Hardware manual ADE-602-201B Rev 3.0 (4/11/2002) which covers the 7751R, on page 87 : The SH7751R incorporates a 16-kbyte instruction cache (IC) for instructions and a 32-kbyte operand cache (OC) for data. Half of the operand cache memory (16 kbytes) can also be used as on-chip RAM. When the EMODE bit in the CCR register is cleared to 0 in the SH7751R, both the IC and OC are set to SH7751 compatible mode. Operation is as shown in table 4.1. When the EMODE bit in the CCR register is set to 1, the cache characteristics are as shown in table 4.2. After a power-on reset or manual reset, the initial value of the EMODE bit is 0. I would have thought that all that needs to be done is to flip this bit during register initialisation of the processor. Matan - (sorry I'm new to the list) out of interest what board have you been using the 7751R on? Best Wishes, ~Pev _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
From: NIIBE Y. <gn...@m1...> - 2002-06-18 23:28:32
|
Paul Mundt wrote: > Speaking of mainline .. what are the plans for pushing changes from HEAD > to Linus / stable to marcelo? Looking at the ChangeLog's on kernel.org, > it doesn't look like there's been a SuperH sync since 2.5.3-pre5. For 2.5, I've sent the updates to Linus but it's not included. It was around 2.5.9 to 2.5.13. Perhaps, I should use BK, for better inclusion. If there's anyone with experience of BK, I'd like to know how it's better (or not). After 2.5.14, I didn't sent update, as it's not yet stable (obviously broken). For 2.4, I'm waiting some feedback/testing of gUSA, before sending update to Merceleo. IMNSHO, gUSA is great feature which should be included to mainline soon. I'm thinking of running lmbench and get the number. -- |
From: Paul M. <pau...@ti...> - 2002-06-18 13:32:59
|
Speaking of mainline .. what are the plans for pushing changes from HEAD to Linus / stable to marcelo? Looking at the ChangeLog's on kernel.org, it doesn't look like there's been a SuperH sync since 2.5.3-pre5. On Tue, 2002-06-18 at 00:03, NIIBE Yutaka wrote: > Changes from mainline included. Regards, --=20 Paul Mundt pau...@ti... TimeSys Corporation |
From: SANDRA S. <jos...@ma...> - 2002-06-18 12:26:58
|
Dear Friend=2C This letter may come to you as a surprise due to the fact that we have not yet met=2E The message could be strange but reel if you pay some attention to it=2E I could have notified you about it at least for the sake of your integrity=2E Please accept my sincere apologies=2E In bringing this message of goodwill to you=2C I have to say that I have no intentions of causing you any pains=2E I am Ms=2E Sandra savimbi=2C daughter of the late rebel leader Jonas savimbi of Angola who was killed on the 22nd of febuary 2002 =2E I managed to get your contact details through =22The World Business Journal=22=2C a journal of the Johannesburg Chamber of Commerce in South Africa in the time I was desperately looking for a trustworthy person to assist me in this confidential business=2E my late father=2C Jonas savimbi was able to deposit a large sum of money in differnt banks in europe My father is presently death and the movement of his family members =28including me=29 is restricted=2E We are forbidden to either travel abroad or out of our localities=2E Presently=2C the US$25=2C600=2C000=2E00 twentyfive=2C MILLION=2C six HUNDRED DOLLARS my father transfered to Netherlands is safe and is in a security firm=2E I am therefore soliciting your help tohave this money transfered into your account=2E before my government get wind of this fund =2EYou know my father was a rebel leader in Angola before his death My reason for doing this is because it will be difficult for the Angolan government to trace my father's money to an individual's account=2C especially when such an individual has no relationship =2CI decided to keep that money for my family use=2E At present the money is kept in a Security Company in nertherland=2E I am currently and temporarily living in Angola with my husband=2E Moreover the political climatein Angola at the moment being so sensitive and unstable=2E When you are ready i will give you the information needed before you can get access to the fund you will then proceed to Netherlands where the US$25=2C600=2C000=2E00 twentyfive=2C MILLION=2C six HUNDRED DOLLARS will be given to you as payment=2E Alternatively=2C you can have the fund transferred into any account that suits you=2E and for your co-operation and partnership=2C we have unanimously agreed that you will be entitled to 5=2E5% of the money when successfully receive it in your account=2E The nature of your business is not relevant to the successful execution of this transaction=2E kindly provide me with all your contacts addresses including your personal telephone and fax number=2E All correspondence is for the attention of my counsel=3Ajoseph edward=2E Kindly get back to us=2E Sandra Savimbi=2E |
From: Matan Ziv-Av <ma...@sv...> - 2002-06-18 08:59:38
|
On Tue, 18 Jun 2002, NIIBE Yutaka wrote: > Anyone try to port LinuxSH to that processor? > > I'm going to get the information... The kernel (2.4.18 from the CVS) works, after a small fix in pci-sh7751.c to recognize the new PCI id. (This fix is in the patch I sent to this list for flexbox support). Using the extended cache (double size, 2-way associative) still eludes me. I hope someone else manages to do it. -- Matan Ziv-Av. ma...@sv... |
From: NIIBE Y. <gn...@m1...> - 2002-06-18 04:04:05
|
Changes from mainline included. 2002-06-18 NIIBE Yutaka <gn...@m1...> * include/asm-sh/system.h (prepare_to_switch): Removed. (prepare_arch_schedule, finish_arch_schedule, prepare_arch_switch, finish_arch_switch): Added. (switch_to): New API. * AGAINST-2.5.22: New file. * AGAINST-2.5.21: Removed. * Makefile: Version 2.5.22. * arch/sh/kernel/setup.c, drivers/Makefile, drivers/block/rd.c, drivers/char/Makefile, drivers/pci/pci.ids, fs/nfs/inode.c, init/do_mounts.c, mm/memory.c: Incorporate changes in 2.5.22. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.27 diff -u -3 -p -r1.27 Makefile --- Makefile 18 Jun 2002 03:36:24 -0000 1.27 +++ Makefile 18 Jun 2002 04:03:03 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 20 +SUBLEVEL = 22 EXTRAVERSION =-sh # We are using a recursive build, so we need to do a little thinking @@ -37,6 +37,56 @@ HOSTCFLAGS = -Wall -Wstrict-prototypes - 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,48 @@ DEPMOD = /sbin/depmod 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 \ + tags TAGS sgmldocs psdocs pdfdocs htmldocs \ + checkconfig checkhelp checkincludes -# -# Make "config" the default target if there is no configuration file or -# "depend" the target if there is no top-level dependency information. -# +ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) -ifeq (.config,$(wildcard .config)) -include .config -do-it-all: vmlinux -else -CONFIGURATION = config -do-it-all: config -endif +# Here goes the main Makefile +# =========================================================================== +# +# 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 + +# 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 +179,14 @@ ifdef CONFIG_MODULES 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 +210,7 @@ boot: vmlinux 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) \ @@ -162,17 +224,17 @@ cmd_link_vmlinux = $(LD) $(LINKFLAGS) $( define rule_link_vmlinux set -e - echo Generating build number + echo ' Generating build number' . scripts/mkversion > .tmpversion mv -f .tmpversion .version - $(MAKE) -C init - echo $(cmd_link_vmlinux) + +$(MAKE) -C init + $(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 +245,14 @@ $(sort $(vmlinux-objs)): $(SUBDIRS) ; # Handle descending into subdirectories listed in $(SUBDIRS) .PHONY: $(SUBDIRS) -$(SUBDIRS): prepare +$(SUBDIRS): .hdepend 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. +# 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 include/config/MARKER # Single targets # --------------------------------------------------------------------------- @@ -202,6 +263,8 @@ prepare: .hdepend include/config/MARKER @$(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 @@ -212,16 +275,25 @@ prepare: .hdepend include/config/MARKER # before switching between archs anyway. include/asm: - @echo 'Making asm->asm-$(ARCH) symlink' + @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 ' SPLIT 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 +301,77 @@ include/config/MARKER: scripts/split-inc # 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: 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)) +# .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 $@ + 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 | sort`; 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 +385,8 @@ MODFLAGS += -include $(HPATH)/linux/modv 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 @@ -351,44 +433,9 @@ modules modules_install: FORCE 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 +# 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: @@ -412,37 +459,90 @@ rpm: clean spec 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 # --------------------------------------------------------------------------- # 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 \ @@ -461,10 +561,6 @@ CLEAN_FILES += \ 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 +579,79 @@ MRPROPER_FILES += \ 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 \ + .tmpversion # directories removed with 'make mrproper' MRPROPER_DIRS += \ + .tmp_export-objs \ 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 -f $(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 + +# 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 # =========================================================================== @@ -530,5 +671,20 @@ if_changed_rule = $(if $(strip $? \ $(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: Index: arch/sh/boot/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/boot/Makefile,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 Makefile --- arch/sh/boot/Makefile 15 Oct 2001 20:44:47 -0000 1.1.1.1 +++ arch/sh/boot/Makefile 18 Jun 2002 04:03:03 -0000 @@ -10,19 +10,19 @@ SYSTEM =$(TOPDIR)/vmlinux -Image: $(CONFIGURE) $(SYSTEM) +Image: $(SYSTEM) $(OBJCOPY) $(SYSTEM) Image -zImage: $(CONFIGURE) compressed/vmlinux +zImage: compressed/vmlinux $(OBJCOPY) compressed/vmlinux zImage compressed/vmlinux: $(TOPDIR)/vmlinux $(MAKE) -C compressed vmlinux -install: $(CONFIGURE) Image +install: Image sh -x ./install.sh $(KERNELRELEASE) Image $(TOPDIR)/System.map "$(INSTALL_PATH)" -zinstall: $(CONFIGURE) zImage +zinstall: zImage sh -x ./install.sh $(KERNELRELEASE) zImage $(TOPDIR)/System.map "$(INSTALL_PATH)" dep: Index: arch/sh/kernel/setup.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/setup.c,v retrieving revision 1.6 diff -u -3 -p -r1.6 setup.c --- arch/sh/kernel/setup.c 24 May 2002 14:40:45 -0000 1.6 +++ arch/sh/kernel/setup.c 18 Jun 2002 04:03:03 -0000 @@ -32,6 +32,7 @@ #include <linux/console.h> #include <linux/ctype.h> #include <linux/seq_file.h> +#include <linux/root_dev.h> #include <asm/processor.h> #include <asm/page.h> #include <asm/pgtable.h> @@ -275,7 +276,7 @@ void __init setup_arch(char **cmdline_p) sh_console_init(); #endif - ROOT_DEV = to_kdev_t(ORIG_ROOT_DEV); + ROOT_DEV = ORIG_ROOT_DEV; #ifdef CONFIG_BLK_DEV_RAM rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK; Index: drivers/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/Makefile,v retrieving revision 1.9 diff -u -3 -p -r1.9 Makefile --- drivers/Makefile 18 Jun 2002 02:54:38 -0000 1.9 +++ drivers/Makefile 18 Jun 2002 04:03:03 -0000 @@ -6,12 +6,6 @@ # -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 \ - base char block misc net media cdrom maple - obj-$(CONFIG_PCI) += pci/ obj-$(CONFIG_ACPI) += acpi/ obj-$(CONFIG_PARPORT) += parport/ Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.14 diff -u -3 -p -r1.14 rd.c --- drivers/block/rd.c 18 Jun 2002 02:54:38 -0000 1.14 +++ drivers/block/rd.c 18 Jun 2002 04:03:03 -0000 @@ -57,6 +57,7 @@ * include/linux/major.h for now */ #define MAJOR_NR RAMDISK_MAJOR +#define DEVICE_NR(device) (minor(device)) #include <linux/blk.h> #include <linux/blkpg.h> @@ -144,6 +145,7 @@ static int rd_blkdev_pagecache_IO(int rw { struct address_space * mapping; unsigned long index; + unsigned int vec_offset; int offset, size, err; err = 0; @@ -152,6 +154,7 @@ static int rd_blkdev_pagecache_IO(int rw index = sector >> (PAGE_CACHE_SHIFT - 9); offset = (sector << 9) & ~PAGE_CACHE_MASK; size = vec->bv_len; + vec_offset = vec->bv_offset; do { int count; @@ -186,13 +189,14 @@ static int rd_blkdev_pagecache_IO(int rw if (rw == READ) { src = kmap(page); src += offset; - dst = kmap(vec->bv_page) + vec->bv_offset; + dst = kmap(vec->bv_page) + vec_offset; } else { dst = kmap(page); dst += offset; - src = kmap(vec->bv_page) + vec->bv_offset; + src = kmap(vec->bv_page) + vec_offset; } offset = 0; + vec_offset += count; memcpy(dst, src, count); @@ -354,7 +358,7 @@ static struct file_operations initrd_fop static int rd_open(struct inode * inode, struct file * filp) { - int unit = DEVICE_NR(inode->i_rdev); + int unit = minor(inode->i_rdev); #ifdef CONFIG_BLK_DEV_INITRD if (unit == INITRD_MINOR) { Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.11 diff -u -3 -p -r1.11 Makefile --- drivers/char/Makefile 18 Jun 2002 03:36:24 -0000 1.11 +++ drivers/char/Makefile 18 Jun 2002 04:03:03 -0000 @@ -17,8 +17,6 @@ export-objs := busmouse.o console.o sonypi.o tty_io.o tty_ioctl.o generic_serial.o rtc.o \ ip2main.o -mod-subdirs := ftape drm pcmcia - KEYMAP =defkeymap.o KEYBD =pc_keyb.o CONSOLE =console.o @@ -217,17 +215,12 @@ obj-$(CONFIG_AGP) += agp/ 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: Index: drivers/pci/pci.ids =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/pci/pci.ids,v retrieving revision 1.13 diff -u -3 -p -r1.13 pci.ids --- drivers/pci/pci.ids 18 Jun 2002 02:17:19 -0000 1.13 +++ drivers/pci/pci.ids 18 Jun 2002 04:03:04 -0000 @@ -2040,6 +2040,7 @@ 8e2e 7000 KF-230TX 8e2e 7100 KF-230TX/2 a0a0 0007 ALN-325C + 8169 RTL-8169 10ed Ascii Corporation 7310 V7310 10ee Xilinx, Inc. Index: fs/nfs/inode.c =================================================================== RCS file: /cvsroot/linuxsh/linux/fs/nfs/inode.c,v retrieving revision 1.8 diff -u -3 -p -r1.8 inode.c --- fs/nfs/inode.c 18 Jun 2002 03:36:24 -0000 1.8 +++ fs/nfs/inode.c 18 Jun 2002 04:03:04 -0000 @@ -247,7 +247,7 @@ int nfs_fill_super(struct super_block *s int tcp, version, maxlen; /* We probably want something more informative here */ - snprintf(sb->s_id, sizeof(sb->s_id), "%x:%x", major(sb->s_dev), minor(sb->s_dev)); + snprintf(sb->s_id, sizeof(sb->s_id), "%x:%x", MAJOR(sb->s_dev), MINOR(sb->s_dev)); sb->s_magic = NFS_SUPER_MAGIC; sb->s_op = &nfs_sops; @@ -695,6 +695,7 @@ __nfs_fhget(struct super_block *sb, stru inode->i_atime = new_atime; NFS_CACHE_MTIME(inode) = new_mtime; inode->i_mtime = nfs_time_to_secs(new_mtime); + NFS_MTIME_UPDATE(inode) = jiffies; NFS_CACHE_ISIZE(inode) = new_size; inode->i_size = new_isize; inode->i_mode = fattr->mode; @@ -1060,7 +1061,8 @@ __nfs_refresh_inode(struct inode *inode, inode->i_atime = new_atime; if (NFS_CACHE_MTIME(inode) != new_mtime) { - NFS_MTIME_UPDATE(inode) = jiffies; + if (invalid) + NFS_MTIME_UPDATE(inode) = jiffies; NFS_CACHE_MTIME(inode) = new_mtime; inode->i_mtime = nfs_time_to_secs(new_mtime); } Index: include/asm-sh/system.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/system.h,v retrieving revision 1.4 diff -u -3 -p -r1.4 system.h --- include/asm-sh/system.h 26 Mar 2002 01:56:39 -0000 1.4 +++ include/asm-sh/system.h 18 Jun 2002 04:03:04 -0000 @@ -15,8 +15,12 @@ #ifdef CONFIG_SMP #error no SMP SuperH #else -#define prepare_to_switch() do { } while(0) -#define switch_to(prev, next) do { \ +#define prepare_arch_schedule(prev) do { } while(0) +#define finish_arch_schedule(prev) do { } while(0) +#define prepare_arch_switch(rq) do { } while(0) +#define finish_arch_switch(rq) do { } while(0) + +#define switch_to(prev, next, last) do { \ register unsigned long __dummy; \ register unsigned long *__ts1 __asm__ ("r1") = &prev->thread.sp; \ register unsigned long *__ts2 __asm__ ("r2") = &prev->thread.pc; \ Index: init/do_mounts.c =================================================================== RCS file: /cvsroot/linuxsh/linux/init/do_mounts.c,v retrieving revision 1.8 diff -u -3 -p -r1.8 do_mounts.c --- init/do_mounts.c 18 Jun 2002 03:36:24 -0000 1.8 +++ init/do_mounts.c 18 Jun 2002 04:03:04 -0000 @@ -11,6 +11,7 @@ #include <linux/tty.h> #include <linux/init.h> #include <linux/suspend.h> +#include <linux/root_dev.h> #include <linux/nfs_fs.h> #include <linux/nfs_fs_sb.h> @@ -55,7 +56,7 @@ int root_mountflags = MS_RDONLY | MS_VER static char root_device_name[64]; /* this is initialized in init/main.c */ -kdev_t ROOT_DEV; +dev_t ROOT_DEV; static int do_devfs = 0; @@ -240,7 +241,7 @@ static int __init root_dev_setup(char *l int i; char ch; - ROOT_DEV = name_to_kdev_t(line); + ROOT_DEV = kdev_t_to_nr(name_to_kdev_t(line)); memset (root_device_name, 0, sizeof root_device_name); if (strncmp (line, "/dev/", 5) == 0) line += 5; for (i = 0; i < sizeof root_device_name - 1; ++i) @@ -320,12 +321,12 @@ retry: * and bad superblock on root device. */ printk ("VFS: Cannot open root device \"%s\" or %s\n", - root_device_name, kdevname (ROOT_DEV)); + root_device_name, kdevname (to_kdev_t(ROOT_DEV))); printk ("Please append a correct \"root=\" boot option\n"); panic("VFS: Unable to mount root fs on %s", - kdevname(ROOT_DEV)); + kdevname(to_kdev_t(ROOT_DEV))); } - panic("VFS: Unable to mount root fs on %s", kdevname(ROOT_DEV)); + panic("VFS: Unable to mount root fs on %s", kdevname(to_kdev_t(ROOT_DEV))); out: putname(fs_names); sys_chdir("/root"); @@ -346,7 +347,7 @@ static int __init mount_nfs_root(void) } #endif -static int __init create_dev(char *name, kdev_t dev, char *devfs_name) +static int __init create_dev(char *name, dev_t dev, char *devfs_name) { void *handle; char path[64]; @@ -354,10 +355,10 @@ static int __init create_dev(char *name, sys_unlink(name); if (!do_devfs) - return sys_mknod(name, S_IFBLK|0600, kdev_t_to_nr(dev)); + return sys_mknod(name, S_IFBLK|0600, dev); - handle = devfs_find_handle(NULL, kdev_none(dev) ? devfs_name : NULL, - major(dev), minor(dev), DEVFS_SPECIAL_BLK, 1); + handle = devfs_find_handle(NULL, !dev ? devfs_name : NULL, + MAJOR(dev), MINOR(dev), DEVFS_SPECIAL_BLK, 1); if (!handle) return -1; n = devfs_generate_path(handle, path + 5, sizeof (path) - 5); @@ -635,7 +636,7 @@ static int __init rd_load_disk(int n) #ifdef CONFIG_BLK_DEV_RAM if (rd_prompt) change_floppy("root floppy disk to be loaded into RAM disk"); - create_dev("/dev/ram", mk_kdev(RAMDISK_MAJOR, n), NULL); + create_dev("/dev/ram", MKDEV(RAMDISK_MAJOR, n), NULL); #endif return rd_load_image("/dev/root"); } @@ -700,7 +701,7 @@ static void __init devfs_make_root(char static void __init mount_root(void) { #ifdef CONFIG_ROOT_NFS - if (major(ROOT_DEV) == UNNAMED_MAJOR) { + if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) { if (mount_nfs_root()) { sys_chdir("/root"); ROOT_DEV = current->fs->pwdmnt->mnt_sb->s_dev; @@ -708,17 +709,17 @@ static void __init mount_root(void) return; } printk(KERN_ERR "VFS: Unable to mount root fs via NFS, trying floppy.\n"); - ROOT_DEV = mk_kdev(FLOPPY_MAJOR, 0); + ROOT_DEV = Root_FD0; } #endif devfs_make_root(root_device_name); create_dev("/dev/root", ROOT_DEV, root_device_name); #ifdef CONFIG_BLK_DEV_FD - if (major(ROOT_DEV) == FLOPPY_MAJOR) { + if (MAJOR(ROOT_DEV) == FLOPPY_MAJOR) { /* rd_doload is 2 for a dual initrd/ramload setup */ if (rd_doload==2) { if (rd_load_disk(1)) { - ROOT_DEV = mk_kdev(RAMDISK_MAJOR, 1); + ROOT_DEV = Root_RAM1; create_dev("/dev/root", ROOT_DEV, NULL); } } else @@ -753,11 +754,10 @@ static int do_linuxrc(void * shell) static void __init handle_initrd(void) { #ifdef CONFIG_BLK_DEV_INITRD - kdev_t ram0 = mk_kdev(RAMDISK_MAJOR,0); int error; int i, pid; - create_dev("/dev/root.old", ram0, NULL); + create_dev("/dev/root.old", Root_RAM0, NULL); mount_block_root("/dev/root.old", root_mountflags & ~MS_RDONLY); sys_mkdir("/old", 0700); sys_chdir("/old"); @@ -771,12 +771,12 @@ static void __init handle_initrd(void) sys_mount("..", ".", NULL, MS_MOVE, NULL); sys_umount("/old/dev", 0); - if (real_root_dev == kdev_t_to_nr(ram0)) { + if (real_root_dev == Root_RAM0) { sys_chdir("/old"); return; } - ROOT_DEV = to_kdev_t(real_root_dev); + ROOT_DEV = real_root_dev; mount_root(); printk(KERN_NOTICE "Trying to move old root to /initrd ... "); @@ -803,8 +803,8 @@ static void __init handle_initrd(void) static int __init initrd_load(void) { #ifdef CONFIG_BLK_DEV_INITRD - create_dev("/dev/ram", mk_kdev(RAMDISK_MAJOR, 0), NULL); - create_dev("/dev/initrd", mk_kdev(RAMDISK_MAJOR, INITRD_MINOR), NULL); + create_dev("/dev/ram", MKDEV(RAMDISK_MAJOR, 0), NULL); + create_dev("/dev/initrd", MKDEV(RAMDISK_MAJOR, INITRD_MINOR), NULL); #endif return rd_load_image("/dev/initrd"); } @@ -814,11 +814,11 @@ static int __init initrd_load(void) */ void prepare_namespace(void) { - int is_floppy = major(ROOT_DEV) == FLOPPY_MAJOR; + int is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR; #ifdef CONFIG_BLK_DEV_INITRD if (!initrd_start) mount_initrd = 0; - real_root_dev = kdev_t_to_nr(ROOT_DEV); + real_root_dev = ROOT_DEV; #endif sys_mkdir("/dev", 0700); sys_mkdir("/root", 0700); @@ -835,12 +835,12 @@ void prepare_namespace(void) software_resume(); if (mount_initrd) { - if (initrd_load() && !kdev_same(ROOT_DEV, mk_kdev(RAMDISK_MAJOR, 0))) { + if (initrd_load() && ROOT_DEV != Root_RAM0) { handle_initrd(); goto out; } } else if (is_floppy && rd_doload && rd_load_disk(0)) - ROOT_DEV = mk_kdev(RAMDISK_MAJOR, 0); + ROOT_DEV = Root_RAM0; mount_root(); out: sys_umount("/dev", 0); Index: mm/memory.c =================================================================== RCS file: /cvsroot/linuxsh/linux/mm/memory.c,v retrieving revision 1.18 diff -u -3 -p -r1.18 memory.c --- mm/memory.c 18 Jun 2002 03:36:24 -0000 1.18 +++ mm/memory.c 18 Jun 2002 04:03:04 -0000 @@ -310,17 +310,6 @@ nomem: return -ENOMEM; } -/* - * Return indicates whether a page was freed so caller can adjust rss - */ -static inline void forget_pte(pte_t page) -{ - if (!pte_none(page)) { - printk("forget_pte: old mapping existed!\n"); - BUG(); - } -} - static void zap_pte_range(mmu_gather_t *tlb, pmd_t * pmd, unsigned long address, unsigned long size) { unsigned long offset; @@ -427,7 +416,7 @@ void zap_page_range(struct vm_area_struc spin_lock(&mm->page_table_lock); flush_cache_range(vma, address, end); - tlb = tlb_gather_mmu(mm); + tlb = tlb_gather_mmu(mm, 0); unmap_page_range(tlb, vma, address, end); tlb_finish_mmu(tlb, start, end); spin_unlock(&mm->page_table_lock); @@ -777,9 +766,8 @@ static inline void zeromap_pte_range(pte end = PMD_SIZE; do { pte_t zero_pte = pte_wrprotect(mk_pte(ZERO_PAGE(address), prot)); - pte_t oldpage = ptep_get_and_clear(pte); + BUG_ON(!pte_none(*pte)); set_pte(pte, zero_pte); - forget_pte(oldpage); address += PAGE_SIZE; pte++; } while (address && (address < end)); @@ -853,11 +841,9 @@ static inline void remap_pte_range(pte_t end = PMD_SIZE; pfn = phys_addr >> PAGE_SHIFT; do { - pte_t oldpage = ptep_get_and_clear(pte); - + BUG_ON(!pte_none(*pte)); if (!pfn_valid(pfn) || PageReserved(pfn_to_page(pfn))) set_pte(pte, pfn_pte(pfn, prot)); - forget_pte(oldpage); address += PAGE_SIZE; pfn++; pte++; |
From: NIIBE Y. <gn...@m1...> - 2002-06-18 03:46:19
|
Changes from mainline included. 2002-06-18 NIIBE Yutaka <gn...@m1...> * AGAINST-2.5.21: New file. * AGAINST-2.5.20: Removed. * Makefile: Version 2.5.21. * arch/sh/boot/Makefile, drivers/block/rd.c, drivers/char/Makefile, fs/nfs/inode.c: Incorporate changes in 2.5.21. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.27 diff -u -3 -p -r1.27 Makefile --- Makefile 18 Jun 2002 03:36:24 -0000 1.27 +++ Makefile 18 Jun 2002 03:45:17 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 20 +SUBLEVEL = 21 EXTRAVERSION =-sh # We are using a recursive build, so we need to do a little thinking @@ -37,6 +37,56 @@ HOSTCFLAGS = -Wall -Wstrict-prototypes - 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 @@ DEPMOD = /sbin/depmod 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 -# -# Make "config" the default target if there is no configuration file or -# "depend" the target if there is no top-level dependency information. -# +ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) -ifeq (.config,$(wildcard .config)) -include .config -do-it-all: vmlinux -else -CONFIGURATION = config -do-it-all: config -endif +# Here goes the main Makefile +# =========================================================================== +# +# 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 + +# 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 @@ ifdef CONFIG_MODULES 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 @@ boot: vmlinux 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 @@ define rule_link_vmlinux . 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 @@ $(sort $(vmlinux-objs)): $(SUBDIRS) ; # 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 @@ prepare: .hdepend include/config/MARKER @$(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 @@ prepare: .hdepend include/config/MARKER 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 @@ include/config/MARKER: scripts/split-inc # 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: 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)) +# .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 $@ + 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 @@ MODFLAGS += -include $(HPATH)/linux/modv 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 @@ checkincludes: 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: clean spec 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 @@ CLEAN_FILES += \ 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 @@ MRPROPER_FILES += \ 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 @@ if_changed_rule = $(if $(strip $? \ $(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: Index: arch/sh/boot/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/boot/Makefile,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 Makefile --- arch/sh/boot/Makefile 15 Oct 2001 20:44:47 -0000 1.1.1.1 +++ arch/sh/boot/Makefile 18 Jun 2002 03:45:18 -0000 @@ -10,19 +10,19 @@ SYSTEM =$(TOPDIR)/vmlinux -Image: $(CONFIGURE) $(SYSTEM) +Image: $(SYSTEM) $(OBJCOPY) $(SYSTEM) Image -zImage: $(CONFIGURE) compressed/vmlinux +zImage: compressed/vmlinux $(OBJCOPY) compressed/vmlinux zImage compressed/vmlinux: $(TOPDIR)/vmlinux $(MAKE) -C compressed vmlinux -install: $(CONFIGURE) Image +install: Image sh -x ./install.sh $(KERNELRELEASE) Image $(TOPDIR)/System.map "$(INSTALL_PATH)" -zinstall: $(CONFIGURE) zImage +zinstall: zImage sh -x ./install.sh $(KERNELRELEASE) zImage $(TOPDIR)/System.map "$(INSTALL_PATH)" dep: Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.14 diff -u -3 -p -r1.14 rd.c --- drivers/block/rd.c 18 Jun 2002 02:54:38 -0000 1.14 +++ drivers/block/rd.c 18 Jun 2002 03:45:18 -0000 @@ -144,6 +144,7 @@ static int rd_blkdev_pagecache_IO(int rw { struct address_space * mapping; unsigned long index; + unsigned int vec_offset; int offset, size, err; err = 0; @@ -152,6 +153,7 @@ static int rd_blkdev_pagecache_IO(int rw index = sector >> (PAGE_CACHE_SHIFT - 9); offset = (sector << 9) & ~PAGE_CACHE_MASK; size = vec->bv_len; + vec_offset = vec->bv_offset; do { int count; @@ -186,13 +188,14 @@ static int rd_blkdev_pagecache_IO(int rw if (rw == READ) { src = kmap(page); src += offset; - dst = kmap(vec->bv_page) + vec->bv_offset; + dst = kmap(vec->bv_page) + vec_offset; } else { dst = kmap(page); dst += offset; - src = kmap(vec->bv_page) + vec->bv_offset; + src = kmap(vec->bv_page) + vec_offset; } offset = 0; + vec_offset += count; memcpy(dst, src, count); Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.11 diff -u -3 -p -r1.11 Makefile --- drivers/char/Makefile 18 Jun 2002 03:36:24 -0000 1.11 +++ drivers/char/Makefile 18 Jun 2002 03:45:18 -0000 @@ -217,17 +217,12 @@ obj-$(CONFIG_AGP) += agp/ 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: Index: fs/nfs/inode.c =================================================================== RCS file: /cvsroot/linuxsh/linux/fs/nfs/inode.c,v retrieving revision 1.8 diff -u -3 -p -r1.8 inode.c --- fs/nfs/inode.c 18 Jun 2002 03:36:24 -0000 1.8 +++ fs/nfs/inode.c 18 Jun 2002 03:45:18 -0000 @@ -695,6 +695,7 @@ __nfs_fhget(struct super_block *sb, stru inode->i_atime = new_atime; NFS_CACHE_MTIME(inode) = new_mtime; inode->i_mtime = nfs_time_to_secs(new_mtime); + NFS_MTIME_UPDATE(inode) = jiffies; NFS_CACHE_ISIZE(inode) = new_size; inode->i_size = new_isize; inode->i_mode = fattr->mode; @@ -1060,7 +1061,8 @@ __nfs_refresh_inode(struct inode *inode, inode->i_atime = new_atime; if (NFS_CACHE_MTIME(inode) != new_mtime) { - NFS_MTIME_UPDATE(inode) = jiffies; + if (invalid) + NFS_MTIME_UPDATE(inode) = jiffies; NFS_CACHE_MTIME(inode) = new_mtime; inode->i_mtime = nfs_time_to_secs(new_mtime); } |
From: NIIBE Y. <gn...@m1...> - 2002-06-18 03:35:58
|
Changes from mainline included. 2002-06-18 NIIBE Yutaka <gn...@m1...> * include/asm-sh/page.h (clear_user_page, copy_user_page): New API. * AGAINST-2.5.20: New file. * AGAINST-2.5.19: Removed. * Makefile: Version 2.5.20. * drivers/cdrom/Config.help, drivers/cdrom/Config.in, drivers/cdrom/Makefile, drivers/char/Config.help, drivers/char/Makefile, drivers/net/Config.help, fs/nfs/inode.c, include/asm-sh/pgtable.h, init/do_mounts.c, mm/memory.c: Incorporate changes in 2.5.20. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.26 diff -u -3 -p -r1.26 Makefile --- Makefile 18 Jun 2002 02:54:38 -0000 1.26 +++ Makefile 18 Jun 2002 03:34:42 -0000 @@ -1,8 +1,24 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 19 +SUBLEVEL = 20 EXTRAVERSION =-sh +# 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) ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/) @@ -62,13 +78,8 @@ all: do-it-all 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 @@ $(sort $(vmlinux-objs)): $(SUBDIRS) ; # 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 @@ $(SUBDIRS): FORCE include/linux/version. %.o: %.S FORCE @$(MAKE) -C $(@D) $(@F) -# Configuration -# --------------------------------------------------------------------------- - -oldconfig: symlinks - $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in +# 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. + +include/asm: + @echo 'Making asm->asm-$(ARCH) symlink' + @ln -s asm-$(ARCH) $@ + @echo 'Making directory include/linux/modules' + @mkdir include/linux/modules -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 - -symlinks: - rm -f include/asm - ( cd include ; ln -sf asm-$(ARCH) asm) - @if [ ! -d include/linux/modules ]; then \ - mkdir include/linux/modules; \ - fi - -# 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 @@ update-modverfile: 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 @@ ifdef CONFIG_MODULES # 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 @@ modules modules_install: FORCE 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 @@ distclean: mrproper -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)))\ Index: drivers/cdrom/Config.help =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/cdrom/Config.help,v retrieving revision 1.1 diff -u -3 -p -r1.1 Config.help --- drivers/cdrom/Config.help 25 Jan 2002 02:07:59 -0000 1.1 +++ drivers/cdrom/Config.help 18 Jun 2002 03:34:42 -0000 @@ -106,27 +106,6 @@ CONFIG_SBPCD The module will be called sbpcd.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. -CONFIG_SBPCD2 - Say Y here only if you have two CD-ROM controller cards of this type - (usually only if you have more than four drives). You should enter - the parameters for the second, third and fourth interface card into - <file:drivers/cdrom/sbpcd.h> before compiling the new kernel. Read - the file <file:Documentation/cdrom/sbpcd>. - -CONFIG_SBPCD3 - Say Y here only if you have three CD-ROM controller cards of this - type (usually only if you have more than six drives). You should - enter the parameters for the second, third and fourth interface card - into <file:include/linux/sbpcd.h> before compiling the new kernel. - Read the file <file:Documentation/cdrom/sbpcd>. - -CONFIG_SBPCD4 - Say Y here only if you have four CD-ROM controller cards of this - type (usually only if you have more than eight drives). You should - enter the parameters for the second, third and fourth interface card - into <file:include/linux/sbpcd.h> before compiling the new kernel. - Read the file <file:Documentation/cdrom/sbpcd>. - CONFIG_AZTCD This is your driver if you have an Aztech CDA268-01A, Orchid CD-3110, Okano or Wearnes CDD110, Conrad TXC, or CyCD-ROM CR520 or Index: drivers/cdrom/Config.in =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/cdrom/Config.in,v retrieving revision 1.1.1.1 diff -u -3 -p -r1.1.1.1 Config.in --- drivers/cdrom/Config.in 15 Oct 2001 20:44:57 -0000 1.1.1.1 +++ drivers/cdrom/Config.in 18 Jun 2002 03:34:42 -0000 @@ -4,15 +4,6 @@ tristate ' Aztech/Orchid/Okano/Wearnes/TXC/CyDROM CDROM support' CONFIG_AZTCD tristate ' Goldstar R420 CDROM support' CONFIG_GSCD tristate ' Matsushita/Panasonic/Creative, Longshine, TEAC CDROM support' CONFIG_SBPCD -if [ "$CONFIG_SBPCD" = "y" ]; then - bool ' Matsushita/Panasonic, ... second CDROM controller support' CONFIG_SBPCD2 - if [ "$CONFIG_SBPCD2" = "y" ]; then - bool ' Matsushita/Panasonic, ... third CDROM controller support' CONFIG_SBPCD3 - if [ "$CONFIG_SBPCD3" = "y" ]; then - bool ' Matsushita/Panasonic, ... fourth CDROM controller support' CONFIG_SBPCD4 - fi - fi -fi tristate ' Mitsumi (standard) [no XA/Multisession] CDROM support' CONFIG_MCD if [ "$CONFIG_MCD" != "n" ]; then int 'MCD IRQ' CONFIG_MCD_IRQ 11 Index: drivers/cdrom/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/cdrom/Makefile,v retrieving revision 1.2 diff -u -3 -p -r1.2 Makefile --- drivers/cdrom/Makefile 18 Jun 2002 02:54:38 -0000 1.2 +++ drivers/cdrom/Makefile 18 Jun 2002 03:34:42 -0000 @@ -34,9 +34,6 @@ obj-$(CONFIG_MCD) += mcd.o cdrom obj-$(CONFIG_MCDX) += mcdx.o cdrom.o obj-$(CONFIG_OPTCD) += optcd.o obj-$(CONFIG_SBPCD) += sbpcd.o cdrom.o -obj-$(CONFIG_SBPCD2) += sbpcd2.o cdrom.o -obj-$(CONFIG_SBPCD3) += sbpcd3.o cdrom.o -obj-$(CONFIG_SBPCD4) += sbpcd4.o cdrom.o obj-$(CONFIG_SJCD) += sjcd.o obj-$(CONFIG_CDU535) += sonycd535.o obj-$(CONFIG_SEGA_GDROM) += gdrom.o cdrom.o Index: drivers/char/Config.help =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Config.help,v retrieving revision 1.4 diff -u -3 -p -r1.4 Config.help --- drivers/char/Config.help 1 May 2002 01:10:47 -0000 1.4 +++ drivers/char/Config.help 18 Jun 2002 03:34:42 -0000 @@ -127,6 +127,10 @@ CONFIG_AGP_I810 815 and 830m chipset boards for their on-board integrated graphics. This is required to do any useful video modes with these boards. +CONFIG_AGP_I460 + This option gives you AGP GART support for the Intel 460GX chipset + for IA64 processors. + CONFIG_AGP_VIA This option gives you AGP support for the GLX component of the XFree86 4.x on VIA MPV3/Apollo Pro chipsets. @@ -170,6 +174,10 @@ CONFIG_AGP_ALI You should say Y here if you use XFree86 3.3.6 or 4.x and want to use GLX or DRI. If unsure, say N. +CONFIG_AGP_HP_ZX1 + This option gives you AGP GART support for the HP ZX1 chipset + for IA64 processors. + CONFIG_I810_TCO Hardware driver for the TCO timer built into the Intel i810 and i815 chipset family. The TCO (Total Cost of Ownership) timer is a @@ -1187,3 +1195,7 @@ CONFIG_977_WATCHDOG Not sure? It's safe to say N. +CONFIG_HVC_CONSOLE + pSeries machines when partitioned support a hypervisor virtual + console. This driver allows each pSeries partition to have a console + which is accessed via the HMC. Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.10 diff -u -3 -p -r1.10 Makefile --- drivers/char/Makefile 18 Jun 2002 02:54:38 -0000 1.10 +++ drivers/char/Makefile 18 Jun 2002 03:34:42 -0000 @@ -155,6 +155,7 @@ obj-$(CONFIG_MVME147_SCC) += generic_ser obj-$(CONFIG_MVME162_SCC) += generic_serial.o vme_scc.o obj-$(CONFIG_BVME6000_SCC) += generic_serial.o vme_scc.o obj-$(CONFIG_SERIAL_TX3912) += generic_serial.o serial_tx3912.o +obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o obj-$(CONFIG_ATIXL_BUSMOUSE) += atixlmouse.o obj-$(CONFIG_LOGIBUSMOUSE) += logibusmouse.o Index: drivers/net/Config.help =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/net/Config.help,v retrieving revision 1.4 diff -u -3 -p -r1.4 Config.help --- drivers/net/Config.help 22 Mar 2002 04:44:46 -0000 1.4 +++ drivers/net/Config.help 18 Jun 2002 03:34:42 -0000 @@ -834,18 +834,23 @@ CONFIG_E1000 This driver supports Intel(R) PRO/1000 gigabit ethernet family of adapters, which includes: - Controller Adapter Name Board IDs - ---------- ------------ --------- - 82542 PRO/1000 Gigabit Server Adapter 700262-xxx, - 717037-xxx - 82543 PRO/1000 F Server Adapter 738640-xxx, - A38888-xxx, - A06512-xxx - 82543 PRO/1000 T Server Adapter A19845-xxx, - A33948-xxx - 82544 PRO/1000 XT Server Adapter A51580-xxx - 82544 PRO/1000 XF Server Adapter A50484-xxx - 82544 PRO/1000 T Desktop Adapter A62947-xxx + Controller Adapter Name Board IDs + ---------- ------------ --------- + 82542 PRO/1000 Gigabit Server Adapter 700262-xxx, + 717037-xxx + 82543 PRO/1000 F Server Adapter 738640-xxx, + A38888-xxx + 82543 PRO/1000 T Server Adapter A19845-xxx, + A33948-xxx + 82544 PRO/1000 XT Server Adapter A51580-xxx + 82544 PRO/1000 XF Server Adapter A50484-xxx + 82544 PRO/1000 T Desktop Adapter A62947-xxx + 82540 PRO/1000 MT Desktop Adapter A78408-xxx + 82545 PRO/1000 MT Server Adapter A92165-xxx + 82546 PRO/1000 MT Dual Port Server Adapter A92111-xxx + 82545 PRO/1000 MF Server Adapter A91622-xxx + 82545 PRO/1000 MF Server Adapter(LX) A91624-xxx + 82546 PRO/1000 MF Dual Port Server Adapter A91620-xxx For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: @@ -1363,6 +1368,80 @@ CONFIG_EEPRO100 The module will be called eepro100.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt> as well as <file:Documentation/networking/net-modules.txt>. + +CONFIG_E100 + This driver supports Intel(R) PRO/100 family of adapters, which + includes: + + Controller Adapter Name Board IDs + ---------- ------------ --------- + + 82558 PRO/100+ PCI Adapter 668081-xxx, + 689661-xxx + 82558 PRO/100+ Management Adapter 691334-xxx, + 701738-xxx, + 721383-xxx + 82558 PRO/100+ Dual Port Server Adapter 714303-xxx, + 711269-xxx, + A28276-xxx + 82558 PRO/100+ PCI Server Adapter 710550-xxx + 82550 PRO/100 S Server Adapter 752438-xxx + 82559 A56831-xxx, + A10563-xxx, + A12171-xxx, + A12321-xxx, + A12320-xxx, + A12170-xxx + 748568-xxx + 748565-xxx + 82550 PRO/100 S Desktop Adapter 751767-xxx + 82559 748592-xxx, + A12167-xxx, + A12318-xxx, + A12317-xxx, + A12165-xxx, + 748569-xxx + 82559 PRO/100+ Server Adapter 729757-xxx + 82559 PRO/100 S Management Adapter 748566-xxx, + 748564-xxx + 82550 PRO/100 S Dual Port Server Adapter A56831-xxx + 82551 PRO/100 M Desktop Adapter A80897-xxx + PRO/100 S Advanced Management Adapter + 747842-xxx, + 745171-xxx + CNR PRO/100 VE Desktop Adapter A10386-xxx, + A10725-xxx, + A23801-xxx, + A19716-xxx + PRO/100 VM Desktop Adapter A14323-xxx, + A19725-xxx, + A23801-xxx, + A22220-xxx, + A23796-xxx + + + To verify that your adapter is supported, find the board ID number + on the adapter. Look for a label that has a barcode and a number + in the format 123456-001 (six digits hyphen three digits). Match + this to the list of numbers above. + + For more information on how to identify your adapter, go to the + Adapter & Driver ID Guide at: + + http://support.intel.com/support/network/adapter/pro100/21397.htm + + For the latest Intel PRO/100 network driver for Linux, see: + + http://appsr.intel.com/scripts-df/support_intel.asp + + More specific information on configuring the driver is in + <file:Documentation/networking/e100.txt>. + + This driver is also available as a module ( = code which can be + inserted in and removed from the running kernel whenever you want). + The module will be called e100.o. If you want to compile it as a + module, say M here and read <file:Documentation/modules.txt> as well + as <file:Documentation/networking/net-modules.txt>. CONFIG_FEALNX Say Y here to support the Mysom MTD-800 family of PCI-based Ethernet Index: fs/nfs/inode.c =================================================================== RCS file: /cvsroot/linuxsh/linux/fs/nfs/inode.c,v retrieving revision 1.7 diff -u -3 -p -r1.7 inode.c --- fs/nfs/inode.c 18 Jun 2002 02:17:19 -0000 1.7 +++ fs/nfs/inode.c 18 Jun 2002 03:34:42 -0000 @@ -801,11 +801,14 @@ int nfs_wait_on_inode(struct inode *inode, int flag) { struct rpc_clnt *clnt = NFS_CLIENT(inode); + struct nfs_inode *nfsi = NFS_I(inode); + int error; if (!(NFS_FLAGS(inode) & flag)) return 0; atomic_inc(&inode->i_count); - error = nfs_wait_event(clnt, inode->i_wait, !(NFS_FLAGS(inode) & flag)); + error = nfs_wait_event(clnt, nfsi->nfs_i_wait, + !(NFS_FLAGS(inode) & flag)); iput(inode); return error; } @@ -924,7 +927,7 @@ __nfs_revalidate_inode(struct nfs_server NFS_FLAGS(inode) &= ~NFS_INO_STALE; out: NFS_FLAGS(inode) &= ~NFS_INO_REVALIDATING; - wake_up(&inode->i_wait); + wake_up(&NFS_I(inode)->nfs_i_wait); out_nowait: unlock_kernel(); return status; @@ -1260,6 +1263,7 @@ static void init_once(void * foo, kmem_c nfsi->ndirty = 0; nfsi->ncommit = 0; nfsi->npages = 0; + init_waitqueue_head(&nfsi->nfs_i_wait); } } Index: include/asm-sh/page.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/page.h,v retrieving revision 1.2 diff -u -3 -p -r1.2 page.h --- include/asm-sh/page.h 22 Mar 2002 03:58:40 -0000 1.2 +++ include/asm-sh/page.h 18 Jun 2002 03:34:42 -0000 @@ -28,11 +28,11 @@ extern void clear_page(void *to); extern void copy_page(void *to, void *from); #if defined(__sh3__) -#define clear_user_page(page, vaddr) clear_page(page) -#define copy_user_page(to, from, vaddr) copy_page(to, from) +#define clear_user_page(page, vaddr, pg) clear_page(page) +#define copy_user_page(to, from, vaddr, pg) copy_page(to, from) #elif defined(__SH4__) -extern void clear_user_page(void *to, unsigned long address); -extern void copy_user_page(void *to, void *from, unsigned long address); +extern void clear_user_page(void *to, unsigned long address, struct page *pg); +extern void copy_user_page(void *to, void *from, unsigned long address, struct page *pg); extern void __clear_user_page(void *to, void *orig_to); extern void __copy_user_page(void *to, void *from, void *orig_to); #endif Index: include/asm-sh/pgtable.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/pgtable.h,v retrieving revision 1.9 diff -u -3 -p -r1.9 pgtable.h --- include/asm-sh/pgtable.h 22 May 2002 07:37:02 -0000 1.9 +++ include/asm-sh/pgtable.h 18 Jun 2002 03:34:42 -0000 @@ -230,11 +230,11 @@ extern void update_mmu_cache(struct vm_a * NOTE: We should set ZEROs at the position of _PAGE_PRESENT * and _PAGE_PROTNONE bits */ -#define SWP_TYPE(x) ((x).val & 0xff) -#define SWP_OFFSET(x) ((x).val >> 10) -#define SWP_ENTRY(type, offset) ((swp_entry_t) { (type) | ((offset) << 10) }) -#define pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) -#define swp_entry_to_pte(x) ((pte_t) { (x).val }) +#define __swp_type(x) ((x).val & 0xff) +#define __swp_offset(x) ((x).val >> 10) +#define __swp_entry(type, offset) ((swp_entry_t) { (type) | ((offset) << 10) }) +#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) +#define __swp_entry_to_pte(x) ((pte_t) { (x).val }) /* * Routines for update of PTE @@ -248,8 +248,6 @@ extern void update_mmu_cache(struct vm_a #endif /* !__ASSEMBLY__ */ -/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */ -#define PageSkip(page) (0) #define kern_addr_valid(addr) (1) #define io_remap_page_range remap_page_range Index: init/do_mounts.c =================================================================== RCS file: /cvsroot/linuxsh/linux/init/do_mounts.c,v retrieving revision 1.7 diff -u -3 -p -r1.7 do_mounts.c --- init/do_mounts.c 18 Jun 2002 02:54:38 -0000 1.7 +++ init/do_mounts.c 18 Jun 2002 03:34:42 -0000 @@ -366,7 +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) +#if defined(CONFIG_BLK_DEV_RAM) || defined(CONFIG_BLK_DEV_FD) static void __init change_floppy(char *fmt, ...) { struct termios termios; Index: mm/memory.c =================================================================== RCS file: /cvsroot/linuxsh/linux/mm/memory.c,v retrieving revision 1.17 diff -u -3 -p -r1.17 memory.c --- mm/memory.c 18 Jun 2002 02:54:39 -0000 1.17 +++ mm/memory.c 18 Jun 2002 03:34:43 -0000 @@ -50,6 +50,8 @@ #include <asm/tlb.h> #include <asm/tlbflush.h> +#include <linux/swapops.h> + unsigned long max_mapnr; unsigned long num_physpages; void * high_memory; @@ -1132,7 +1134,7 @@ void swapin_readahead(swp_entry_t entry) num = valid_swaphandles(entry, &offset); for (i = 0; i < num; offset++, i++) { /* Ok, do the async read-ahead now */ - new_page = read_swap_cache_async(SWP_ENTRY(SWP_TYPE(entry), offset)); + new_page = read_swap_cache_async(swp_entry(swp_type(entry), offset)); if (!new_page) break; page_cache_release(new_page); |
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 |
From: NIIBE Y. <gn...@m1...> - 2002-06-18 02:16:47
|
Changes from mainline applied. Not tested. 2002-06-18 NIIBE Yutaka <gn...@m1...> * include/asm-sh/bitops.h (fls): Added. * arch/sh/kernel/signal.c: Include <linux/suspend.h>. (do_signal): Handle PF_FREEZE. * AGAINST-2.5.18: New file. * AGAINST-2.5.17: Removed. * Makefile: Version 2.5.18. * arch/sh/defconfig, arch/sh/kernel/Makefile, arch/sh/lib/Makefile, arch/sh/mm/Makefile, arch/sh/mm/init.c, drivers/block/rd.c, drivers/char/Makefile, drivers/char/shwdt.c, drivers/input/joystick/Makefile, drivers/pci/pci.ids, fs/nfs/inode.c, init/do_mounts.c, mm/memory.c: Incorporate changes in 2.5.18. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/Makefile,v retrieving revision 1.24 diff -u -3 -p -r1.24 Makefile --- Makefile 28 May 2002 02:16:43 -0000 1.24 +++ Makefile 18 Jun 2002 02:14:30 -0000 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 17 +SUBLEVEL = 18 EXTRAVERSION =-sh KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -37,14 +37,21 @@ OBJDUMP = $(CROSS_COMPILE)objdump MAKEFILES = $(TOPDIR)/.config GENKSYMS = /sbin/genksyms DEPMOD = /sbin/depmod +PERL = perl MODFLAGS = -DMODULE +CFLAGS_MODULE = $(MODFLAGS) +AFLAGS_MODULE = CFLAGS_KERNEL = AFLAGS_KERNEL = -PERL = perl +EXPORT_FLAGS = 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 MODFLAGS PERL + CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS PERL + +export CPPFLAGS EXPORT_FLAGS +export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE +export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE all: do-it-all @@ -92,6 +99,10 @@ CFLAGS := $(CPPFLAGS) -Wall -Wstrict-pro -fomit-frame-pointer -fno-strict-aliasing -fno-common AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS) +ifdef CONFIG_MODULES +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 @@ -113,10 +124,10 @@ DRIVERS-y += drivers/base/base.o \ drivers/misc/misc.o \ drivers/net/net.o \ drivers/media/media.o -DRIVERS-$(CONFIG_NUBUS) += drivers/nubus/nubus.a +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/fc4.a +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 @@ -128,16 +139,16 @@ endif 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/dio.a +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/sgi.a +DRIVERS-$(CONFIG_SGI_IP22) += drivers/sgi/built-in.o DRIVERS-$(CONFIG_VT) += drivers/video/video.o -DRIVERS-$(CONFIG_PARIDE) += drivers/block/paride/paride.a -DRIVERS-$(CONFIG_TC) += drivers/tc/tc.a +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 @@ -156,18 +167,27 @@ DRIVERS := $(DRIVERS-y) include arch/$(ARCH)/Makefile -export CPPFLAGS CFLAGS CFLAGS_KERNEL AFLAGS AFLAGS_KERNEL - export NETWORKS DRIVERS LIBS HEAD LDFLAGS LINKFLAGS MAKEBOOT ASFLAGS -# Build vmlinux / boot target +# boot target # --------------------------------------------------------------------------- boot: vmlinux @$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -C arch/$(ARCH)/boot -vmlinux: include/linux/version.h $(CONFIGURATION) linuxsubdirs - $(LD) $(LINKFLAGS) $(HEAD) $(INIT) \ +# Build vmlinux +# --------------------------------------------------------------------------- + +# This is a bit tricky: If we need to relink vmlinux, we want +# the version number incremented, which means recompile init/version.o +# and relink init/init.o. However, we cannot do this during the +# normal descending-into-subdirs phase, since at that time +# we cannot yet know if we will need to relink vmlinux. +# So we descend into init/ inside the rule for vmlinux again. + +vmlinux-objs := $(HEAD) $(INIT) $(CORE_FILES) $(LIBS) $(DRIVERS) $(NETWORKS) + +cmd_link_vmlinux = $(LD) $(LINKFLAGS) $(HEAD) $(INIT) \ --start-group \ $(CORE_FILES) \ $(LIBS) \ @@ -175,10 +195,33 @@ vmlinux: include/linux/version.h $(CONFI $(NETWORKS) \ --end-group \ -o vmlinux + +# set -e makes the rule exit immediately on error + +define rule_link_vmlinux + set -e + echo Generating build number + . scripts/mkversion > .tmpversion + mv -f .tmpversion .version + $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" AFLAGS="$(AFLAGS) $(AFLAGS_KERNEL)" -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 + $(call if_changed_rule,link_vmlinux) + +# The actual objects are generated when descending, make sure +# no implicit rule kicks in + +$(sort $(vmlinux-objs)): linuxsubdirs + @ # Handle descending into subdirectories listed in $(SUBDIRS) +.PHONY: linuxsubdirs linuxsubdirs: $(patsubst %, _dir_%, $(SUBDIRS)) $(patsubst %, _dir_%, $(SUBDIRS)) : dummy include/linux/version.h include/config/MARKER @@ -215,8 +258,6 @@ symlinks: include/config/MARKER: scripts/split-include include/linux/autoconf.h scripts/split-include include/linux/autoconf.h include/config @ touch include/config/MARKER - . scripts/mkversion > .tmpversion - @mv -f .tmpversion .version # Generate some files @@ -256,7 +297,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) $(MODFLAGS)" MAKING_MODULES=1 modules + @$(MAKE) -C $(patsubst _mod_%, %, $@) CFLAGS="$(CFLAGS) $(CFLAGS_MODULE)" AFLAGS="$(AFLAGS) $(AFLAGS_MODULE)" modules # Install modules @@ -331,6 +372,8 @@ CLEAN_FILES += \ drivers/zorro/devlist.h drivers/zorro/gen-devlist \ sound/oss/bin2hex sound/oss/hex2hex \ drivers/atm/fore200e_mkfirm drivers/atm/{pca,sba}*{.bin,.bin1,.bin2} \ + drivers/scsi/aic7xxx/aic7xxx_seq.h \ + drivers/scsi/aic7xxx/aic7xxx_reg.h \ drivers/scsi/aic7xxx/aicasm/aicasm_gram.c \ drivers/scsi/aic7xxx/aicasm/aicasm_scan.c \ drivers/scsi/aic7xxx/aicasm/y.tab.h \ @@ -469,3 +512,12 @@ backup: mrproper sums: find . -type f -print | sort | xargs sum > .SUMS + +# FIXME Should go into a make.lib or something +# --------------------------------------------------------------------------- + +if_changed_rule = $(if $(strip $? \ + $(filter-out $(cmd_$(1)),$(cmd_$(@F)))\ + $(filter-out $(cmd_$(@F)),$(cmd_$(1)))),\ + @$(rule_$(1))) + Index: arch/sh/defconfig =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/defconfig,v retrieving revision 1.2 diff -u -3 -p -r1.2 defconfig --- arch/sh/defconfig 1 May 2002 01:10:47 -0000 1.2 +++ arch/sh/defconfig 18 Jun 2002 02:14:31 -0000 @@ -97,15 +97,6 @@ CONFIG_BLK_DEV_IDE=y # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_IDEDISK=y # CONFIG_IDEDISK_MULTI_MODE is not set -# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set -# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set -# CONFIG_BLK_DEV_IDEDISK_IBM is not set -# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set -# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set -# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set -# CONFIG_BLK_DEV_IDEDISK_WD is not set -# CONFIG_BLK_DEV_COMMERIAL is not set -# CONFIG_BLK_DEV_TIVO is not set # CONFIG_BLK_DEV_IDECS is not set # CONFIG_BLK_DEV_IDECD is not set # CONFIG_BLK_DEV_IDETAPE is not set @@ -120,7 +111,6 @@ CONFIG_BLK_DEV_IDEDISK=y # CONFIG_BLK_DEV_ISAPNP is not set # CONFIG_IDE_CHIPSETS is not set # CONFIG_IDEDMA_AUTO is not set -# CONFIG_DMA_NONPCI is not set # CONFIG_BLK_DEV_IDE_MODES is not set # Index: arch/sh/kernel/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/Makefile,v retrieving revision 1.2 diff -u -3 -p -r1.2 Makefile --- arch/sh/kernel/Makefile 24 May 2002 14:40:45 -0000 1.2 +++ arch/sh/kernel/Makefile 18 Jun 2002 02:14:31 -0000 @@ -80,6 +80,4 @@ ifeq ($(CONFIG_SH_GENERIC),y) obj-y += $(machine-specific-objs) endif -USE_STANDARD_AS_RULE := true - include $(TOPDIR)/Rules.make Index: arch/sh/kernel/signal.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/signal.c,v retrieving revision 1.10 diff -u -3 -p -r1.10 signal.c --- arch/sh/kernel/signal.c 23 May 2002 01:31:04 -0000 1.10 +++ arch/sh/kernel/signal.c 18 Jun 2002 02:14:31 -0000 @@ -21,9 +21,10 @@ #include <linux/ptrace.h> #include <linux/unistd.h> #include <linux/stddef.h> -#include <linux/personality.h> #include <linux/tty.h> +#include <linux/personality.h> #include <linux/binfmts.h> +#include <linux/suspend.h> #include <asm/ucontext.h> #include <asm/uaccess.h> @@ -580,6 +581,11 @@ int do_signal(struct pt_regs *regs, sigs if (!user_mode(regs)) return 1; + if (current->flags & PF_FREEZE) { + refrigerator(0); + goto no_signal; + } + if (!oldset) oldset = ¤t->blocked; @@ -677,6 +683,7 @@ int do_signal(struct pt_regs *regs, sigs return 1; } + no_signal: /* Did we come from a system call? */ if (regs->tra >= 0) { /* Restart the system call - no handlers present */ Index: arch/sh/lib/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/lib/Makefile,v retrieving revision 1.2 diff -u -3 -p -r1.2 Makefile --- arch/sh/lib/Makefile 26 Mar 2002 01:56:39 -0000 1.2 +++ arch/sh/lib/Makefile 18 Jun 2002 02:14:31 -0000 @@ -6,6 +6,4 @@ L_TARGET = lib.a obj-y = delay.o memcpy.o memset.o memmove.o memchr.o \ checksum.o strcasecmp.o strlen.o -USE_STANDARD_AS_RULE := true - include $(TOPDIR)/Rules.make Index: arch/sh/mm/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/Makefile,v retrieving revision 1.3 diff -u -3 -p -r1.3 Makefile --- arch/sh/mm/Makefile 27 Mar 2002 09:30:48 -0000 1.3 +++ arch/sh/mm/Makefile 18 Jun 2002 02:14:31 -0000 @@ -13,6 +13,4 @@ obj-y := init.o fault.o extable.o clear obj-$(CONFIG_CPU_SH3) += cache-sh3.o obj-$(CONFIG_CPU_SH4) += cache-sh4.o ioremap.o -USE_STANDARD_AS_RULE := true - include $(TOPDIR)/Rules.make Index: arch/sh/mm/init.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/mm/init.c,v retrieving revision 1.4 diff -u -3 -p -r1.4 init.c --- arch/sh/mm/init.c 22 May 2002 07:37:02 -0000 1.4 +++ arch/sh/mm/init.c 18 Jun 2002 02:14:31 -0000 @@ -71,7 +71,6 @@ void show_mem(void) printk("%d reserved pages\n",reserved); printk("%d pages shared\n",shared); printk("%d pages swap cached\n",cached); - printk("%ld buffermem pages\n", nr_buffermem_pages()); } /* References to section boundaries */ Index: drivers/block/rd.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/block/rd.c,v retrieving revision 1.12 diff -u -3 -p -r1.12 rd.c --- drivers/block/rd.c 28 May 2002 02:16:44 -0000 1.12 +++ drivers/block/rd.c 18 Jun 2002 02:14:31 -0000 @@ -48,6 +48,7 @@ #include <linux/module.h> #include <linux/init.h> #include <linux/devfs_fs_kernel.h> +#include <linux/buffer_head.h> /* for invalidate_bdev() */ #include <asm/uaccess.h> /* @@ -376,6 +377,7 @@ static int rd_open(struct inode * inode, if (rd_bdev[unit] == NULL) { rd_bdev[unit] = bdget(kdev_t_to_nr(inode->i_rdev)); rd_bdev[unit]->bd_openers++; + rd_bdev[unit]->bd_block_size = rd_blocksize; rd_bdev[unit]->bd_inode->i_mapping->a_ops = &ramdisk_aops; } Index: drivers/char/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/Makefile,v retrieving revision 1.8 diff -u -3 -p -r1.8 Makefile --- drivers/char/Makefile 23 May 2002 01:31:04 -0000 1.8 +++ drivers/char/Makefile 18 Jun 2002 02:14:31 -0000 @@ -150,13 +150,7 @@ obj-$(CONFIG_SPECIALIX) += specialix.o obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o obj-$(CONFIG_SX) += sx.o generic_serial.o - -obj-$(CONFIG_RIO) += generic_serial.o -subdir-$(CONFIG_RIO) += rio -ifeq ($(CONFIG_RIO),y) - obj-y += rio/rio.o -endif - +obj-$(CONFIG_RIO) += rio/ generic_serial.o obj-$(CONFIG_SH_SCI) += sh-sci.o generic_serial.o obj-$(CONFIG_SERIAL167) += serial167.o obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o @@ -191,14 +185,8 @@ obj-$(CONFIG_TOSHIBA) += toshiba.o obj-$(CONFIG_I8K) += i8k.o obj-$(CONFIG_DS1620) += ds1620.o obj-$(CONFIG_INTEL_RNG) += i810_rng.o - obj-$(CONFIG_QIC02_TAPE) += tpqic02.o - -subdir-$(CONFIG_FTAPE) += ftape -ifeq ($(CONFIG_FTAPE),y) - obj-y += ftape/ftape.o -endif - +obj-$(CONFIG_FTAPE) += ftape/ obj-$(CONFIG_H8) += h8.o obj-$(CONFIG_PPDEV) += ppdev.o obj-$(CONFIG_DZ) += dz.o @@ -225,26 +213,10 @@ obj-$(CONFIG_MACHZ_WDT) += machzwd.o obj-$(CONFIG_SH_WDT) += shwdt.o obj-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o - -subdir-$(CONFIG_MWAVE) += mwave -ifeq ($(CONFIG_MWAVE),y) - obj-y += mwave/mwave.o -endif - -subdir-$(CONFIG_AGP) += agp -ifeq ($(CONFIG_AGP),y) - obj-y += agp/agp.o -endif - -subdir-$(CONFIG_DRM) += drm -ifeq ($(CONFIG_DRM),y) - obj-y += drm/drm.o -endif - -subdir-$(CONFIG_PCMCIA) += pcmcia -ifeq ($(CONFIG_PCMCIA),y) - obj-y += pcmcia/pcmcia_char.o -endif +obj-$(CONFIG_MWAVE) += mwave/ +obj-$(CONFIG_AGP) += agp/ +obj-$(CONFIG_DRM) += drm/ +obj-$(CONFIG_PCMCIA) += pcmcia/ include $(TOPDIR)/Rules.make Index: drivers/char/shwdt.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/shwdt.c,v retrieving revision 1.7 diff -u -3 -p -r1.7 shwdt.c --- drivers/char/shwdt.c 23 May 2002 15:22:35 -0000 1.7 +++ drivers/char/shwdt.c 18 Jun 2002 02:14:31 -0000 @@ -391,8 +391,6 @@ static void __exit sh_wdt_exit(void) misc_deregister(&sh_wdt_miscdev); } -EXPORT_NO_SYMBOLS; - MODULE_AUTHOR("Paul Mundt <le...@ch...>"); MODULE_DESCRIPTION("SuperH watchdog driver"); MODULE_LICENSE("GPL"); Index: drivers/input/joystick/Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/input/joystick/Makefile,v retrieving revision 1.2 diff -u -3 -p -r1.2 Makefile --- drivers/input/joystick/Makefile 5 Apr 2002 04:45:00 -0000 1.2 +++ drivers/input/joystick/Makefile 18 Jun 2002 02:14:31 -0000 @@ -2,10 +2,6 @@ # Makefile for the input core drivers. # -# The target object and module list name. - -O_TARGET := joydrv.o - # I-Force may need both USB and RS-232 CONFIG_JOYSTICK_IFORCE := n Index: drivers/pci/pci.ids =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/pci/pci.ids,v retrieving revision 1.12 diff -u -3 -p -r1.12 pci.ids --- drivers/pci/pci.ids 22 May 2002 07:37:02 -0000 1.12 +++ drivers/pci/pci.ids 18 Jun 2002 02:14:31 -0000 @@ -4702,6 +4702,7 @@ 1668 Action Tec Electronics Inc 173b Altima (nee BroadCom) 03e8 AC1000 Gigabit Ethernet + 03ea AC9100 Gigabit Ethernet 1813 Ambient Technologies Inc 1a08 Sierra semiconductor 0000 SC15064 Index: fs/nfs/inode.c =================================================================== RCS file: /cvsroot/linuxsh/linux/fs/nfs/inode.c,v retrieving revision 1.6 diff -u -3 -p -r1.6 inode.c --- fs/nfs/inode.c 28 May 2002 02:16:44 -0000 1.6 +++ fs/nfs/inode.c 18 Jun 2002 02:14:31 -0000 @@ -732,7 +732,7 @@ out_no_inode: } int -nfs_notify_change(struct dentry *dentry, struct iattr *attr) +nfs_setattr(struct dentry *dentry, struct iattr *attr) { struct inode *inode = dentry->d_inode; struct nfs_fattr fattr; @@ -746,7 +746,7 @@ nfs_notify_change(struct dentry *dentry, error = nfs_revalidate_inode(NFS_SERVER(inode),inode); if (error) { #ifdef NFS_PARANOIA -printk("nfs_notify_change: revalidate failed, error=%d\n", error); +printk("nfs_setattr: revalidate failed, error=%d\n", error); #endif goto out; } @@ -770,7 +770,7 @@ printk("nfs_notify_change: revalidate fa */ if (attr->ia_valid & ATTR_SIZE) { if (attr->ia_size != fattr.size) - printk("nfs_notify_change: attr=%Ld, fattr=%Ld??\n", + printk("nfs_setattr: attr=%Ld, fattr=%Ld??\n", (long long) attr->ia_size, (long long)fattr.size); vmtruncate(inode, attr->ia_size); } @@ -810,14 +810,13 @@ nfs_wait_on_inode(struct inode *inode, i return error; } -/* - * Externally visible revalidation function - */ -int -nfs_revalidate(struct dentry *dentry) +int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) { struct inode *inode = dentry->d_inode; - return nfs_revalidate_inode(NFS_SERVER(inode), inode); + int err = nfs_revalidate_inode(NFS_SERVER(inode), inode); + if (!err) + generic_fillattr(inode, stat); + return err; } /* @@ -1337,7 +1336,6 @@ static void __exit exit_nfs_fs(void) unregister_filesystem(&nfs_fs_type); } -EXPORT_NO_SYMBOLS; /* Not quite true; I just maintain it */ MODULE_AUTHOR("Olaf Kirch <ok...@mo...>"); MODULE_LICENSE("GPL"); Index: include/asm-sh/bitops.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/bitops.h,v retrieving revision 1.3 diff -u -3 -p -r1.3 bitops.h --- include/asm-sh/bitops.h 22 Mar 2002 03:58:40 -0000 1.3 +++ include/asm-sh/bitops.h 18 Jun 2002 02:14:31 -0000 @@ -391,6 +391,12 @@ found_middle: #define minix_test_bit(nr,addr) test_bit(nr,addr) #define minix_find_first_zero_bit(addr,size) find_first_zero_bit(addr,size) +/* + * fls: find last bit set. + */ + +#define fls(x) generic_fls(x) + #endif /* __KERNEL__ */ #endif /* __ASM_SH_BITOPS_H */ Index: init/do_mounts.c =================================================================== RCS file: /cvsroot/linuxsh/linux/init/do_mounts.c,v retrieving revision 1.5 diff -u -3 -p -r1.5 do_mounts.c --- init/do_mounts.c 22 May 2002 07:37:02 -0000 1.5 +++ init/do_mounts.c 18 Jun 2002 02:14:31 -0000 @@ -10,6 +10,7 @@ #include <linux/fd.h> #include <linux/tty.h> #include <linux/init.h> +#include <linux/suspend.h> #include <linux/nfs_fs.h> #include <linux/nfs_fs_sb.h> @@ -826,6 +827,11 @@ void prepare_namespace(void) #endif create_dev("/dev/root", ROOT_DEV, NULL); + + /* This has to be before mounting root, because even readonly mount of reiserfs would replay + log corrupting stuff */ + software_resume(); + if (mount_initrd) { if (initrd_load() && !kdev_same(ROOT_DEV, mk_kdev(RAMDISK_MAJOR, 0))) { handle_initrd(); Index: mm/memory.c =================================================================== RCS file: /cvsroot/linuxsh/linux/mm/memory.c,v retrieving revision 1.15 diff -u -3 -p -r1.15 memory.c --- mm/memory.c 28 May 2002 02:16:44 -0000 1.15 +++ mm/memory.c 18 Jun 2002 02:14:31 -0000 @@ -127,9 +127,6 @@ void clear_page_tables(mmu_gather_t *tlb free_one_pgd(tlb, page_dir); page_dir++; } while (--nr); - - /* keep the page table cache within bounds */ - check_pgt_cache(); } pte_t * pte_alloc_map(struct mm_struct *mm, pmd_t *pmd, unsigned long address) @@ -346,8 +343,7 @@ static void zap_pte_range(mmu_gather_t * if (pte_present(pte)) { unsigned long pfn = pte_pfn(pte); - pte_clear(ptep); - pfn = pte_pfn(pte); + pte = ptep_get_and_clear(ptep); tlb_remove_tlb_entry(tlb, pte, address+offset); if (pfn_valid(pfn)) { struct page *page = pfn_to_page(pfn); |
From: NIIBE Y. <gn...@m1...> - 2002-06-18 01:31:56
|
Anyone try to port LinuxSH to that processor? I'm going to get the information... -- |
From: Adam H. <ada...@gm...> - 2002-06-17 19:57:03
|
Is the SuperH port of Linux at or near 'production quality' yet. Is the kernel and tool chain relitivly stable? Is dynamic clock scalling supported? Can the GPIO lines be controled via the /proc fs? Where can I obtain a few SH7751 samples? --adam -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net |
From: YAEGASHI T. <t...@ke...> - 2002-06-15 21:30:38
|
At Sat, 15 Jun 2002 14:15:08 -0700 (PDT), Jeremy Drake wrote: > > On Fri, 14 Jun 2002, Andriy Skulysh wrote: > > > This patch is ready to apply into cvs HEAD branch > > or to linux-2.5.x kernel source. > > I am having problems building the HEAD branch, specifically with the > hitfb.c driver. It is trying to deal with fb_info.screen_base which > doesn't seem to exist. Also, there are some errors in mm/memory.c. Any > hints on how to build this would be most appreciated. For hp600_keyb.c and hitfb.c, you'll need these changes. Index: drivers/char/hp600_keyb.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/hp600_keyb.c,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 hp600_keyb.c --- drivers/char/hp600_keyb.c 15 Oct 2001 20:44:57 -0000 1.1.1.1 +++ drivers/char/hp600_keyb.c 15 Jun 2002 21:23:24 -0000 @@ -6,6 +6,7 @@ * HP620 keyboard translation table */ +#include <linux/module.h> #include <linux/kernel.h> #include <linux/sched.h> #include <linux/init.h> Index: drivers/video/hitfb.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/video/hitfb.c,v retrieving revision 1.3 diff -u -r1.3 hitfb.c --- drivers/video/hitfb.c 1 May 2002 01:10:47 -0000 1.3 +++ drivers/video/hitfb.c 15 Jun 2002 21:23:24 -0000 @@ -355,13 +355,13 @@ 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; + fb_info.gen.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); + do_install_cmap(0, &fb_info.gen.info); if(register_framebuffer(&fb_info.gen.info)<0) return -EINVAL; -- YAEGASHI Takeshi <t...@ke...> <ta...@ya...> <yae...@do...> |
From: Jeremy D. <je...@ap...> - 2002-06-15 21:15:17
|
On Fri, 14 Jun 2002, Andriy Skulysh wrote: > This patch is ready to apply into cvs HEAD branch > or to linux-2.5.x kernel source. I am having problems building the HEAD branch, specifically with the hitfb.c driver. It is trying to deal with fb_info.screen_base which doesn't seem to exist. Also, there are some errors in mm/memory.c. Any hints on how to build this would be most appreciated. I am using the HEAD branch at cvs -d :pserver:ano...@li...:/cvsroot/linuxsh co linux I then link it into 2.5.17 (the file says AGAINST-2.5.16, but the changelog says otherwise). I use a .config file that works from 2.4.18, downloaded from ftp.m17n.org called config-hp690. I am looking forward to good PCMCIA support so I can try out my wireless NIC (the web site says that it is compatible with linux). Thanks in advance... -- That's odd. That's very odd. Wouldn't you say that's very odd? |
From: YAEGASHI T. <t...@ke...> - 2002-06-14 10:43:12
|
Hi, In the article <200...@ha...>, Andriy Skulysh <ask...@im...> wrote: > Hi All! > > This is a patch for Hitachi HD64461 PCMCIA support. > It supports only HP Jornada 680/680. > It was tested with EtherLink III Lan PC Card (3C589C). How nice. I'll test your driver on my hp620 and hp690 this weekend. > Compact Flash (slot 1) also works but ide-cs doesn't support > IC Memory card interrupts. I wrote new IDE driver for CompactFlash configured as memory card last week. It simply filters out needless interrupts from CF but the kernel seems to get more stable with it. Does the socket service have any flag that can indicate whether a slot is capable of I/O card device or not? > I use static mappings for faster I/O. Do we need dynamic mappings ? I think that suffices for sh. > This patch is ready to apply into cvs HEAD branch > or to linux-2.5.x kernel source. > > I am ready for comments. > > Regards, > Andriy Skulysh. > > P.S. I am looking for hardware doc about Jornada 6xx sound support. I wish we had it. And now touch panel specs are urgently needed because XFree86 deb packages have just built successfully and it turned out to work very fine. I saw xengine panting at 172rpm or so. :-> -- YAEGASHI Takeshi <t...@ke...> <ta...@ya...> <yae...@do...> |
From: Andriy S. <ask...@im...> - 2002-06-14 09:09:33
|
Hi All! This is a patch for Hitachi HD64461 PCMCIA support. It supports only HP Jornada 680/680. It was tested with EtherLink III Lan PC Card (3C589C). Compact Flash (slot 1) also works but ide-cs doesn't support IC Memory card interrupts. I use static mappings for faster I/O. Do we need dynamic mappings ? This patch is ready to apply into cvs HEAD branch or to linux-2.5.x kernel source. I am ready for comments. Regards, Andriy Skulysh. P.S. I am looking for hardware doc about Jornada 6xx sound support. |
From: Clarke, S. <ste...@su...> - 2002-06-13 01:43:05
|
> From: manoj ks [mailto:mks...@ya...]=20 > Sent: Wednesday, June 12, 2002 6:41 PM > To: lin...@li... > Subject: [linuxsh-dev] What does the assembly code "bf 1b " means?? >=20 >=20 > Dear all, > In my entry.S source code of IPL +G,of SH 7709A > processor based board. >=20 > i have insturction like=20 >=20 > cmp/hi r3,r2 > bf 1b >=20 > I know that bf ,mean branch if the result of the above=20 > comparision is false. >=20 > But i am not getting,to where it is branching?? > i cannot find a label like 1b in my source code?? >=20 > Instead my source code has many labels like > 1: 1b means the nearest label called "1" in a backward search from the instruction. (Similarly, 1f means the nearest label called "1" in a forward search.) Steve. |
From: <mks...@ya...> - 2002-06-13 01:40:41
|
Dear all, In my entry.S source code of IPL +G,of SH 7709A processor based board. i have insturction like cmp/hi r3,r2 bf 1b I know that bf ,mean branch if the result of the above comparision is false. But i am not getting,to where it is branching?? i cannot find a label like 1b in my source code?? Instead my source code has many labels like 1: Can any one tell me how this works?? Thanks Manoj K.S __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |