You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(11) |
Jun
(66) |
Jul
(16) |
Aug
(2) |
Sep
(7) |
Oct
(17) |
Nov
(1) |
Dec
(220) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(154) |
Feb
(167) |
Mar
(159) |
Apr
(172) |
May
(35) |
Jun
(58) |
Jul
(97) |
Aug
(285) |
Sep
(139) |
Oct
(252) |
Nov
(8) |
Dec
(3) |
| 2004 |
Jan
(13) |
Feb
(159) |
Mar
(136) |
Apr
(33) |
May
(50) |
Jun
(42) |
Jul
(140) |
Aug
(42) |
Sep
(199) |
Oct
(31) |
Nov
(55) |
Dec
|
| 2005 |
Jan
|
Feb
(12) |
Mar
(214) |
Apr
(119) |
May
(21) |
Jun
(2) |
Jul
(127) |
Aug
(10) |
Sep
(3) |
Oct
(24) |
Nov
(1) |
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
(45) |
May
(13) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(26) |
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(35) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
|
From: Kenn H. <ke...@us...> - 2003-01-24 00:28:36
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax
In directory sc8-pr-cvs1:/tmp/cvs-serv8873/include/asm-vax
Modified Files:
dz11.h processor.h
Log Message:
Fix multiple definitions of symbols that were covered up by us not
using GCC's -fno-common option
Index: dz11.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/dz11.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- dz11.h 20 May 2002 00:33:39 -0000 1.4
+++ dz11.h 24 Jan 2003 00:28:32 -0000 1.5
@@ -37,6 +37,9 @@
u_short padding4;
};
+/* This gets set to non-NULL once the I/O page has been mapped */
+extern volatile struct dz11_regs *dz11_addr;
+
/* Definitions of bits in CSR */
#define DZ11_CSR_MAINT 0x0008 /* read/write */
#define DZ11_CSR_CLR 0x0010 /* read/write */
Index: processor.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/processor.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- processor.h 29 Oct 2002 00:52:51 -0000 1.5
+++ processor.h 24 Jan 2003 00:28:32 -0000 1.6
@@ -31,9 +31,9 @@
unsigned int n_pfn;
unsigned int *scb; /* address of the scb */
unsigned int *rpb; /* address of the rpb */
-} vax_cpu;
-
+};
+extern struct vaxcpu vax_cpu;
/* from alpha port */
|
|
From: Kenn H. <ke...@us...> - 2003-01-24 00:28:35
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/mm
In directory sc8-pr-cvs1:/tmp/cvs-serv8873/arch/vax/mm
Modified Files:
init.c
Log Message:
Fix multiple definitions of symbols that were covered up by us not
using GCC's -fno-common option
Index: init.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/mm/init.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- init.c 31 Dec 2002 22:34:26 -0000 1.10
+++ init.c 24 Jan 2003 00:28:32 -0000 1.11
@@ -47,7 +47,7 @@
* physical RAM. In this routine we initialise the remaining areas of
* the memory, and system page table.
*/
-void __init paging_init()
+void __init paging_init(void)
{
hwpte_t *pte, *lastpte;
unsigned int ii;
|
|
From: Kenn H. <ke...@us...> - 2003-01-24 00:28:35
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel
In directory sc8-pr-cvs1:/tmp/cvs-serv8873/arch/vax/kernel
Modified Files:
cpu_generic.c setup.c
Log Message:
Fix multiple definitions of symbols that were covered up by us not
using GCC's -fno-common option
Index: cpu_generic.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_generic.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- cpu_generic.c 20 May 2002 00:33:33 -0000 1.3
+++ cpu_generic.c 24 Jan 2003 00:28:31 -0000 1.4
@@ -117,9 +117,6 @@
mapped by map_dz11_regs(). */
-/* This gets set to non-NULL once the I/O page has been mapped */
-volatile struct dz11_regs *dz11_addr = NULL;
-
/* This is the serial line on the DZ11 that we should use as the
console. Normally it is line 3 */
static unsigned int dz11_line;
Index: setup.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/setup.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- setup.c 12 Dec 2002 01:19:20 -0000 1.6
+++ setup.c 24 Jan 2003 00:28:31 -0000 1.7
@@ -30,10 +30,11 @@
/* Defined in arch/vax/mm/init.c */
extern void paging_init(void);
-unsigned long max_pfn; /* number of 4k pfns */
/* Linker will put this at the end of the kernel image */
extern char _end;
+
+struct vaxcpu vax_cpu;
/*
* Get CPU information for use by the procfs.
|
|
From: Kenn H. <ke...@us...> - 2003-01-24 00:28:35
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax In directory sc8-pr-cvs1:/tmp/cvs-serv8873/arch/vax Modified Files: Makefile Log Message: Fix multiple definitions of symbols that were covered up by us not using GCC's -fno-common option Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/Makefile,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Makefile 23 Jan 2003 23:30:35 -0000 1.8 +++ Makefile 24 Jan 2003 00:28:31 -0000 1.9 @@ -18,11 +18,8 @@ # Note that this CFLAGS definition will override the definition -# in the top-level Makefile. We want -O1, not -O2 +# in the top-level Makefile. We want -O1, not -O2. CFLAGS := $(subst -O2,-O1,$(CFLAGS) ) - -# And for some reason, init/init.o won't link with -fno-common set -CFLAGS := $(subst -fno-common,,$(CFLAGS) ) # These flags are used by the top-level makefile when linking |
|
From: Kenn H. <ke...@us...> - 2003-01-24 00:28:34
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/boot
In directory sc8-pr-cvs1:/tmp/cvs-serv8873/arch/vax/boot
Modified Files:
cpu_sel.c
Log Message:
Fix multiple definitions of symbols that were covered up by us not
using GCC's -fno-common option
Index: cpu_sel.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/boot/cpu_sel.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cpu_sel.c 28 May 2002 20:29:28 -0000 1.1
+++ cpu_sel.c 24 Jan 2003 00:28:31 -0000 1.2
@@ -153,7 +153,7 @@
return NULL;
}
-struct vax_mv *idcpu_rigel()
+struct vax_mv *idcpu_rigel(void)
{
/* We don't know how to interpret the SIDEX in this case, but the
only CPU we know of that will match this far is the KA43 (as
@@ -162,7 +162,7 @@
return &mv_ka43;
}
-struct vax_mv *idcpu_mariah()
+struct vax_mv *idcpu_mariah(void)
{
/* We don't know how to interpret the SIDEX in this case, but the
only CPU we know of that will match this far is the KA46 (as
@@ -171,7 +171,7 @@
return &mv_ka46;
}
-struct vax_mv *idcpu_nvax()
+struct vax_mv *idcpu_nvax(void)
{
/* We don't know how to interpret the SIDEX in this case, but the
only CPU we know of that will match this far is the KA55 (as
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:30:38
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax
In directory sc8-pr-cvs1:/tmp/cvs-serv2365/arch/vax
Modified Files:
Makefile
Log Message:
Boot tools now have their own Makefile and boot/tools is added to
SUBDIRS. Better way of tweaking CFLAGS. Remove dead code. Don't
need CPP definition
Index: Makefile
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/Makefile,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Makefile 12 Jan 2003 22:40:34 -0000 1.7
+++ Makefile 23 Jan 2003 23:30:35 -0000 1.8
@@ -14,18 +14,15 @@
#
LD=$(CROSS_COMPILE)ld -m elf_vax
-CPP=$(CC) -E
OBJCOPY=$(CROSS_COMPILE)objcopy -O binary -R .note -R .comment -S
# Note that this CFLAGS definition will override the definition
-# in the top-level Makefile
-# need cppflags to get -I$(HPATH) includes right
-CFLAGS= $(CPPFLAGS) -nostartfiles -nostdlib -Wall
-CFLAGS_OPT=-O1
-CFLAGS_PIPE := -pipe
-CFLAGS_NSR := -fno-strength-reduce
-CFLAGS := $(CFLAGS) $(CFLAGS_OPT) $(CFLAGS_NSR)
+# in the top-level Makefile. We want -O1, not -O2
+CFLAGS := $(subst -O2,-O1,$(CFLAGS) )
+
+# And for some reason, init/init.o won't link with -fno-common set
+CFLAGS := $(subst -fno-common,,$(CFLAGS) )
# These flags are used by the top-level makefile when linking
@@ -42,15 +39,17 @@
ARCHLIBS := $(TOPDIR)/arch/vax/lib/libio.a $(TOPDIR)/arch/vax/boot/libboot.a
LIBS := $(ARCHLIBS) $(LIBS)
-MKBOOTBLK := $(TOPDIR)/arch/vax/boot/tools/mkbootblk
+TOOLSDIR := $(TOPDIR)/arch/vax/boot/tools
+MKBOOTBLK := $(TOOLSDIR)/mkbootblk
DEFAULT_CMDLINE := "root=/dev/nfs nfsroot=/home/disk_vax/vaxroot ip=bootp rw debug"
-SETCMDLINE := $(TOPDIR)/arch/vax/boot/tools/setcmdline
-SHOWCMDLINE := $(TOPDIR)/arch/vax/boot/tools/showcmdline
+SETCMDLINE := $(TOOLSDIR)/setcmdline
+SHOWCMDLINE := $(TOOLSDIR)/showcmdline
# And these are some extra dependencies for vmlinux
vmlinux: $(HEAD) $(ARCHLIBS)
-SUBDIRS := $(SUBDIRS) arch/vax/kernel arch/vax/mm arch/vax/lib arch/vax/boot
+ARCHDIRS := arch/vax/kernel arch/vax/mm arch/vax/lib arch/vax/boot
+SUBDIRS := $(SUBDIRS) $(ARCHDIRS) $(TOOLSDIR)
CORE_FILES := arch/vax/kernel/kernel.o arch/vax/mm/mm.o $(CORE_FILES)
@@ -59,7 +58,7 @@
archonly: mopbootx diskbootx
# This target should re-compile anything that's changed
-mopboot: vmlinux $(SETCMDLINE)
+mopboot: vmlinux
$(OBJCOPY) vmlinux -O binary vmlinux.bin
dd if=/dev/zero of=header.bin bs=512 count=1
mv -f header.bin vmlinux.SYS
@@ -72,7 +71,7 @@
$(OBJDUMP) -D vmlinux > vmlinux.lst
# This target will only re-compile stuff that's changed in arch/vax
-mopbootx: linkonly $(SETCMDLINE)
+mopbootx: linkonly
$(OBJCOPY) vmlinux -O binary vmlinux.bin
dd if=/dev/zero of=header.bin bs=512 count=1
mv -f header.bin vmlinux.SYS
@@ -88,7 +87,7 @@
# use the vmlinux.SYS and something like asbl. Dont forget to
# set the command line to something useful like "root=/dev/sda1"
#
-diskboot: vmlinux $(MKBOOTBLK) $(SETCMDLINE)
+diskboot: vmlinux
$(OBJCOPY) vmlinux -O binary vmlinux.bin
$(MKBOOTBLK) vmlinux.bin > vmlinux.dsk
cat vmlinux.bin >> vmlinux.dsk
@@ -99,7 +98,7 @@
# ... and this one only rebuilds stuff in arch/vax
-diskbootx: linkonly $(MKBOOTBLK) $(SETCMDLINE)
+diskbootx: linkonly
$(OBJCOPY) vmlinux -O binary vmlinux.bin
$(MKBOOTBLK) vmlinux.bin > vmlinux.dsk
cat vmlinux.bin >> vmlinux.dsk
@@ -108,30 +107,9 @@
@echo " " $(SETCMDLINE)
@echo " "
-linkonly: FORCE
- $(MAKE) -C arch/vax/lib
- $(MAKE) -C arch/vax/mm
- $(MAKE) -C arch/vax/kernel
- $(MAKE) -C arch/vax/boot
+linkonly: FORCE $(ARCHDIRS) $(TOOLSDIR)
@$(call rule_link_vmlinux)
-#$(HEAD): libboot
-
-$(MKBOOTBLK): $(MKBOOTBLK).c
- gcc -o $@ $<
-
-$(SHOWCMDLINE): $(SETCMDLINE)
-
-$(SETCMDLINE): $(SETCMDLINE).c
- gcc -o $@ $<
- ln -f $(SETCMDLINE) $(SHOWCMDLINE)
-
-#libboot:
-# (cd ${TOPDIR}/arch/vax/boot; make all )
-#
-#libio:
-# (cd ${TOPDIR}/arch/vax/lib ; make )
-
dep:
fastdep:
@@ -139,11 +117,10 @@
archclean:
rm -f vmlinux.* vmlinux
cd $(TOPDIR)/arch/vax ; rm -f *.out TEST.BIN TEST.SYS header.bin
- cd $(TOPDIR)/arch/vax/boot/tools ; rm -f setcmdline showcmdline
+ cd $(TOOLSDIR) ; rm -f setcmdline showcmdline mkbootblk
archmrproper:
archdep:
-# @$(MAKEBOOT) dep
clean: archclean
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:30:05
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/char In directory sc8-pr-cvs1:/tmp/cvs-serv2594/drivers/char Modified Files: dz.c Log Message: Fix compiler warning Index: dz.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/char/dz.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- dz.c 5 Jun 2002 21:55:03 -0000 1.3 +++ dz.c 23 Jan 2003 23:30:01 -0000 1.4 @@ -62,6 +62,7 @@ #include <asm/irq.h> #ifdef CONFIG_VAX +#include <asm/mv.h> #include <asm/vsa.h> #include <asm/dz11.h> volatile struct dz11_regs *dz11_addr; |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:23:07
|
Update of /cvsroot/linux-vax/kernel-2.5/fs/ntfs In directory sc8-pr-cvs1:/tmp/cvs-serv30577/fs/ntfs Added Files: dir.h Log Message: Merge with 2.5.21 |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:21:40
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax/mm
In directory sc8-pr-cvs1:/tmp/cvs-serv28406/include/asm-vax/mm
Modified Files:
pgalloc.h
Log Message:
Simplify includes
Index: pgalloc.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/mm/pgalloc.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- pgalloc.h 31 Dec 2002 22:36:03 -0000 1.6
+++ pgalloc.h 23 Jan 2003 23:21:37 -0000 1.7
@@ -27,11 +27,11 @@
* So, there are 0x800 pages of 'ptes' per pgd. Keeping track of which page
* is mapped where, requires a pmd with 0x800 entries.
*/
-#include <asm/processor.h>
-#include <linux/threads.h>
-#include <asm/mm/virtmap.h>
-#include <linux/vmalloc.h>
-#include <asm/mm/task.h>
+
+#include <linux/gfp.h>
+
+/* Forward declaration to avoid having to pull in all of linux/mm.h */
+struct mm_struct;
#ifndef CONFIG_SMP
extern struct pgd_cache {
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:18:55
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1:/tmp/cvs-serv27667/include/asm-vax Modified Files: tlbflush.h Log Message: Need to include <linux/mm.h> here for some users Index: tlbflush.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/tlbflush.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- tlbflush.h 12 Dec 2002 01:19:20 -0000 1.1 +++ tlbflush.h 23 Jan 2003 23:18:53 -0000 1.2 @@ -1,6 +1,8 @@ #ifndef __VAX_TLBFLUSH_H #define __VAX_TLBFLUSH_H +#include <linux/mm.h> + /* FIXME: update to 2.4 - clever_smp_invalidate has gone. */ |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:18:14
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax In directory sc8-pr-cvs1:/tmp/cvs-serv27279/include/asm-vax Modified Files: signal.h Log Message: Silence compiler warnings in files that include linux/signal.h before linux/ptrace.h Index: signal.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/signal.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- signal.h 20 May 2002 00:33:39 -0000 1.3 +++ signal.h 23 Jan 2003 23:18:11 -0000 1.4 @@ -179,6 +179,10 @@ #ifdef __KERNEL__ #include <asm/sigcontext.h> +/* This forward declaration is required to silence warnings in + files that include linux/signal.h before linux/ptrace.h */ +struct pt_regs; + #endif /* __KERNEL__ */ #endif |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:17:20
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/vsbus
In directory sc8-pr-cvs1:/tmp/cvs-serv26646/drivers/vsbus
Modified Files:
vsbus.c
Log Message:
is_ka46() and is_ka55() now defined in asm/mv.h
Index: vsbus.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/vsbus/vsbus.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vsbus.c 20 May 2002 00:33:37 -0000 1.3
+++ vsbus.c 23 Jan 2003 23:17:17 -0000 1.4
@@ -13,9 +13,6 @@
#include <linux/bitops.h>
#include <asm/mv.h>
-#include <asm/ka43.h>
-extern struct vax_mv mv_ka46;
-extern struct vax_mv mv_ka55;
struct vsbus {
struct vs_cpu *vs_cpu_ptr;
@@ -84,8 +81,4 @@
sys_vs.vs_cpu_ptr->vc_intmsk = sys_vs.vs_enabled;
return ffs(y)-1;
}
-
-int is_ka46(void) { return (mv==&mv_ka46); }
-
-int is_ka55(void) { return (mv==&mv_ka55); }
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:15:44
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/net
In directory sc8-pr-cvs1:/tmp/cvs-serv23516/drivers/net
Modified Files:
vaxlance.c
Log Message:
Fix compiler warnings
Index: vaxlance.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/net/vaxlance.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- vaxlance.c 20 May 2002 00:33:36 -0000 1.3
+++ vaxlance.c 23 Jan 2003 23:15:41 -0000 1.4
@@ -33,7 +33,6 @@
/* Ugly kludge to deal with KA43 weirdness */
#include <asm/mv.h>
#include <asm/ka43.h>
-extern struct vax_mv mv_ka43;
#define CRC_POLYNOMIAL_BE 0x04c11db7UL /* Ethernet CRC, big endian */
#define CRC_POLYNOMIAL_LE 0xedb88320UL /* Ethernet CRC, little endian */
@@ -904,7 +903,7 @@
static unsigned version_printed = 0;
struct lance_private *lp;
volatile struct lance_regs *ll;
- int i, ret;
+ int i;
unsigned char *esar;
/* Could these base addresses be different on other CPUs? */
@@ -940,7 +939,7 @@
return -ENOMEM;
}
- if (mv == &mv_ka43) {
+ if (is_ka43()) {
/* FIXME:
We need to check if this block straddles the 16MB boundary. If
@@ -978,7 +977,7 @@
esar=ioremap(esar_phys_addr, 0x80);
/* prom checks */
-#if 0
+#ifdef CHECK_ADDRESS_ROM_CHECKSUM
/* If this is dead code, let's remove it... - KPH 2001-03-04 */
/* not sure if its dead it might just not work on the VAX I have
does anyone know if VAX store test pattern in EEPROM */
@@ -986,8 +985,9 @@
if (esar[0x60] != 0xff && esar[0x64] != 0x00 &&
esar[0x68] != 0x55 && esar[0x6c] != 0xaa) {
printk("Ethernet station address prom not found!\n");
- ret = -ENODEV;
- goto err_out;
+ unregister_netdev(dev);
+ kfree(dev);
+ return -ENODEV;
}
/* Check the prom contents */
for (i = 0; i < 8; i++) {
@@ -996,8 +996,9 @@
esar[0x3c - i * 4] != esar[0x40 + i * 4]) {
printk("Something is wrong with the ethernet "
"station address prom!\n");
- ret = -ENODEV;
- goto err_out;
+ unregister_netdev(dev);
+ kfree(dev);
+ return -ENODEV;
}
}
#endif
@@ -1122,11 +1123,6 @@
#endif
return 0;
-
-err_out:
- unregister_netdev(dev);
- kfree(dev);
- return ret;
}
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:10:13
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax
In directory sc8-pr-cvs1:/tmp/cvs-serv21653/include/asm-vax
Modified Files:
mv.h
Log Message:
Define is_ka43/46/55() helper functions
Index: mv.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/mv.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- mv.h 20 May 2002 01:09:49 -0000 1.5
+++ mv.h 23 Jan 2003 23:10:07 -0000 1.6
@@ -81,6 +81,22 @@
int dz11_getchar(void);
void init_dz11_console(unsigned long dz11_phys_addr, unsigned int line);
+/* FIXME: These should be removed eventually */
+static inline int is_ka43(void) {
+ extern struct vax_mv mv_ka43;
+ return (mv==&mv_ka43);
+}
+
+static inline int is_ka46(void) {
+ extern struct vax_mv mv_ka46;
+ return (mv==&mv_ka46);
+}
+
+static inline int is_ka55(void) {
+ extern struct vax_mv mv_ka55;
+ return (mv==&mv_ka55);
+}
+
#endif /* !__ASSEMBLY__ */
#endif /* __VAX_MV_H_ */
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:08:36
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel
In directory sc8-pr-cvs1:/tmp/cvs-serv21025/arch/vax/kernel
Modified Files:
cpu_vxt.c
Log Message:
Fix a compiler warning
Index: cpu_vxt.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_vxt.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- cpu_vxt.c 5 Jun 2002 21:55:03 -0000 1.7
+++ cpu_vxt.c 23 Jan 2003 23:08:33 -0000 1.8
@@ -56,6 +56,7 @@
}
};
+extern unsigned long dz_serial_console_init(unsigned long, unsigned long);
void vxt_pre_vm_init(void)
{
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:07:51
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel
In directory sc8-pr-cvs1:/tmp/cvs-serv20298/arch/vax/kernel
Modified Files:
cpu_ka43.c
Log Message:
Move the KA43 machine check names array out of ka43.h info cpu_ka43.c
Index: cpu_ka43.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/cpu_ka43.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- cpu_ka43.c 12 Dec 2002 01:19:20 -0000 1.9
+++ cpu_ka43.c 23 Jan 2003 23:07:48 -0000 1.10
@@ -83,6 +83,30 @@
0 /* System ID Extension from ROM */
};
+char *ka43_mctype[MC43_MAX+1] = {
+ "no error (0)", /* Code 0: No error */
+ "FPA: protocol error", /* Code 1-5: FPA errors */
+ "FPA: illegal opcode",
+ "FPA: operand parity error",
+ "FPA: unknown status",
+ "FPA: result parity error",
+ "unused (6)", /* Code 6-7: Unused */
+ "unused (7)",
+ "MMU error (TLB miss)", /* Code 8-9: MMU errors */
+ "MMU error (TLB hit)",
+ "HW interrupt at unused IPL", /* Code 10: Interrupt error */
+ "MOVCx impossible state", /* Code 11-13: Microcode errors */
+ "undefined trap code (i-box)",
+ "undefined control store address",
+ "unused (14)", /* Code 14-15: Unused */
+ "unused (15)",
+ "PC tag or data parity error", /* Code 16: Cache error */
+ "data bus parity error", /* Code 17: Read error */
+ "data bus error (NXM)", /* Code 18: Write error */
+ "undefined data bus state", /* Code 19: Bus error */
+};
+
+
/* Defined over in drivers/char/dz.c */
extern unsigned long dz_serial_console_init(unsigned long, unsigned long);
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:07:51
|
Update of /cvsroot/linux-vax/kernel-2.5/include/asm-vax
In directory sc8-pr-cvs1:/tmp/cvs-serv20298/include/asm-vax
Modified Files:
ka43.h
Log Message:
Move the KA43 machine check names array out of ka43.h info cpu_ka43.c
Index: ka43.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/include/asm-vax/ka43.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ka43.h 20 May 2002 00:33:39 -0000 1.4
+++ ka43.h 23 Jan 2003 23:07:48 -0000 1.5
@@ -132,29 +132,8 @@
#define KA43_MC_RESTART 0x00008000 /* Restart possible*/
#define KA43_PSL_FPDONE 0x00010000 /* First Part Done */
-static char *ka43_mctype[] = {
- "no error (0)", /* Code 0: No error */
- "FPA: protocol error", /* Code 1-5: FPA errors */
- "FPA: illegal opcode",
- "FPA: operand parity error",
- "FPA: unknown status",
- "FPA: result parity error",
- "unused (6)", /* Code 6-7: Unused */
- "unused (7)",
- "MMU error (TLB miss)", /* Code 8-9: MMU errors */
- "MMU error (TLB hit)",
- "HW interrupt at unused IPL", /* Code 10: Interrupt error */
- "MOVCx impossible state", /* Code 11-13: Microcode errors */
- "undefined trap code (i-box)",
- "undefined control store address",
- "unused (14)", /* Code 14-15: Unused */
- "unused (15)",
- "PC tag or data parity error", /* Code 16: Cache error */
- "data bus parity error", /* Code 17: Read error */
- "data bus error (NXM)", /* Code 18: Write error */
- "undefined data bus state", /* Code 19: Bus error */
-};
#define MC43_MAX 19
+extern char *ka43_mctype[MC43_MAX+1];
#endif /* __ASSEMBLY */
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:06:54
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/mm In directory sc8-pr-cvs1:/tmp/cvs-serv19859/mm Modified Files: ioremap.c Log Message: Simplify includes Index: ioremap.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/mm/ioremap.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ioremap.c 28 Dec 2002 02:13:47 -0000 1.6 +++ ioremap.c 23 Jan 2003 23:06:51 -0000 1.7 @@ -45,10 +45,7 @@ */ -#include <asm/io.h> -#include <asm/page.h> -#include <asm/pgtable.h> -#include <asm/pgalloc.h> +#include <linux/mm.h> #include <asm/tlbflush.h> /* Defined in head.S */ |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:06:17
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/mm In directory sc8-pr-cvs1:/tmp/cvs-serv19385/mm Modified Files: Makefile Log Message: Makefile cleanups Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/mm/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Makefile 20 May 2002 00:33:34 -0000 1.3 +++ Makefile 23 Jan 2003 23:06:12 -0000 1.4 @@ -1,19 +1,11 @@ # # Makefile for the arch/vax/mm # -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here +# Note! Dependencies are done automagically +# DON'T put your own dependencies here # unless it's something special (ie not a .c file). -# -# Note 2! The CFLAGS definitions are now in the main makefile... - -USE_STANDARD_AS_RULE := true - -all: mm.o O_TARGET := mm.o obj-y := init.o pgtable.o pgalloc.o ioremap.o extable.o fault.o -OX_OBJS := -MX_OBJS := include $(TOPDIR)/Rules.make |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:06:16
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv19385/kernel Modified Files: Makefile Log Message: Makefile cleanups Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Makefile 20 May 2002 01:09:49 -0000 1.5 +++ Makefile 23 Jan 2003 23:06:12 -0000 1.6 @@ -1,15 +1,9 @@ # # Makefile for the linux kernel. # -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here +# Note! Dependencies are done automagically +# DON'T put your own dependencies here # unless it's something special (ie not a .c file). -# -# Note 2! The CFLAGS definitions are now in the main makefile... - -USE_STANDARD_AS_RULE := true - -all: kernel.o O_TARGET := kernel.o @@ -19,7 +13,5 @@ cpu_ka630.o cpu_ka640.o cpu_ka650.o cpu_ka660.o \ cpu_ka410.o cpu_ka42.o cpu_ka43.o cpu_ka46.o cpu_ka55.o \ cpu_vxt.o clock.o -OX_OBJS := -MX_OBJS := include $(TOPDIR)/Rules.make |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:06:16
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/boot In directory sc8-pr-cvs1:/tmp/cvs-serv19385/boot Modified Files: Makefile Log Message: Makefile cleanups Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/boot/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Makefile 20 May 2002 00:33:33 -0000 1.3 +++ Makefile 23 Jan 2003 23:06:12 -0000 1.4 @@ -1,15 +1,9 @@ # # Makefile for the boot-time code for the Linux/VAX kernel # -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here +# Note! Dependencies are done automagically +# DON'T put your own dependencies here # unless it's something special (ie not a .c file). -# -# Note 2! The CFLAGS definitions are now in the main makefile... - -# Taking the lead from the alpha - -USE_STANDARD_AS_RULE := true all: head.o libboot.a |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:06:16
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/lib In directory sc8-pr-cvs1:/tmp/cvs-serv19385/lib Modified Files: Makefile Log Message: Makefile cleanups Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/lib/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Makefile 20 May 2002 00:33:33 -0000 1.3 +++ Makefile 23 Jan 2003 23:06:12 -0000 1.4 @@ -1,18 +1,13 @@ # # Makefile for the linux kernel. # -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here +# Note! Dependencies are done automagically +# DON'T put your own dependencies here # unless it's something special (ie not a .c file). -# -# Note 2! The CFLAGS definitions are now in the main makefile... - -USE_STANDARD_AS_RULE := true - -all: libio.a L_TARGET := libio.a -obj-y := string.o console.o negdi.o checksum.o lshrdi3.o strncpy_user.o copy_tofrom_user.o strnlen_user.o clear_user.o +obj-y := string.o console.o negdi.o checksum.o lshrdi3.o strncpy_user.o \ + copy_tofrom_user.o strnlen_user.o clear_user.o include $(TOPDIR)/Rules.make |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:04:40
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/boot/tools In directory sc8-pr-cvs1:/tmp/cvs-serv18198 Added Files: Makefile Log Message: New-style makefile for boot tools. Uses host-progs facility provided by kbuild --- NEW FILE --- host-progs := mkbootblk setcmdline all: $(host-progs) showcmdline: setcmdline ln -f $< $@ include $(TOPDIR)/Rules.make |
|
From: Kenn H. <ke...@us...> - 2003-01-23 23:03:41
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/boot/tools
In directory sc8-pr-cvs1:/tmp/cvs-serv17615
Modified Files:
setcmdline.c
Log Message:
Clean up to give a warning-free compile with -Wall
Index: setcmdline.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/boot/tools/setcmdline.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- setcmdline.c 20 May 2002 01:09:49 -0000 1.5
+++ setcmdline.c 23 Jan 2003 23:03:37 -0000 1.6
@@ -5,9 +5,21 @@
#include <fcntl.h>
#include <string.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
#define COMMAND_LINE_SIZE 256
#define COMMAND_LINE_OFFSET 0x204
+int called_as(char *str1, char *str2)
+{
+ char *tmp;
+
+ tmp = strrchr(str1,'/');
+ if (tmp==NULL) tmp=str1; else tmp++;
+// printf("%s %s, %s\n",str1,str2,tmp);
+ return (!strncmp(tmp,str2,strlen(str2)));
+}
+
int main (int argc, char *argv[])
{
int kern_fd;
@@ -48,16 +60,9 @@
printf("\nKernel command line is:\n\t%s\n",buffer);
}
close(kern_fd);
-}
-int called_as(char *str1, char *str2)
-{
- char *tmp;
-
- tmp = strrchr(str1,'/');
- if (tmp==NULL) tmp=str1; else tmp++;
-// printf("%s %s, %s\n",str1,str2,tmp);
- return (!strncmp(tmp,str2,strlen(str2)));
+ return 0;
}
+
|
|
From: Kenn H. <ke...@us...> - 2003-01-23 22:59:18
|
Update of /cvsroot/linux-vax/kernel-2.5
In directory sc8-pr-cvs1:/tmp/cvs-serv15350
Modified Files:
Makefile Rules.make
Log Message:
Merge with 2.5.21
Index: Makefile
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/Makefile,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- Makefile 14 Jan 2003 23:55:17 -0000 1.24
+++ Makefile 23 Jan 2003 22:59:14 -0000 1.25
@@ -1,6 +1,6 @@
VERSION = 2
PATCHLEVEL = 5
-SUBLEVEL = 20
+SUBLEVEL = 21
EXTRAVERSION =
# We are using a recursive build, so we need to do a little thinking
@@ -37,6 +37,56 @@
CROSS_COMPILE = /usr/local/bin/vax-dec-linux-
+# That's our default target when none is given on the command line
+
+all: vmlinux
+
+# Print entire command lines instead of short version
+# For now, leave the default
+
+ifndef KBUILD_VERBOSE
+ KBUILD_VERBOSE = 1
+endif
+
+# Decide whether to build built-in, modular, or both
+
+KBUILD_MODULES := 1
+KBUILD_BUILTIN := 1
+
+export KBUILD_MODULES KBUILD_BUILTIN
+
+# Beautify output
+# ---------------------------------------------------------------------------
+#
+# Normally, we echo the whole command before executing it. By making
+# that echo $($(quiet)$(cmd)), we now have the possibility to set
+# $(quiet) to choose other forms of output instead, e.g.
+#
+# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
+# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
+#
+# If $(quiet) is empty, the whole command will be printed.
+# If it is set to "quiet_", only the short version will be printed.
+# If it is set to "silent_", nothing wil be printed at all, since
+# the variable $(silent_cmd_cc_o_c) doesn't exist.
+
+# If the user wants quiet mode, echo short versions of the commands
+# only and suppress the 'Entering/Leaving directory' messages
+
+ifneq ($(KBUILD_VERBOSE),1)
+ quiet=quiet_
+ MAKEFLAGS += --no-print-directory
+endif
+
+# If the user is running make -s (silent mode), suppress echoing of
+# commands
+
+ifneq ($(findstring s,$(MAKEFLAGS)),)
+ quiet=silent_
+endif
+
+export quiet
+
#
# Include the make variables (CC, etc...)
#
@@ -56,33 +106,46 @@
PERL = perl
MODFLAGS = -DMODULE
CFLAGS_MODULE = $(MODFLAGS)
-AFLAGS_MODULE =
+AFLAGS_MODULE = $(MODFLAGS)
CFLAGS_KERNEL =
AFLAGS_KERNEL =
EXPORT_FLAGS =
+NOSTDINC_FLAGS = -nostdinc -iwithprefix include
export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
CONFIG_SHELL TOPDIR HPATH HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS PERL
-export CPPFLAGS EXPORT_FLAGS
+export CPPFLAGS EXPORT_FLAGS NOSTDINC_FLAGS
export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
-all: do-it-all
+noconfig_targets := xconfig menuconfig config oldconfig randconfig \
+ defconfig allyesconfig allnoconfig allmodconfig \
+ clean mrproper distclean
-#
-# 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 @@
EXPORT_FLAGS := -DEXPORT_SYMTAB
endif
-INIT =init/init.o
-CORE_FILES =kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o
-NETWORKS =net/network.o
-
-LIBS =$(TOPDIR)/lib/lib.a
-SUBDIRS =init kernel lib drivers mm fs net ipc sound
-
-DRIVERS-y = drivers/built-in.o
-DRIVERS-$(CONFIG_SOUND) += sound/sound.o
-
-DRIVERS := $(DRIVERS-y)
-
+# Link components for vmlinux
+# ---------------------------------------------------------------------------
+SUBDIRS := init kernel mm fs ipc lib drivers sound net
+INIT := init/init.o
+CORE_FILES := kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o
+LIBS := lib/lib.a
+DRIVERS := drivers/built-in.o sound/sound.o
+NETWORKS := net/network.o
include arch/$(ARCH)/Makefile
@@ -149,6 +208,7 @@
vmlinux-objs := $(HEAD) $(INIT) $(CORE_FILES) $(LIBS) $(DRIVERS) $(NETWORKS)
+quiet_cmd_link_vmlinux = LD $@
cmd_link_vmlinux = $(LD) $(LINKFLAGS) $(HEAD) $(INIT) \
--start-group \
$(CORE_FILES) \
@@ -166,13 +226,13 @@
. scripts/mkversion > .tmpversion
mv -f .tmpversion .version
$(MAKE) -C init
- echo $(cmd_link_vmlinux)
+ $(call cmd,cmd_link_vmlinux)
$(cmd_link_vmlinux)
echo 'cmd_$@ := $(cmd_link_vmlinux)' > $(@D)/.$(@F).cmd
$(NM) vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
endef
-vmlinux: $(CONFIGURATION) $(vmlinux-objs) FORCE
+vmlinux: $(vmlinux-objs) FORCE
$(call if_changed_rule,link_vmlinux)
# The actual objects are generated when descending,
@@ -183,15 +243,14 @@
# Handle descending into subdirectories listed in $(SUBDIRS)
.PHONY: $(SUBDIRS)
-$(SUBDIRS): prepare
+$(SUBDIRS): .hdepend prepare include/config/MARKER
@$(MAKE) -C $@
-# Things we need done before we even start the actual build.
-# The dependency on .hdepend will in turn take care of
-# include/asm, include/linux/version etc.
+# Things we need done before we descend to build or make
+# module versions are listed in "prepare"
.PHONY: prepare
-prepare: .hdepend include/config/MARKER
+prepare: include/linux/version.h include/asm
# Single targets
# ---------------------------------------------------------------------------
@@ -202,6 +261,8 @@
@$(MAKE) -C $(@D) $(@F)
%.o: %.c FORCE
@$(MAKE) -C $(@D) $(@F)
+%.lst: %.c FORCE
+ @$(MAKE) -C $(@D) $(@F)
%.s: %.S FORCE
@$(MAKE) -C $(@D) $(@F)
%.o: %.S FORCE
@@ -214,14 +275,23 @@
include/asm:
@echo 'Making asm->asm-$(ARCH) symlink'
@ln -s asm-$(ARCH) $@
- @echo 'Making directory include/linux/modules'
- @mkdir include/linux/modules
# Split autoconf.h into include/linux/config/*
include/config/MARKER: scripts/split-include include/linux/autoconf.h
- scripts/split-include include/linux/autoconf.h include/config
- @ touch include/config/MARKER
+ @echo 'Splitting include/linux/autoconf.h -> include/config'
+ @scripts/split-include include/linux/autoconf.h include/config
+ @touch $@
+
+# if .config is newer than include/linux/autoconf.h, someone tinkered
+# with it and forgot to run make oldconfig
+
+include/linux/autoconf.h: .config
+ @echo '***'
+ @echo '*** You changed .config w/o running make *config?'
+ @echo '*** Please run "make oldconfig"'
+ @echo '***'
+ @exit 1
# Generate some files
# ---------------------------------------------------------------------------
@@ -229,64 +299,77 @@
# version.h changes when $(KERNELRELEASE) etc change, as defined in
# this Makefile
+uts_len := 64
+
include/linux/version.h: Makefile
- @echo Generating $@
- @. scripts/mkversion_h $@ $(KERNELRELEASE) $(VERSION) $(PATCHLEVEL) $(SUBLEVEL)
+ @if expr length "$(KERNELRELEASE)" \> $(uts_len) >/dev/null ; then \
+ echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
+ exit 1; \
+ fi;
+ @echo -n 'Generating $@'
+ @(echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \
+ echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \
+ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \
+ ) > $@.tmp
+ @$(update-if-changed)
# Helpers built in scripts/
# ---------------------------------------------------------------------------
-scripts/mkdep scripts/split-include : FORCE
+scripts/fixdep scripts/split-include : scripts ;
+
+.PHONY: scripts
+scripts:
@$(MAKE) -C scripts
-# Generate dependencies
+# Generate module versions
# ---------------------------------------------------------------------------
-# In the same pass, generate module versions, that's why it's
-# all mixed up here.
+# The targets are still named depend / dep for traditional
+# reasons, but the only thing we do here is generating
+# the module version checksums.
+# FIXME: For now, we are also calling "archdep" from here,
+# which should be replaced by a more sensible solution.
.PHONY: depend dep $(patsubst %,_sfdep_%,$(SUBDIRS))
depend dep: .hdepend
-# .hdepend is missing prerequisites - in fact dependencies need
-# to be redone basically each time anything changed - since
-# that's too expensive, we traditionally rely on the user to
-# run "make dep" manually whenever necessary. In this case,
-# we make "FORCE" a prequisite, to force redoing the
-# dependencies. Yeah, that's ugly, and it'll go away soon.
-
-.hdepend: 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 @@
endif
.PHONY: modules
-modules: $(patsubst %, _mod_%, $(SUBDIRS))
-
-.PHONY: $(patsubst %, _mod_%, $(SUBDIRS))
-$(patsubst %, _mod_%, $(SUBDIRS)) : include/linux/version.h include/config/MARKER
- @$(MAKE) -C $(patsubst _mod_%, %, $@) modules
+modules:
+ @$(MAKE) KBUILD_BUILTIN= $(SUBDIRS)
# Install modules
@@ -369,7 +449,7 @@
TAGS: FORCE
{ find include/asm-${ARCH} -name '*.h' -print ; \
find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print ; \
- find $(SUBDIRS) init -name '*.[ch]' ; } | grep -v SCCS | etags -
+ find $(SUBDIRS) init arch/${ARCH} -name '*.[chS]' ; } | grep -v SCCS | etags -
# Exuberant ctags works better with -I
tags: FORCE
@@ -412,28 +492,82 @@
rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
rm $(TOPDIR)/../$(KERNELPATH).tar.gz
+else # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
+
# Targets which don't need .config
# ===========================================================================
+#
+# These targets basically have their own Makefile - not quite, but at
+# least its own exclusive section in the same Makefile. The reason for
+# this is the following:
+# To know the configuration, the main Makefile has to include
+# .config. That's a obviously a problem when .config doesn't exist
+# yet, but that could be kludged around with only including it if it
+# exists.
+# However, the larger problem is: If you run make *config, make will
+# include the old .config, then execute your *config. It will then
+# notice that a piece it included (.config) did change and restart from
+# scratch. Which will cause execution of *config again. You get the
+# picture.
+# If we don't explicitly let the Makefile know that .config is changed
+# by *config (the old way), it won't reread .config after *config,
+# thus working with possibly stale values - we don't that either.
+#
+# So we divide things: This part here is for making *config targets,
+# and other targets which should work when no .config exists yet.
+# The main part above takes care of the rest after a .config exists.
# Kernel configuration
# ---------------------------------------------------------------------------
-.PHONY: oldconfig xconfig menuconfig config
-
-oldconfig:
- $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in
+.PHONY: oldconfig xconfig menuconfig config \
+ make_with_config
xconfig:
@$(MAKE) -C scripts kconfig.tk
wish -f scripts/kconfig.tk
menuconfig:
- @$(MAKE) -C scripts/lxdialog all
+ @$(MAKE) -C scripts lxdialog
$(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.in
config:
$(CONFIG_SHELL) scripts/Configure arch/$(ARCH)/config.in
+oldconfig:
+ $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in
+
+randconfig:
+ $(CONFIG_SHELL) scripts/Configure -r arch/$(ARCH)/config.in
+
+allyesconfig:
+ $(CONFIG_SHELL) scripts/Configure -y arch/$(ARCH)/config.in
+
+allnoconfig:
+ $(CONFIG_SHELL) scripts/Configure -n arch/$(ARCH)/config.in
+
+allmodconfig:
+ $(CONFIG_SHELL) scripts/Configure -m arch/$(ARCH)/config.in
+
+defconfig:
+ yes '' | $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in
+
+# How we generate .config depends on which *config the
+# user chose when calling make
+
+.config: $(filter oldconfig xconfig menuconfig config,$(MAKECMDGOALS)) ;
+
+# If the user gave commands from both the need / need not
+# .config sections, we need to call make again after
+# .config is generated, now to take care of the remaining
+# targets we know nothing about in this section
+
+remaining_targets := $(filter-out $(noconfig_targets),$(MAKECMDGOALS))
+
+$(remaining_targets) : make_with_config
+
+make_with_config: .config
+ @$(MAKE) $(remaining_targets)
# Cleaning up
# ---------------------------------------------------------------------------
@@ -461,10 +595,6 @@
net/khttpd/times.h \
submenu*
-# directories removed with 'make clean'
-CLEAN_DIRS += \
- modules
-
# files removed with 'make mrproper'
MRPROPER_FILES += \
include/linux/autoconf.h include/linux/version.h \
@@ -483,34 +613,43 @@
scripts/lxdialog/*.o scripts/lxdialog/lxdialog \
.menuconfig.log \
include/asm \
- .hdepend scripts/mkdep scripts/split-include scripts/docproc \
- $(TOPDIR)/include/linux/modversions.h \
- kernel.spec
+ .hdepend scripts/split-include scripts/docproc \
+ scripts/fixdep $(TOPDIR)/include/linux/modversions.h \
+ tags TAGS kernel.spec \
# directories removed with 'make mrproper'
MRPROPER_DIRS += \
include/config \
$(TOPDIR)/include/linux/modules
+# That's our way to know about arch specific cleanup.
+
+include arch/$(ARCH)/Makefile
clean: archclean
- find . \( -name '*.[oas]' -o -name core -o -name '.*.cmd' \) -type f -print \
+ @echo 'Cleaning up'
+ @find . \( -name \*.[oas] -o -name core -o -name .\*.cmd -o \
+ -name .\*.tmp -o -name .\*.d \) -type f -print \
| grep -v lxdialog/ | xargs rm -f
- rm -f $(CLEAN_FILES)
- rm -rf $(CLEAN_DIRS)
+ @rm -rf $(CLEAN_FILES)
@$(MAKE) -C Documentation/DocBook clean
mrproper: clean archmrproper
- find . \( -size 0 -o -name .depend \) -type f -print | xargs rm -f
- rm -f $(MRPROPER_FILES)
- rm -rf $(MRPROPER_DIRS)
+ @echo 'Making mrproper'
+ @find . \( -size 0 -o -name .depend \) -type f -print | xargs rm -f
+ @rm -f $(MRPROPER_FILES)
+ @rm -rf $(MRPROPER_DIRS)
@$(MAKE) -C Documentation/DocBook mrproper
distclean: mrproper
- rm -f core `find . \( -not -type d \) -and \
- \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
+ @echo 'Making distclean'
+ @find . \( -not -type d \) -and \
+ \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
- -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f -print` TAGS tags
+ -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f \
+ -print | xargs rm -f
+
+endif # ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
# FIXME Should go into a make.lib or something
# ===========================================================================
@@ -530,5 +669,20 @@
$(filter-out $(cmd_$(1)),$(cmd_$(@F)))\
$(filter-out $(cmd_$(@F)),$(cmd_$(1)))),\
@$(rule_$(1)))
+
+# If quiet is set, only print short version of rule
+
+cmd = @$(if $($(quiet)$(1)),echo ' $($(quiet)$(1))' &&) $($(1))
+
+define update-if-changed
+ if [ -r $@ ] && cmp -s $@ $@.tmp; then \
+ echo ' (unchanged)'; \
+ rm -f $@.tmp; \
+ else \
+ echo ' (updated)'; \
+ mv -f $@.tmp $@; \
+ fi
+endef
+
FORCE:
Index: Rules.make
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/Rules.make,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Rules.make 14 Jan 2003 23:55:17 -0000 1.12
+++ Rules.make 23 Jan 2003 22:59:14 -0000 1.13
@@ -52,9 +52,8 @@
# add it to $(subdir-m)
both-m := $(filter $(mod-subdirs), $(subdir-y))
-SUB_DIRS := $(subdir-y) $(if $(BUILD_MODULES),$(subdir-m))
-MOD_SUB_DIRS := $(sort $(subdir-m) $(both-m))
-ALL_SUB_DIRS := $(sort $(subdir-y) $(subdir-m) $(subdir-n) $(subdir-))
+subdir-ym := $(sort $(subdir-y) $(subdir-m))
+subdir-ymn := $(sort $(subdir-ym) $(subdir-n) $(subdir-))
# export.o is never a composite object, since $(export-objs) has a
# fixed meaning (== objects which EXPORT_SYMBOL())
@@ -86,15 +85,20 @@
real-objs-y := $(foreach m, $(filter-out $(subdir-obj-y), $(obj-y)), $(if $($(m:.o=-objs)),$($(m:.o=-objs)),$(m))) $(EXTRA_TARGETS)
real-objs-m := $(foreach m, $(obj-m), $(if $($(m:.o=-objs)),$($(m:.o=-objs)),$(m)))
-# ==========================================================================
-#
# Get things started.
-#
-first_rule: vmlinux $(if $(BUILD_MODULES),$(obj-m))
+# ==========================================================================
-#
-# Common rules
-#
+ifndef O_TARGET
+ifndef L_TARGET
+O_TARGET := built-in.o
+endif
+endif
+
+# The echo suppresses the "Nothing to be done for first_rule"
+first_rule: $(if $(KBUILD_BUILTIN),$(O_TARGET) $(L_TARGET) $(EXTRA_TARGETS)) \
+ $(if $(KBUILD_MODULES),$(obj-m)) \
+ sub_dirs
+ @echo -n
# define listing_o_c to get compiler listings from .c -> .o compilations
listing_o_c = -Wa,-adnhls=$(subst $(comma),_,$(subst -,_,$(*F))).lst -g
@@ -102,38 +106,49 @@
# Compile C sources (.c)
# ---------------------------------------------------------------------------
-# FIXME: if we don't know if built-in or modular, assume built-in.
+# If we don't know if built-in or modular, assume built-in.
# Only happens in Makefiles which override the default first_rule:
modkern_cflags := $(CFLAGS_KERNEL)
-$(real-objs-y) : modkern_cflags := $(CFLAGS_KERNEL)
-$(real-objs-y:.o=.i): modkern_cflags := $(CFLAGS_KERNEL)
-$(real-objs-y:.o=.s): modkern_cflags := $(CFLAGS_KERNEL)
-
-$(real-objs-m) : modkern_cflags := $(CFLAGS_MODULE)
-$(real-objs-m:.o=.i): modkern_cflags := $(CFLAGS_MODULE)
-$(real-objs-m:.o=.s): modkern_cflags := $(CFLAGS_MODULE)
+$(real-objs-y) : modkern_cflags := $(CFLAGS_KERNEL)
+$(real-objs-y:.o=.i) : modkern_cflags := $(CFLAGS_KERNEL)
+$(real-objs-y:.o=.s) : modkern_cflags := $(CFLAGS_KERNEL)
+$(real-objs-y:.o=.lst): modkern_cflags := $(CFLAGS_KERNEL)
+
+$(real-objs-m) : modkern_cflags := $(CFLAGS_MODULE)
+$(real-objs-m:.o=.i) : modkern_cflags := $(CFLAGS_MODULE)
+$(real-objs-m:.o=.lst): modkern_cflags := $(CFLAGS_MODULE)
+
+$(export-objs) : export_flags := $(EXPORT_FLAGS)
+$(export-objs:.o=.i) : export_flags := $(EXPORT_FLAGS)
+$(export-objs:.o=.s) : export_flags := $(EXPORT_FLAGS)
+$(export-objs:.o=.lst): export_flags := $(EXPORT_FLAGS)
-$(export-objs) : export_flags := $(EXPORT_FLAGS)
-$(export-objs:.o=.i): export_flags := $(EXPORT_FLAGS)
-$(export-objs:.o=.s): export_flags := $(EXPORT_FLAGS)
+c_flags = $(CFLAGS) $(NOSTDINC_FLAGS) $(modkern_cflags) $(EXTRA_CFLAGS) $(CFLAGS_$(*F).o) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) $(export_flags)
-c_flags = $(CFLAGS) $(modkern_cflags) $(EXTRA_CFLAGS) $(CFLAGS_$(*F).o) -DKBUILD_BASENAME=$(subst $(comma),_,$(subst -,_,$(*F))) $(export_flags)
-
-cmd_cc_s_c = $(CC) $(c_flags) -S -o $@ $<
+quiet_cmd_cc_s_c = CC $(RELDIR)/$@
+cmd_cc_s_c = $(CC) $(c_flags) -S -o $@ $<
%.s: %.c FORCE
- $(call if_changed,cmd_cc_s_c)
+ $(call cmd,cmd_cc_s_c)
-cmd_cc_i_c = $(CPP) $(c_flags) -o $@ $<
+quiet_cmd_cc_i_c = CPP $(RELDIR)/$@
+cmd_cc_i_c = $(CPP) $(c_flags) -o $@ $<
%.i: %.c FORCE
- $(call if_changed,cmd_cc_i_c)
+ $(call cmd,cmd_cc_i_c)
-cmd_cc_o_c = $(CC) $(c_flags) $(listing_o_c) -c -o $@ $<
+quiet_cmd_cc_o_c = CC $(RELDIR)/$@
+cmd_cc_o_c = $(CC) -Wp,-MD,.$(subst /,_,$@).d $(c_flags) $(listing_o_c) -c -o $@ $<
%.o: %.c FORCE
- $(call if_changed,cmd_cc_o_c)
+ $(call if_changed_dep,cc_o_c)
+
+quiet_cmd_cc_lst_c = Generating $(RELDIR)/$@
+cmd_cc_lst_c = $(CC) $(c_flags) -g -c -o $*.o $< && $(TOPDIR)/scripts/makelst $*.o $(TOPDIR)/System.map $(OBJDUMP) > $@
+
+%.lst: %.c FORCE
+ $(call cmd,cmd_cc_lst_c)
# Compile assembler sources (.S)
# ---------------------------------------------------------------------------
@@ -147,39 +162,26 @@
$(real-objs-m) : modkern_aflags := $(AFLAGS_MODULE)
$(real-objs-m:.o=.s): modkern_aflags := $(AFLAGS_MODULE)
-a_flags = $(AFLAGS) $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o)
+a_flags = $(AFLAGS) $(NOSTDINC_FLAGS) $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o)
-cmd_as_s_S = $(CPP) $(a_flags) -o $@ $<
+quiet_cmd_as_s_S = CPP $(RELDIR)/$@
+cmd_as_s_S = $(CPP) $(a_flags) -o $@ $<
%.s: %.S FORCE
- $(call if_changed,cmd_as_s_S)
+ $(call cmd,cmd_as_s_S)
-cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
+quiet_cmd_as_o_S = AS $(RELDIR)/$@
+cmd_as_o_S = $(CC) -Wp,-MD,.$(subst /,_,$@).d $(a_flags) -c -o $@ $<
%.o: %.S FORCE
- $(call if_changed,cmd_as_o_S)
-
-# FIXME
-
-%.lst: %.c
- $(CC) $(c_flags) -g -c -o $*.o $<
- $(TOPDIR)/scripts/makelst $* $(TOPDIR) $(OBJDUMP)
-
+ $(call if_changed_dep,as_o_S)
# If a Makefile does define neither O_TARGET nor L_TARGET,
# use a standard O_TARGET named "built-in.o"
-ifndef O_TARGET
-ifndef L_TARGET
-O_TARGET := built-in.o
-endif
-endif
-
# Build the compiled-in targets
# ---------------------------------------------------------------------------
-vmlinux: $(O_TARGET) $(L_TARGET) $(EXTRA_TARGETS) sub_dirs
-
# To build objects in subdirs, we need to descend into the directories
$(sort $(subdir-obj-y)): sub_dirs ;
@@ -187,6 +189,7 @@
# Rule to compile a set of .o files into one .o file
#
ifdef O_TARGET
+quiet_cmd_link_o_target = LD $(RELDIR)/$@
# If the list of objects to link is empty, just create an empty O_TARGET
cmd_link_o_target = $(if $(strip $(obj-y)),\
$(LD) $(EXTRA_LDFLAGS) -r -o $@ $(filter $(obj-y), $^),\
@@ -200,6 +203,7 @@
# Rule to compile a set of .o files into one .a file
#
ifdef L_TARGET
+quiet_cmd_link_l_target = AR $(RELDIR)/$@
cmd_link_l_target = rm -f $@; $(AR) $(EXTRA_ARFLAGS) rcs $@ $(obj-y)
$(L_TARGET): $(obj-y) FORCE
@@ -210,7 +214,7 @@
# Rule to link composite objects
#
-
+quiet_cmd_link_multi = LD $(RELDIR)/$@
cmd_link_multi = $(LD) $(EXTRA_LDFLAGS) -r -o $@ $(filter $($(basename $@)-objs),$^)
# We would rather have a list of rules like
@@ -223,62 +227,83 @@
$(multi-used-m) : %.o: $(multi-objs-m) FORCE
$(call if_changed,cmd_link_multi)
-#
-# This make dependencies quickly
-#
-fastdep: FORCE
- $(TOPDIR)/scripts/mkdep $(CFLAGS) $(EXTRA_CFLAGS) -- $(wildcard *.[chS]) > .depend
-ifdef ALL_SUB_DIRS
- $(MAKE) $(patsubst %,_sfdep_%,$(ALL_SUB_DIRS)) _FASTDEP_ALL_SUB_DIRS="$(ALL_SUB_DIRS)"
-endif
+# Compile programs on the host
+# ===========================================================================
+
+host-progs-single := $(foreach m,$(host-progs),$(if $($(m)-objs),,$(m)))
+host-progs-multi := $(foreach m,$(host-progs),$(if $($(m)-objs),$(m)))
+host-progs-multi-objs := $(foreach m,$(host-progs-multi),$($(m)-objs))
+
+quiet_cmd_host_cc__c = HOSTCC $(RELDIR)/$@
+cmd_host_cc__c = $(HOSTCC) -Wp,-MD,.$(subst /,_,$@).d \
+ $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -o $@ $<
+
+$(host-progs-single): %: %.c FORCE
+ $(call if_changed_dep,host_cc__c)
+
+quiet_cmd_host_cc_o_c = HOSTCC $(RELDIR)/$@
+cmd_host_cc_o_c = $(HOSTCC) -Wp,-MD,.$(subst /,_,$@).d \
+ $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) -c -o $@ $<
+
+$(host-progs-multi-objs): %.o: %.c FORCE
+ $(call if_changed_dep,host_cc_o_c)
+
+quiet_cmd_host_cc__o = HOSTLD $(RELDIR)/$@
+cmd_host_cc__o = $(HOSTCC) $(HOSTLDFLAGS) -o $@ $($@-objs) \
+ $(HOST_LOADLIBES)
+
+$(host-progs-multi): %: $(host-progs-multi-objs) FORCE
+ $(call if_changed,cmd_host_cc__o)
+
-ifdef _FASTDEP_ALL_SUB_DIRS
-$(patsubst %,_sfdep_%,$(_FASTDEP_ALL_SUB_DIRS)):
+# Descending when making module versions
+# ---------------------------------------------------------------------------
+
+fastdep-list := $(addprefix _sfdep_,$(subdir-ymn))
+
+.PHONY: fastdep $(fastdep-list)
+
+fastdep: $(fastdep-list)
+
+$(fastdep-list):
@$(MAKE) -C $(patsubst _sfdep_%,%,$@) fastdep
-endif
+# Descending when building
+# ---------------------------------------------------------------------------
-#
-# A rule to make subdirectories
-#
-subdir-list = $(sort $(patsubst %,_subdir_%,$(SUB_DIRS)))
-sub_dirs: FORCE $(subdir-list)
+subdir-list := $(addprefix _subdir_,$(subdir-ym))
+
+.PHONY: sub_dirs $(subdir-list)
-ifdef SUB_DIRS
-$(subdir-list) : FORCE
+sub_dirs: $(subdir-list)
+
+$(subdir-list):
@$(MAKE) -C $(patsubst _subdir_%,%,$@)
-endif
-#
-# A rule to make modules
-#
-ifneq "$(strip $(MOD_SUB_DIRS))" ""
-.PHONY: $(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS))
-$(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS)) : FORCE
- @$(MAKE) -C $(patsubst _modsubdir_%,%,$@) modules
+# Descending and installing modules
+# ---------------------------------------------------------------------------
-.PHONY: $(patsubst %,_modinst_%,$(MOD_SUB_DIRS))
-$(patsubst %,_modinst_%,$(MOD_SUB_DIRS)) : FORCE
- @$(MAKE) -C $(patsubst _modinst_%,%,$@) modules_install
-endif
+modinst-list := $(addprefix _modinst_,$(subdir-ym))
-.PHONY: modules
-modules: $(obj-m) FORCE $(patsubst %,_modsubdir_%,$(MOD_SUB_DIRS))
+.PHONY: modules_install _modinst_ $(modinst-list)
-.PHONY: _modinst__
-_modinst__: FORCE
-ifneq "$(strip $(obj-m))" ""
- mkdir -p $(MODLIB)/kernel/$(RELDIR)
- cp $(obj-m) $(MODLIB)/kernel/$(RELDIR)
+modules_install: $(modinst-list)
+ifneq ($(obj-m),)
+ @echo Installing modules in $(MODLIB)/kernel/$(RELDIR)
+ @mkdir -p $(MODLIB)/kernel/$(RELDIR)
+ @cp $(obj-m) $(MODLIB)/kernel/$(RELDIR)
+else
+ @echo -n
endif
-.PHONY: modules_install
-modules_install: _modinst__ $(patsubst %,_modinst_%,$(MOD_SUB_DIRS))
-
+$(modinst-list):
+ @$(MAKE) -C $(patsubst _modinst_%,%,$@) modules_install
# Add FORCE to the prequisites of a target to force it to be always rebuilt.
# ---------------------------------------------------------------------------
+
.PHONY: FORCE
+
FORCE:
#
@@ -292,13 +317,11 @@
# Separate the object into "normal" objects and "exporting" objects
# Exporting objects are: all objects that define symbol tables
#
-ifdef CONFIG_MODULES
ifdef CONFIG_MODVERSIONS
ifneq "$(strip $(export-objs))" ""
-MODINCL := $(TOPDIR)/include/linux/modules
-MODPREFIX := $(subst /,-,$(RELDIR))__
+MODVERDIR := $(TOPDIR)/include/linux/modules/$(RELDIR)
#
# Added the SMP separator to stop module accidents between uniprocessor
@@ -314,47 +337,32 @@
# We don't track dependencies for .ver files, so we FORCE to check
# them always (i.e. always at "make dep" time).
+quiet_cmd_create_ver = Creating include/linux/modules/$(RELDIR)/$*.ver
cmd_create_ver = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -E -D__GENKSYMS__ $< | \
$(GENKSYMS) $(genksyms_smp_prefix) -k $(VERSION).$(PATCHLEVEL).$(SUBLEVEL) > $@.tmp
-$(MODINCL)/$(MODPREFIX)%.ver: %.c FORCE
- @echo $(cmd_create_ver)
- @$(cmd_create_ver)
+$(MODVERDIR)/%.ver: %.c FORCE
+ @mkdir -p $(dir $@)
+ @$(call cmd,cmd_create_ver)
@if [ -r $@ ] && cmp -s $@ $@.tmp; then \
- echo $@ is unchanged; rm -f $@.tmp; \
+ rm -f $@.tmp; \
else \
- echo mv $@.tmp $@; mv -f $@.tmp $@; \
+ touch $(TOPDIR)/include/linux/modversions.h; \
+ mv -f $@.tmp $@; \
fi
# updates .ver files but not modversions.h
-fastdep: $(addprefix $(MODINCL)/$(MODPREFIX),$(export-objs:.o=.ver))
-
-endif # export-objs
+fastdep: $(addprefix $(MODVERDIR)/,$(export-objs:.o=.ver))
+ifneq ($(export-objs),)
+ @mkdir -p $(TOPDIR)/.tmp_export-objs/modules/$(RELDIR)
+ @touch $(addprefix $(TOPDIR)/.tmp_export-objs/modules/$(RELDIR)/,$(export-objs:.o=.ver))
+endif
-# make dep cannot correctly figure out the dependency on the generated
-# modversions.h, so we list them here:
-# o files which export symbols and are compiled into the kernel include
-# it (to generate a correct symbol table)
-# o all modules get compiled with -include modversions.h
-$(filter $(export-objs),$(real-objs-y)): $(TOPDIR)/include/linux/modversions.h
-$(real-objs-m): $(TOPDIR)/include/linux/modversions.h
+endif # export-objs
endif # CONFIG_MODVERSIONS
-endif # CONFIG_MODULES
-
-#
-# include dependency files if they exist
-#
-ifneq ($(wildcard .depend),)
-include .depend
-endif
-
-ifneq ($(wildcard $(TOPDIR)/.hdepend),)
-include $(TOPDIR)/.hdepend
-endif
-
# ---------------------------------------------------------------------------
# Check if command line has changed
@@ -386,7 +394,7 @@
# which is saved in .<target>.o, to the current command line using
# the two filter-out commands)
-# read all saved command lines
+# read all saved command lines and dependencies
cmd_files := $(wildcard .*.cmd)
ifneq ($(cmd_files),)
@@ -398,4 +406,22 @@
if_changed = $(if $(strip $? \
$(filter-out $($(1)),$(cmd_$(@F)))\
$(filter-out $(cmd_$(@F)),$($(1)))),\
- @echo '$($(1))' && $($(1)) && echo 'cmd_$@ := $($(1))' > $(@D)/.$(@F).cmd)
+ @$(if $($(quiet)$(1)),echo ' $($(quiet)$(1))' &&) $($(1)) && echo 'cmd_$@ := $($(1))' > $(@D)/.$(@F).cmd)
+
+
+# execute the command and also postprocess generated .d dependencies
+# file
+
+if_changed_dep = $(if $(strip $? \
+ $(filter-out $(cmd_$(1)),$(cmd_$@))\
+ $(filter-out $(cmd_$@),$(cmd_$(1)))),\
+ @set -e; \
+ $(if $($(quiet)cmd_$(1)),echo ' $($(quiet)cmd_$(1))';) \
+ $(cmd_$(1)); \
+ $(TOPDIR)/scripts/fixdep $(subst /,_,$@) $(TOPDIR) '$(cmd_$(1))' > .$(subst /,_,$@).tmp; \
+ rm -f .$(subst /,_,$@).d; \
+ mv -f .$(subst /,_,$@).tmp .$(subst /,_,$@).cmd )
+
+# If quiet is set, only print short version of command
+
+cmd = @$(if $($(quiet)$(1)),echo ' $($(quiet)$(1))' &&) $($(1))
|