diff --git a/Makefile b/Makefile index fce530a66e33a063746874f5086d3b4aebc0edc9..7a06c16602fd8e7f238d2beb14553a039897f0b9 100644 --- a/Makefile +++ b/Makefile @@ -921,8 +921,20 @@ depend dep: INSTALL_HDR_PATH=$(objtree)/usr export INSTALL_HDR_PATH +HDRARCHES=$(filter-out generic,$(patsubst $(srctree)/include/asm-%/Kbuild,%,$(wildcard $(srctree)/include/asm-*/Kbuild))) + +PHONY += headers_install_all +headers_install_all: include/linux/version.h scripts_basic FORCE + $(Q)$(MAKE) $(build)=scripts scripts/unifdef + $(Q)for arch in $(HDRARCHES); do \ + $(MAKE) ARCH=$$arch -f $(srctree)/scripts/Makefile.headersinst obj=include BIASMDIR=-bi-$$arch ;\ + done + PHONY += headers_install headers_install: include/linux/version.h scripts_basic FORCE + @if [ ! -r include/asm-$(ARCH)/Kbuild ]; then \ + echo '*** Error: Headers not exportable for this architecture ($(ARCH))'; \ + exit 1 ; fi $(Q)$(MAKE) $(build)=scripts scripts/unifdef $(Q)rm -rf $(INSTALL_HDR_PATH)/include $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.headersinst obj=include @@ -1107,13 +1119,17 @@ help: @echo ' cscope - Generate cscope index' @echo ' kernelrelease - Output the release version string' @echo ' kernelversion - Output the version stored in Makefile' - @echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH' + @if [ -r include/asm-$(ARCH)/Kbuild ]; then \ + echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \ + fi @echo ' (default: $(INSTALL_HDR_PATH))' @echo '' @echo 'Static analysers' @echo ' checkstack - Generate a list of stack hogs' @echo ' namespacecheck - Name space analysis on compiled kernel' - @echo ' headers_check - Sanity check on exported headers' + @if [ -r include/asm-$(ARCH)/Kbuild ]; then \ + echo ' headers_check - Sanity check on exported headers'; \ + fi @echo '' @echo 'Kernel packaging:' @$(MAKE) $(build)=$(package-dir) help diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index 22dc9c21201da2b3fa212aa0dac8ee0a574a8774..f2031314cb2b393c81b7599c36b393f6e323a3b4 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c @@ -26,6 +26,7 @@ #include <asm/uaccess.h> #include <asm/mmu_context.h> #include <asm/elf.h> +#include <asm/ubc.h> static int hlt_counter=0; diff --git a/include/asm-arm/elf.h b/include/asm-arm/elf.h index ae7baa6c73f7447e57f4ee9e0648c9d0f893c595..17f0c656d2724ced3166ac37e43bc73c6fc44ad3 100644 --- a/include/asm-arm/elf.h +++ b/include/asm-arm/elf.h @@ -8,9 +8,6 @@ #include <asm/ptrace.h> #include <asm/user.h> -#ifdef __KERNEL -#include <asm/procinfo.h> -#endif typedef unsigned long elf_greg_t; typedef unsigned long elf_freg_t[3]; @@ -31,11 +28,6 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG]; typedef struct user_fp elf_fpregset_t; -/* - * This is used to ensure we don't load something for the wrong architecture. - */ -#define elf_check_arch(x) ( ((x)->e_machine == EM_ARM) && (ELF_PROC_OK((x))) ) - /* * These are used to set parameters in the core dumps. */ @@ -47,6 +39,14 @@ typedef struct user_fp elf_fpregset_t; #endif #define ELF_ARCH EM_ARM +#ifdef __KERNEL__ +#include <asm/procinfo.h> + +/* + * This is used to ensure we don't load something for the wrong architecture. + */ +#define elf_check_arch(x) ( ((x)->e_machine == EM_ARM) && (ELF_PROC_OK((x))) ) + #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 @@ -83,8 +83,6 @@ typedef struct user_fp elf_fpregset_t; extern char elf_platform[]; #define ELF_PLATFORM (elf_platform) -#ifdef __KERNEL__ - /* * 32-bit code is always OK. Some cpus can do 26-bit, some can't. */ diff --git a/include/asm-arm/page.h b/include/asm-arm/page.h index b721270b9986c15d6dca566ec4d0dc65b6cb2e9d..02bd3ee935b07e0c88c2f865aa6c4510d814c4dc 100644 --- a/include/asm-arm/page.h +++ b/include/asm-arm/page.h @@ -11,13 +11,13 @@ #define _ASMARM_PAGE_H +#ifdef __KERNEL__ + /* PAGE_SHIFT determines the page size */ #define PAGE_SHIFT 12 #define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - /* to align the pointer to the (next) page boundary */ #define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK) diff --git a/include/asm-arm26/Kbuild b/include/asm-arm26/Kbuild deleted file mode 100644 index c68e1680da0173d5754d1a1df4944120a5239e58..0000000000000000000000000000000000000000 --- a/include/asm-arm26/Kbuild +++ /dev/null @@ -1 +0,0 @@ -include include/asm-generic/Kbuild.asm diff --git a/include/asm-cris/Kbuild b/include/asm-cris/Kbuild index c68e1680da0173d5754d1a1df4944120a5239e58..14498d5a2f65ec4b790c90504271e537f7f3decc 100644 --- a/include/asm-cris/Kbuild +++ b/include/asm-cris/Kbuild @@ -1 +1,5 @@ include include/asm-generic/Kbuild.asm + +header-y += arch-v10/ arch-v32/ + +unifdef-y += rs485.h diff --git a/include/asm-cris/arch-v10/Kbuild b/include/asm-cris/arch-v10/Kbuild new file mode 100644 index 0000000000000000000000000000000000000000..d7f27dc0941a751501cd804a23b5670220ae0b3f --- /dev/null +++ b/include/asm-cris/arch-v10/Kbuild @@ -0,0 +1,2 @@ +header-y += ptrace.h +header-y += user.h diff --git a/include/asm-cris/arch-v32/Kbuild b/include/asm-cris/arch-v32/Kbuild new file mode 100644 index 0000000000000000000000000000000000000000..d7f27dc0941a751501cd804a23b5670220ae0b3f --- /dev/null +++ b/include/asm-cris/arch-v32/Kbuild @@ -0,0 +1,2 @@ +header-y += ptrace.h +header-y += user.h diff --git a/include/asm-cris/byteorder.h b/include/asm-cris/byteorder.h index a1a222adaa9fc66e1f1d927c8562156760207382..0cd9db1cc888a639ab3b6d09f9f72fe995712c4f 100644 --- a/include/asm-cris/byteorder.h +++ b/include/asm-cris/byteorder.h @@ -3,14 +3,15 @@ #ifdef __GNUC__ +#ifdef __KERNEL__ #include <asm/arch/byteorder.h> /* defines are necessary because the other files detect the presence * of a defined __arch_swab32, not an inline */ - #define __arch__swab32(x) ___arch__swab32(x) #define __arch__swab16(x) ___arch__swab16(x) +#endif /* __KERNEL__ */ #if !defined(__STRICT_ANSI__) || defined(__KERNEL__) # define __BYTEORDER_HAS_U64__ diff --git a/include/asm-cris/elf.h b/include/asm-cris/elf.h index 87a60bd8e6671b705b722e7d92784df52e0b90b2..96a40c1de57c460238688258b744e628cb00ddde 100644 --- a/include/asm-cris/elf.h +++ b/include/asm-cris/elf.h @@ -5,7 +5,6 @@ * ELF register definitions.. */ -#include <asm/arch/elf.h> #include <asm/user.h> #define R_CRIS_NONE 0 @@ -46,6 +45,9 @@ typedef unsigned long elf_fpregset_t; #define ELF_DATA ELFDATA2LSB #define ELF_ARCH EM_CRIS +#ifdef __KERNEL__ +#include <asm/arch/elf.h> + /* The master for these definitions is {binutils}/include/elf/cris.h: */ /* User symbols in this file have a leading underscore. */ #define EF_CRIS_UNDERSCORE 0x00000001 @@ -87,8 +89,8 @@ typedef unsigned long elf_fpregset_t; #define ELF_PLATFORM (NULL) -#ifdef __KERNEL__ #define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) -#endif + +#endif /* __KERNEL__ */ #endif diff --git a/include/asm-cris/page.h b/include/asm-cris/page.h index 81832e9e157f89efe4bfc6a3a00df28f4376e3e3..9f13c32552bfb1eab23969ab0141fe85e22ac50d 100644 --- a/include/asm-cris/page.h +++ b/include/asm-cris/page.h @@ -1,6 +1,8 @@ #ifndef _CRIS_PAGE_H #define _CRIS_PAGE_H +#ifdef __KERNEL__ + #include <asm/arch/page.h> /* PAGE_SHIFT determines the page size */ @@ -12,8 +14,6 @@ #endif #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - #define clear_page(page) memset((void *)(page), 0, PAGE_SIZE) #define copy_page(to,from) memcpy((void *)(to), (void *)(from), PAGE_SIZE) @@ -73,10 +73,10 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ + #endif /* _CRIS_PAGE_H */ diff --git a/include/asm-cris/posix_types.h b/include/asm-cris/posix_types.h index 6d26fee4a6145c4fc1e966dd087318b9d093976b..7b9ed22ab5dd6accf38fc93f79dc461c04cfdb08 100644 --- a/include/asm-cris/posix_types.h +++ b/include/asm-cris/posix_types.h @@ -6,8 +6,6 @@ #ifndef __ARCH_CRIS_POSIX_TYPES_H #define __ARCH_CRIS_POSIX_TYPES_H -#include <asm/bitops.h> - /* * This file is generally used by user-level software, so you need to * be a little careful about namespace pollution etc. Also, we cannot @@ -53,9 +51,8 @@ typedef struct { #endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */ } __kernel_fsid_t; -/* should this ifdef be here ? */ - -#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) +#ifdef __KERNEL__ +#include <asm/bitops.h> #undef __FD_SET #define __FD_SET(fd,fdsetp) set_bit(fd, (void *)(fdsetp)) @@ -69,6 +66,6 @@ typedef struct { #undef __FD_ZERO #define __FD_ZERO(fdsetp) memset((void *)(fdsetp), 0, __FDSET_LONGS << 2) -#endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */ +#endif /* __KERNEL__ */ #endif /* __ARCH_CRIS_POSIX_TYPES_H */ diff --git a/include/asm-cris/unistd.h b/include/asm-cris/unistd.h index c2954e90aa24f9caa311285aff06f3dca485d5e1..7372efae05163d166ab1ebec5b94cb7c5b1e0134 100644 --- a/include/asm-cris/unistd.h +++ b/include/asm-cris/unistd.h @@ -1,8 +1,6 @@ #ifndef _ASM_CRIS_UNISTD_H_ #define _ASM_CRIS_UNISTD_H_ -#include <asm/arch/unistd.h> - /* * This file contains the system call numbers, and stub macros for libc. */ @@ -299,6 +297,7 @@ #define NR_syscalls 289 +#include <asm/arch/unistd.h> #define __ARCH_WANT_IPC_PARSE_VERSION #define __ARCH_WANT_OLD_READDIR @@ -322,7 +321,6 @@ #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK #define __ARCH_WANT_SYS_RT_SIGACTION -#endif #ifdef __KERNEL_SYSCALLS__ diff --git a/include/asm-h8300/page.h b/include/asm-h8300/page.h index d673077d2fd6258505fb1bbc251f78db8b7f9f94..3b4f2903f91d92fba260bf7ae84f552c009f9d91 100644 --- a/include/asm-h8300/page.h +++ b/include/asm-h8300/page.h @@ -1,6 +1,7 @@ #ifndef _H8300_PAGE_H #define _H8300_PAGE_H +#ifdef __KERNEL__ /* PAGE_SHIFT determines the page size */ @@ -8,8 +9,6 @@ #define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - #include <asm/setup.h> #ifndef __ASSEMBLY__ @@ -76,9 +75,9 @@ extern unsigned long memory_end; #endif /* __ASSEMBLY__ */ -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ + #endif /* _H8300_PAGE_H */ diff --git a/include/asm-m32r/page.h b/include/asm-m32r/page.h index 9688be0036208a69fae49a5545a1748c628b7f67..404a4c24007b3b4f5729c86ae90ba5fce8f8e50f 100644 --- a/include/asm-m32r/page.h +++ b/include/asm-m32r/page.h @@ -87,10 +87,9 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define devmem_is_allowed(x) 1 -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ #endif /* _ASM_M32R_PAGE_H */ diff --git a/include/asm-m32r/ptrace.h b/include/asm-m32r/ptrace.h index a07fa90314d2f773212fa7f82a6049e6d194a21d..2d2a6c97331e11b7ac2eb03407de1cb87ff3909c 100644 --- a/include/asm-m32r/ptrace.h +++ b/include/asm-m32r/ptrace.h @@ -12,8 +12,6 @@ * Copyright (C) 2001-2002, 2004 Hirokazu Takata <takata at linux-m32r.org> */ -#include <asm/m32r.h> /* M32R_PSW_BSM, M32R_PSW_BPM */ - /* 0 - 13 are integer registers (general purpose registers). */ #define PT_R4 0 #define PT_R5 1 @@ -140,6 +138,8 @@ struct pt_regs { #ifdef __KERNEL__ +#include <asm/m32r.h> /* M32R_PSW_BSM, M32R_PSW_BPM */ + #define __ARCH_SYS_PTRACE 1 #if defined(CONFIG_ISA_M32R2) || defined(CONFIG_CHIP_VDEC2) diff --git a/include/asm-m32r/signal.h b/include/asm-m32r/signal.h index e750045164d4e9b8ff24564e1024c244ba0dab4f..65423bed32b1cadecac621de7f19b460d22c793a 100644 --- a/include/asm-m32r/signal.h +++ b/include/asm-m32r/signal.h @@ -6,7 +6,6 @@ /* orig : i386 2.4.18 */ #include <linux/types.h> -#include <linux/linkage.h> #include <linux/time.h> #include <linux/compiler.h> diff --git a/include/asm-m32r/unistd.h b/include/asm-m32r/unistd.h index cc31790d8077c5dbc07e9c434ecf10d4f6a79870..89f376e6229f7ddb2cf332a613177e9f09f1b19a 100644 --- a/include/asm-m32r/unistd.h +++ b/include/asm-m32r/unistd.h @@ -3,8 +3,6 @@ /* $Id$ */ -#include <asm/syscall.h> /* SYSCALL_* */ - /* * This file contains the system call numbers. */ @@ -303,6 +301,8 @@ * <asm-m32r/errno.h> */ +#include <asm/syscall.h> /* SYSCALL_* */ + #define __syscall_return(type, res) \ do { \ if ((unsigned long)(res) >= (unsigned long)(-(124 + 1))) { \ diff --git a/include/asm-m32r/user.h b/include/asm-m32r/user.h index 2ffd0c65a78281592eeffb9b63a80dbacae89309..1ad4ded8483b48a1af31452fe8b7a2370c1e3fba 100644 --- a/include/asm-m32r/user.h +++ b/include/asm-m32r/user.h @@ -8,7 +8,6 @@ */ #include <linux/types.h> -#include <asm/processor.h> #include <asm/ptrace.h> #include <asm/page.h> diff --git a/include/asm-m68knommu/page.h b/include/asm-m68knommu/page.h index a22bf5a88160d1eaf22f85c42cc92a703ea33de0..2a1b8bdcb29c497020c72d7a68e02bf9f993041d 100644 --- a/include/asm-m68knommu/page.h +++ b/include/asm-m68knommu/page.h @@ -1,6 +1,7 @@ #ifndef _M68KNOMMU_PAGE_H #define _M68KNOMMU_PAGE_H +#ifdef __KERNEL__ /* PAGE_SHIFT determines the page size */ @@ -8,8 +9,6 @@ #define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - #include <asm/setup.h> #ifndef __ASSEMBLY__ @@ -76,8 +75,8 @@ extern unsigned long memory_end; #endif /* __ASSEMBLY__ */ -#endif /* __KERNEL__ */ - #include <asm-generic/page.h> +#endif /* __KERNEL__ */ + #endif /* _M68KNOMMU_PAGE_H */ diff --git a/include/asm-s390/Kbuild b/include/asm-s390/Kbuild index 088969d55e72ef04947d62391c4198a6f3e95936..e92b429d2be1be16176a4246eb4e10d135dcc736 100644 --- a/include/asm-s390/Kbuild +++ b/include/asm-s390/Kbuild @@ -6,7 +6,7 @@ header-y += qeth.h header-y += tape390.h header-y += ucontext.h header-y += vtoc.h -header-y += z90crypt.h +header-y += zcrypt.h unifdef-y += cmb.h unifdef-y += debug.h diff --git a/include/asm-sh/page.h b/include/asm-sh/page.h index 5a057b00f19a09ddde792af0ae94d2dc08fe29b2..6f7eb8a3aba53203c57d697c0aaca70185855304 100644 --- a/include/asm-sh/page.h +++ b/include/asm-sh/page.h @@ -112,9 +112,8 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ #endif /* __ASM_SH_PAGE_H */ diff --git a/include/asm-sh/ptrace.h b/include/asm-sh/ptrace.h index 792fc35bd6245c8551909a6dbf57b385b761fea6..ed358a376e6ea19ab31ef4fc14370dfe0a2003f8 100644 --- a/include/asm-sh/ptrace.h +++ b/include/asm-sh/ptrace.h @@ -1,8 +1,6 @@ #ifndef __ASM_SH_PTRACE_H #define __ASM_SH_PTRACE_H -#include <asm/ubc.h> - /* * Copyright (C) 1999, 2000 Niibe Yutaka * diff --git a/include/asm-sh64/page.h b/include/asm-sh64/page.h index 34fb34754ae6cd20139256fe1fd3be8c2cccea92..472089aefc60673ad879bccd07f0caf56013e200 100644 --- a/include/asm-sh64/page.h +++ b/include/asm-sh64/page.h @@ -112,9 +112,8 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ #endif /* __ASM_SH64_PAGE_H */ diff --git a/include/asm-sh64/shmparam.h b/include/asm-sh64/shmparam.h index d3a99a4dc0e33655a1f00e608fb95332016b8b18..1bb820c833ee8ff015a5208e4aa9b247cc82769a 100644 --- a/include/asm-sh64/shmparam.h +++ b/include/asm-sh64/shmparam.h @@ -2,19 +2,11 @@ #define __ASM_SH64_SHMPARAM_H /* - * This file is subject to the terms and conditions of the GNU General Public - * License. See the file "COPYING" in the main directory of this archive - * for more details. - * - * include/asm-sh64/shmparam.h - * - * Copyright (C) 2000, 2001 Paolo Alberelli - * + * Set this to a sensible safe default, we'll work out the specifics for the + * align mask from the cache descriptor at run-time. */ +#define SHMLBA 0x4000 -#include <asm/cache.h> - -/* attach addr a multiple of this */ -#define SHMLBA (cpu_data->dcache.sets * L1_CACHE_BYTES) +#define __ARCH_FORCE_SHMLBA #endif /* __ASM_SH64_SHMPARAM_H */ diff --git a/include/asm-sh64/signal.h b/include/asm-sh64/signal.h index a5a28203cb3bfb67f1f378073fa4d459fe74c316..244e134730d981e5e3aaeed0171a55e4f7fb4ee1 100644 --- a/include/asm-sh64/signal.h +++ b/include/asm-sh64/signal.h @@ -13,7 +13,6 @@ */ #include <linux/types.h> -#include <asm/processor.h> /* Avoid too many header ordering problems. */ struct siginfo; diff --git a/include/asm-sh64/user.h b/include/asm-sh64/user.h index 8f32f39a8ca9ceed1f3cfd28a76d162fb5df89e7..eb3b33edd73eca3ca91f7e34859daea464c181f9 100644 --- a/include/asm-sh64/user.h +++ b/include/asm-sh64/user.h @@ -13,7 +13,6 @@ */ #include <linux/types.h> -#include <asm/processor.h> #include <asm/ptrace.h> #include <asm/page.h> diff --git a/include/asm-sparc/Kbuild b/include/asm-sparc/Kbuild index b22b67a64ecc7ffe4c3a63a864d503a44b91bf6b..c6a55cf0d3371b5b0de22da320670f87dfe74658 100644 --- a/include/asm-sparc/Kbuild +++ b/include/asm-sparc/Kbuild @@ -2,20 +2,13 @@ include include/asm-generic/Kbuild.asm header-y += apc.h header-y += asi.h -header-y += auxio.h header-y += bpp.h -header-y += head.h -header-y += ipc.h header-y += jsflash.h header-y += openpromio.h -header-y += pbm.h header-y += pconf.h -header-y += pgtsun4.h header-y += reg.h header-y += traps.h -header-y += turbosparc.h header-y += vfc_ioctls.h -header-y += winmacro.h unifdef-y += fbio.h unifdef-y += perfctr.h diff --git a/include/asm-sparc/page.h b/include/asm-sparc/page.h index 5bab8a7c25cee332924fdad50208f6ddf26dada9..ff57648eb8f89f84fa773c09f399829482545b77 100644 --- a/include/asm-sparc/page.h +++ b/include/asm-sparc/page.h @@ -8,6 +8,8 @@ #ifndef _SPARC_PAGE_H #define _SPARC_PAGE_H +#ifdef __KERNEL__ + #ifdef CONFIG_SUN4 #define PAGE_SHIFT 13 #else @@ -21,8 +23,6 @@ #endif #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - #include <asm/btfixup.h> #ifndef __ASSEMBLY__ @@ -160,9 +160,9 @@ extern unsigned long pfn_base; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ + #endif /* _SPARC_PAGE_H */ diff --git a/include/asm-sparc64/Kbuild b/include/asm-sparc64/Kbuild index 4b59ce46cc2d158df79831b0b348cef2a42b9083..a7f44408c93bf91ddda8c2d76a57386ed3378e32 100644 --- a/include/asm-sparc64/Kbuild +++ b/include/asm-sparc64/Kbuild @@ -8,15 +8,12 @@ header-y += apb.h header-y += asi.h header-y += bbc.h header-y += bpp.h +header-y += const.h header-y += display7seg.h header-y += envctrl.h -header-y += floppy.h header-y += ipc.h -header-y += kdebug.h -header-y += mostek.h header-y += openprom.h header-y += openpromio.h -header-y += parport.h header-y += pconf.h header-y += psrcompat.h header-y += pstate.h diff --git a/include/asm-sparc64/page.h b/include/asm-sparc64/page.h index fdf0ceb7602816fd3ce48989d892572418b62265..ff736eafa64d2ecf31576f631b10778582cffde9 100644 --- a/include/asm-sparc64/page.h +++ b/include/asm-sparc64/page.h @@ -3,6 +3,8 @@ #ifndef _SPARC64_PAGE_H #define _SPARC64_PAGE_H +#ifdef __KERNEL__ + #include <asm/const.h> #if defined(CONFIG_SPARC64_PAGE_SIZE_8KB) @@ -27,8 +29,6 @@ #define DCACHE_ALIASING_POSSIBLE #endif -#ifdef __KERNEL__ - #if defined(CONFIG_HUGETLB_PAGE_SIZE_4MB) #define HPAGE_SHIFT 22 #elif defined(CONFIG_HUGETLB_PAGE_SIZE_512K) @@ -141,8 +141,7 @@ typedef unsigned long pgprot_t; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* !(__KERNEL__) */ - #include <asm-generic/page.h> -#endif /* !(_SPARC64_PAGE_H) */ +#endif /* __KERNEL__ */ +#endif /* _SPARC64_PAGE_H */ diff --git a/include/asm-sparc64/shmparam.h b/include/asm-sparc64/shmparam.h index 8c66fded8a328113b3200da486826c1617610239..911d0427de6db8bec6788dd0eaa471d7d32240c4 100644 --- a/include/asm-sparc64/shmparam.h +++ b/include/asm-sparc64/shmparam.h @@ -1,6 +1,7 @@ /* $Id: shmparam.h,v 1.5 2001/09/24 21:17:57 kanoj Exp $ */ #ifndef _ASMSPARC64_SHMPARAM_H #define _ASMSPARC64_SHMPARAM_H +#ifdef __KERNEL__ #include <asm/spitfire.h> @@ -8,4 +9,5 @@ /* attach addr a multiple of this */ #define SHMLBA ((PAGE_SIZE > L1DCACHE_SIZE) ? PAGE_SIZE : L1DCACHE_SIZE) +#endif /* __KERNEL__ */ #endif /* _ASMSPARC64_SHMPARAM_H */ diff --git a/include/asm-um/Kbuild b/include/asm-um/Kbuild deleted file mode 100644 index c68e1680da0173d5754d1a1df4944120a5239e58..0000000000000000000000000000000000000000 --- a/include/asm-um/Kbuild +++ /dev/null @@ -1 +0,0 @@ -include include/asm-generic/Kbuild.asm diff --git a/include/asm-v850/page.h b/include/asm-v850/page.h index ad03c46a1f92f3e61f7a117ed826a5e6811f6c77..d693ffb1364d2ae954210cea7542469a1f4a46f9 100644 --- a/include/asm-v850/page.h +++ b/include/asm-v850/page.h @@ -14,6 +14,8 @@ #ifndef __V850_PAGE_H__ #define __V850_PAGE_H__ +#ifdef __KERNEL__ + #include <asm/machdep.h> @@ -32,7 +34,6 @@ #endif -#ifdef __KERNEL__ #ifndef __ASSEMBLY__ #define STRICT_MM_TYPECHECKS @@ -122,9 +123,9 @@ typedef unsigned long pgprot_t; #define __va(x) ((void *)__phys_to_virt ((unsigned long)(x))) -#endif /* KERNEL */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* KERNEL */ + #endif /* __V850_PAGE_H__ */ diff --git a/include/asm-v850/param.h b/include/asm-v850/param.h index 8d796e4bff52a4954dc01d9158854e99bd2e78ca..3c65bd573782d34e060d52299bfcc5a4cd7b37bb 100644 --- a/include/asm-v850/param.h +++ b/include/asm-v850/param.h @@ -14,8 +14,6 @@ #ifndef __V850_PARAM_H__ #define __V850_PARAM_H__ -#include <asm/machdep.h> /* For HZ */ - #define EXEC_PAGESIZE 4096 #ifndef NOGROUP @@ -25,6 +23,8 @@ #define MAXHOSTNAMELEN 64 /* max length of hostname */ #ifdef __KERNEL__ +#include <asm/machdep.h> /* For HZ */ + # define USER_HZ 100 # define CLOCKS_PER_SEC USER_HZ #endif diff --git a/include/linux/Kbuild b/include/linux/Kbuild index 67383605f2e57df2ce771398fa102c518c224e46..1df2ac30a4d2650fc952b0c0e9862abaac547852 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild @@ -141,7 +141,6 @@ header-y += snmp.h header-y += sockios.h header-y += som.h header-y += sound.h -header-y += stddef.h header-y += synclink.h header-y += telephony.h header-y += termios.h @@ -267,7 +266,6 @@ unifdef-y += netfilter_decnet.h unifdef-y += netfilter.h unifdef-y += netfilter_ipv4.h unifdef-y += netfilter_ipv6.h -unifdef-y += netfilter_logging.h unifdef-y += net.h unifdef-y += netlink.h unifdef-y += nfs3.h @@ -316,6 +314,7 @@ unifdef-y += sonet.h unifdef-y += sonypi.h unifdef-y += soundcard.h unifdef-y += stat.h +unifdef-y += stddef.h unifdef-y += sysctl.h unifdef-y += tcp.h unifdef-y += time.h diff --git a/include/linux/stddef.h b/include/linux/stddef.h index b3a2cadf90f2ae13157a05db66693831b82ba5ae..ea65dfb60cd80e19d2a5a1ce9a5f00194017e4c0 100644 --- a/include/linux/stddef.h +++ b/include/linux/stddef.h @@ -10,11 +10,13 @@ #define NULL ((void *)0) #endif +#ifdef __KERNEL__ #undef offsetof #ifdef __compiler_offsetof #define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER) #else #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #endif +#endif /* __KERNEL__ */ #endif diff --git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst index 8c02d2df427820c16d4d0844eab66e2f16e00c34..cac8f21a33924b0e02cf8ee9a471191ae3dda3ba 100644 --- a/scripts/Makefile.headersinst +++ b/scripts/Makefile.headersinst @@ -23,30 +23,30 @@ HDRSED := sed -e "s/ inline / __inline__ /g" \ _dst := $(if $(dst),$(dst),$(obj)) -.PHONY: __headersinst -__headersinst: - - ifeq (,$(patsubst include/asm/%,,$(obj)/)) # For producing the generated stuff in include/asm for biarch builds, include # both sets of Kbuild files; we'll generate anything which is mentioned in # _either_ arch, and recurse into subdirectories which are mentioned in either # arch. Since some directories may exist in one but not the other, we must -# use '-include'. +# use $(wildcard...). GENASM := 1 archasm := $(subst include/asm,asm-$(ARCH),$(obj)) altarchasm := $(subst include/asm,asm-$(ALTARCH),$(obj)) --include $(srctree)/include/$(archasm)/Kbuild --include $(srctree)/include/$(altarchasm)/Kbuild +KBUILDFILES := $(wildcard $(srctree)/include/$(archasm)/Kbuild $(srctree)/include/$(altarchasm)/Kbuild) else -include $(srctree)/$(obj)/Kbuild +KBUILDFILES := $(srctree)/$(obj)/Kbuild endif -include scripts/Kbuild.include +include $(KBUILDFILES) + +include scripts/Kbuild.include # If this is include/asm-$(ARCH) and there's no $(ALTARCH), then # override $(_dst) so that we install to include/asm directly. -ifeq ($(obj)$(ALTARCH),include/asm-$(ARCH)) +# Unless $(BIASMDIR) is set, in which case we're probably doing +# a 'headers_install_all' build and we should keep the -$(ARCH) +# in the directory name. +ifeq ($(obj)$(ALTARCH),include/asm-$(ARCH)$(BIASMDIR)) _dst := include/asm endif @@ -56,6 +56,23 @@ subdir-y := $(patsubst %/,%,$(filter %/, $(header-y))) header-y := $(filter-out %/, $(header-y)) header-y := $(filter-out $(unifdef-y),$(header-y)) +# stamp files for header checks +check-y := $(patsubst %,.check.%,$(header-y) $(unifdef-y) $(objhdr-y)) + +# Work out what needs to be removed +oldheaders := $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$(wildcard $(INSTALL_HDR_PATH)/$(_dst)/*.h)) +unwanted := $(filter-out $(header-y) $(unifdef-y) $(objhdr-y),$(oldheaders)) + +oldcheckstamps := $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$(wildcard $(INSTALL_HDR_PATH)/$(_dst)/.check.*.h)) +unwanted += $(filter-out $(check-y),$(oldcheckstamps)) + +# Prefix them all with full paths to $(INSTALL_HDR_PATH) +header-y := $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(header-y)) +unifdef-y := $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(unifdef-y)) +objhdr-y := $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(objhdr-y)) +check-y := $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(check-y)) + + ifdef ALTARCH ifeq ($(obj),include/asm-$(ARCH)) altarch-y := altarch-dir @@ -67,43 +84,47 @@ export ALTARCH export ARCHDEF export ALTARCHDEF -quiet_cmd_o_hdr_install = INSTALL $(_dst)/$@ - cmd_o_hdr_install = cp $(objtree)/$(obj)/$@ $(INSTALL_HDR_PATH)/$(_dst) +quiet_cmd_o_hdr_install = INSTALL $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) + cmd_o_hdr_install = cp $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,$(objtree)/$(obj)/%,$@) \ + $(INSTALL_HDR_PATH)/$(_dst) -quiet_cmd_headers_install = INSTALL $(_dst)/$@ - cmd_headers_install = $(HDRSED) $(srctree)/$(obj)/$@ \ - > $(INSTALL_HDR_PATH)/$(_dst)/$@ +quiet_cmd_headers_install = INSTALL $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) + cmd_headers_install = $(HDRSED) $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,$(srctree)/$(obj)/%,$@) \ + > $@ -quiet_cmd_unifdef = UNIFDEF $(_dst)/$@ - cmd_unifdef = $(UNIFDEF) $(srctree)/$(obj)/$@ | $(HDRSED) \ - > $(INSTALL_HDR_PATH)/$(_dst)/$@ || : +quiet_cmd_unifdef = UNIFDEF $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) + cmd_unifdef = $(UNIFDEF) $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,$(srctree)/$(obj)/%,$@) \ + | $(HDRSED) > $@ || : -quiet_cmd_check = CHECK $(_dst)/$@ +quiet_cmd_check = CHECK $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/.check.%,$(_dst)/%,$@) cmd_check = $(srctree)/scripts/hdrcheck.sh \ - $(INSTALL_HDR_PATH)/include \ - $(INSTALL_HDR_PATH)/$(_dst)/$@ + $(INSTALL_HDR_PATH)/include $(subst /.check.,/,$@) $@ + +quiet_cmd_remove = REMOVE $(_dst)/$@ + cmd_remove = rm -f $(INSTALL_HDR_PATH)/$(_dst)/$@ -quiet_cmd_mkdir = MKDIR $@ - cmd_mkdir = mkdir -p $(INSTALL_HDR_PATH)/$@ +quiet_cmd_mkdir = MKDIR $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) + cmd_mkdir = mkdir -p $@ -quiet_cmd_gen = GEN $(_dst)/$@ +quiet_cmd_gen = GEN $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) cmd_gen = \ -STUBDEF=__ASM_STUB_`echo $@ | tr a-z. A-Z_`; \ +FNAME=$(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$@) \ +STUBDEF=__ASM_STUB_`echo $$FNAME | tr a-z. A-Z_`; \ (echo "/* File autogenerated by 'make headers_install' */" ; \ echo "\#ifndef $$STUBDEF" ; \ echo "\#define $$STUBDEF" ; \ echo "\# if $(ARCHDEF)" ; \ -if [ -r $(INSTALL_HDR_PATH)/include/$(archasm)/$@ ]; then \ - echo "\# include <$(archasm)/$@>" ; \ +if [ -r $(subst /$(_dst)/,/include/$(archasm)/,$@) ]; then \ + echo "\# include <$(archasm)/$$FNAME>" ; \ else \ - echo "\# error $(archasm)/$@ does not exist in" \ + echo "\# error $(archasm)/$$FNAME does not exist in" \ "the $(ARCH) architecture" ; \ fi ; \ echo "\# elif $(ALTARCHDEF)" ; \ -if [ -r $(INSTALL_HDR_PATH)/include/$(altarchasm)/$@ ]; then \ - echo "\# include <$(altarchasm)/$@>" ; \ +if [ -r $(subst /$(_dst)/,/include/$(altarchasm)/,$@) ]; then \ + echo "\# include <$(altarchasm)/$$FNAME>" ; \ else \ - echo "\# error $(altarchasm)/$@ does not exist in" \ + echo "\# error $(altarchasm)/$$FNAME does not exist in" \ "the $(ALTARCH) architecture" ; \ fi ; \ echo "\# else" ; \ @@ -111,37 +132,49 @@ echo "\# warning This machine appears to be" \ "neither $(ARCH) nor $(ALTARCH)." ; \ echo "\# endif" ; \ echo "\#endif /* $$STUBDEF */" ; \ -) > $(INSTALL_HDR_PATH)/$(_dst)/$@ +) > $@ -__headersinst: $(subdir-y) $(header-y) $(unifdef-y) $(altarch-y) $(objhdr-y) - -.PHONY: $(header-y) $(unifdef-y) $(subdir-y) +.PHONY: __headersinst __headerscheck ifdef HDRCHECK -# Rules for checking headers -$(objhdr-y) $(header-y) $(unifdef-y): +__headerscheck: $(subdir-y) $(check-y) + @true + +$(check-y) : $(INSTALL_HDR_PATH)/$(_dst)/.check.%.h : $(INSTALL_HDR_PATH)/$(_dst)/%.h $(call cmd,check) + +# Other dependencies for $(check-y) +-include /dev/null $(check-y) + +# ... but leave $(check-y) as .PHONY for now until those deps are actually correct. +.PHONY: $(check-y) + else # Rules for installing headers +__headersinst: $(subdir-y) $(header-y) $(unifdef-y) $(altarch-y) $(objhdr-y) + @true -$(objhdr-y) $(subdir-y) $(header-y) $(unifdef-y): $(_dst) +$(objhdr-y) $(subdir-y) $(header-y) $(unifdef-y): | $(INSTALL_HDR_PATH)/$(_dst) $(unwanted) -.PHONY: $(_dst) -$(_dst): +$(INSTALL_HDR_PATH)/$(_dst): $(call cmd,mkdir) +.PHONY: $(unwanted) +$(unwanted): + $(call cmd,remove) + ifdef GENASM -$(objhdr-y) $(header-y) $(unifdef-y): +$(objhdr-y) $(header-y) $(unifdef-y): $(KBUILDFILES) $(call cmd,gen) else -$(objhdr-y): +$(objhdr-y) : $(INSTALL_HDR_PATH)/$(_dst)/%.h: $(srctree)/$(obj)/%.h $(KBUILDFILES) $(call cmd,o_hdr_install) -$(header-y): +$(header-y) : $(INSTALL_HDR_PATH)/$(_dst)/%.h: $(srctree)/$(obj)/%.h $(KBUILDFILES) $(call cmd,headers_install) -$(unifdef-y): +$(unifdef-y) : $(INSTALL_HDR_PATH)/$(_dst)/%.h: $(srctree)/$(obj)/%.h $(KBUILDFILES) $(call cmd,unifdef) endif endif @@ -153,8 +186,9 @@ hdrinst := -rR -f $(srctree)/scripts/Makefile.headersinst obj # for their existence. altarch-dir: $(subdir-y) $(header-y) $(unifdef-y) $(objhdr-y) $(Q)$(MAKE) $(hdrinst)=include/asm-$(ALTARCH) dst=include/asm-$(ALTARCH) - $(Q)$(MAKE) $(hdrinst)=include/asm dst=include/asm + $(Q)$(MAKE) $(hdrinst)=include/asm dst=include/asm$(BIASMDIR) # Recursion +.PHONY: $(subdir-y) $(subdir-y): $(Q)$(MAKE) $(hdrinst)=$(obj)/$@ dst=$(_dst)/$@ rel=../$(rel) diff --git a/scripts/hdrcheck.sh b/scripts/hdrcheck.sh index b5ca35aa1741d0d0ba66da14f272d94dc2d55c2a..31598584f87183caf56c4c0fe2fc196ae4546d50 100755 --- a/scripts/hdrcheck.sh +++ b/scripts/hdrcheck.sh @@ -6,3 +6,5 @@ for FILE in `grep '^[ \t]*#[ \t]*include[ \t]*<' $2 | cut -f2 -d\< | cut -f1 -d\ exit 1 fi done +# FIXME: List dependencies into $3 +touch $3