diff options
Diffstat (limited to 'arch/microblaze/include')
47 files changed, 67 insertions, 1453 deletions
diff --git a/arch/microblaze/include/asm/atomic.h b/arch/microblaze/include/asm/atomic.h index 0de612ad7cb..6d2e1d418be 100644 --- a/arch/microblaze/include/asm/atomic.h +++ b/arch/microblaze/include/asm/atomic.h @@ -1,95 +1,7 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ -  #ifndef _ASM_MICROBLAZE_ATOMIC_H  #define _ASM_MICROBLAZE_ATOMIC_H -#include <linux/types.h> -#include <linux/compiler.h> /* likely */ -#include <asm/system.h> /* local_irq_XXX and friends */ - -#define ATOMIC_INIT(i)		{ (i) } -#define atomic_read(v)		((v)->counter) -#define atomic_set(v, i)	(((v)->counter) = (i)) - -#define atomic_inc(v)		(atomic_add_return(1, (v))) -#define atomic_dec(v)		(atomic_sub_return(1, (v))) - -#define atomic_add(i, v)	(atomic_add_return(i, (v))) -#define atomic_sub(i, v)	(atomic_sub_return(i, (v))) - -#define atomic_inc_return(v)	(atomic_add_return(1, (v))) -#define atomic_dec_return(v)	(atomic_sub_return(1, (v))) - -#define atomic_inc_and_test(v)	(atomic_add_return(1, (v)) == 0) -#define atomic_dec_and_test(v)	(atomic_sub_return(1, (v)) == 0) - -#define atomic_inc_not_zero(v)	(atomic_add_unless((v), 1, 0)) - -#define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0) - -static inline int atomic_cmpxchg(atomic_t *v, int old, int new) -{ -	int ret; -	unsigned long flags; - -	local_irq_save(flags); -	ret = v->counter; -	if (likely(ret == old)) -		v->counter = new; -	local_irq_restore(flags); - -	return ret; -} - -static inline int atomic_add_unless(atomic_t *v, int a, int u) -{ -	int c, old; - -	c = atomic_read(v); -	while (c != u && (old = atomic_cmpxchg((v), c, c + a)) != c) -		c = old; -	return c != u; -} - -static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr) -{ -	unsigned long flags; - -	local_irq_save(flags); -	*addr &= ~mask; -	local_irq_restore(flags); -} - -/** - * atomic_add_return - add and return - * @i: integer value to add - * @v: pointer of type atomic_t - * - * Atomically adds @i to @v and returns @i + @v - */ -static inline int atomic_add_return(int i, atomic_t *v) -{ -	unsigned long flags; -	int val; - -	local_irq_save(flags); -	val = v->counter; -	v->counter = val += i; -	local_irq_restore(flags); - -	return val; -} - -static inline int atomic_sub_return(int i, atomic_t *v) -{ -	return atomic_add_return(-i, v); -} +#include <asm-generic/atomic.h>  /*   * Atomically test *v and decrement if it is greater than 0. @@ -109,15 +21,4 @@ static inline int atomic_dec_if_positive(atomic_t *v)  	return res;  } -#define atomic_add_negative(a, v)	(atomic_add_return((a), (v)) < 0) -#define atomic_xchg(v, new) (xchg(&((v)->counter), new)) - -/* Atomic operations are already serializing */ -#define smp_mb__before_atomic_dec()	barrier() -#define smp_mb__after_atomic_dec()	barrier() -#define smp_mb__before_atomic_inc()	barrier() -#define smp_mb__after_atomic_inc()	barrier() - -#include <asm-generic/atomic-long.h> -  #endif /* _ASM_MICROBLAZE_ATOMIC_H */ diff --git a/arch/microblaze/include/asm/bitops.h b/arch/microblaze/include/asm/bitops.h index d6df1fd4e1e..a72468f15c8 100644 --- a/arch/microblaze/include/asm/bitops.h +++ b/arch/microblaze/include/asm/bitops.h @@ -1,27 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_BITOPS_H -#define _ASM_MICROBLAZE_BITOPS_H - -/* - * Copyright 1992, Linus Torvalds. - */ - -#include <asm/byteorder.h> /* swab32 */ -#include <asm/system.h> /* save_flags */ - -/* - * clear_bit() doesn't provide any barrier for the compiler. - */ -#define smp_mb__before_clear_bit()	barrier() -#define smp_mb__after_clear_bit()	barrier()  #include <asm-generic/bitops.h> -#include <asm-generic/bitops/__fls.h> - -#endif /* _ASM_MICROBLAZE_BITOPS_H */ diff --git a/arch/microblaze/include/asm/bug.h b/arch/microblaze/include/asm/bug.h index 8eb2cdde11d..b12fd89e42e 100644 --- a/arch/microblaze/include/asm/bug.h +++ b/arch/microblaze/include/asm/bug.h @@ -1,15 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_BUG_H -#define _ASM_MICROBLAZE_BUG_H - -#include <linux/kernel.h>  #include <asm-generic/bug.h> - -#endif /* _ASM_MICROBLAZE_BUG_H */ diff --git a/arch/microblaze/include/asm/bugs.h b/arch/microblaze/include/asm/bugs.h index f2c6593653f..61791e1ad9f 100644 --- a/arch/microblaze/include/asm/bugs.h +++ b/arch/microblaze/include/asm/bugs.h @@ -1,17 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_BUGS_H -#define _ASM_MICROBLAZE_BUGS_H - -static inline void check_bugs(void) -{ -	/* nothing to do */ -} - -#endif /* _ASM_MICROBLAZE_BUGS_H */ +#include <asm-generic/bugs.h> diff --git a/arch/microblaze/include/asm/checksum.h b/arch/microblaze/include/asm/checksum.h index 97ea46b5cf8..128bf03b54b 100644 --- a/arch/microblaze/include/asm/checksum.h +++ b/arch/microblaze/include/asm/checksum.h @@ -10,12 +10,11 @@  #ifndef _ASM_MICROBLAZE_CHECKSUM_H  #define _ASM_MICROBLAZE_CHECKSUM_H -#include <linux/in6.h> -  /*   * computes the checksum of the TCP/UDP pseudo-header   * returns a 16-bit checksum, already complemented   */ +#define csum_tcpudp_nofold	csum_tcpudp_nofold  static inline __wsum  csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,  		   unsigned short proto, __wsum sum) @@ -30,71 +29,6 @@ csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,  	return sum;  } -/* - * computes the checksum of a memory block at buff, length len, - * and adds in "sum" (32-bit) - * - * returns a 32-bit number suitable for feeding into itself - * or csum_tcpudp_magic - * - * this function must be called with even lengths, except - * for the last fragment, which may be odd - * - * it's best to have buff aligned on a 32-bit boundary - */ -extern __wsum csum_partial(const void *buff, int len, __wsum sum); - -/* - * the same as csum_partial, but copies from src while it - * checksums - * - * here even more important to align src and dst on a 32-bit (or even - * better 64-bit) boundary - */ -extern __wsum csum_partial_copy(const void *src, void *dst, int len, -								__wsum sum); - -/* - * the same as csum_partial_copy, but copies from user space. - * - * here even more important to align src and dst on a 32-bit (or even - * better 64-bit) boundary - */ -extern __wsum csum_partial_copy_from_user(const void __user *src, void *dst, -					int len, __wsum sum, int *csum_err); - -#define csum_partial_copy_nocheck(src, dst, len, sum)	\ -	csum_partial_copy((src), (dst), (len), (sum)) - -/* - *	This is a version of ip_compute_csum() optimized for IP headers, - *	which always checksum on 4 octet boundaries. - * - */ -extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl); - -/* - *	Fold a partial checksum - */ -static inline __sum16 csum_fold(__wsum csum) -{ -	u32 sum = (__force u32)csum; -	sum = (sum & 0xffff) + (sum >> 16); -	sum = (sum & 0xffff) + (sum >> 16); -	return (__force __sum16)~sum; -} - -static inline __sum16 -csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned short len, -		  unsigned short proto, __wsum sum) -{ -	return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum)); -} - -/* - * this routine is used for miscellaneous IP-like checksums, mainly - * in icmp.c - */ -extern __sum16 ip_compute_csum(const void *buff, int len); +#include <asm-generic/checksum.h>  #endif /* _ASM_MICROBLAZE_CHECKSUM_H */ diff --git a/arch/microblaze/include/asm/fb.h b/arch/microblaze/include/asm/fb.h new file mode 100644 index 00000000000..3a4988e8df4 --- /dev/null +++ b/arch/microblaze/include/asm/fb.h @@ -0,0 +1 @@ +#include <asm-generic/fb.h> diff --git a/arch/microblaze/include/asm/hardirq.h b/arch/microblaze/include/asm/hardirq.h index 0f2d6b013e1..cd1ac9aad56 100644 --- a/arch/microblaze/include/asm/hardirq.h +++ b/arch/microblaze/include/asm/hardirq.h @@ -9,21 +9,9 @@  #ifndef _ASM_MICROBLAZE_HARDIRQ_H  #define _ASM_MICROBLAZE_HARDIRQ_H -#include <linux/cache.h> -#include <linux/irq.h> -#include <asm/irq.h> -#include <asm/current.h> -#include <linux/ptrace.h> -  /* should be defined in each interrupt controller driver */  extern unsigned int get_irq(struct pt_regs *regs); -typedef struct { -	unsigned int __softirq_pending; -} ____cacheline_aligned irq_cpustat_t; - -void ack_bad_irq(unsigned int irq); - -#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ +#include <asm-generic/hardirq.h>  #endif /* _ASM_MICROBLAZE_HARDIRQ_H */ diff --git a/arch/microblaze/include/asm/io.h b/arch/microblaze/include/asm/io.h index 5c173424d07..7c3ec13b44d 100644 --- a/arch/microblaze/include/asm/io.h +++ b/arch/microblaze/include/asm/io.h @@ -14,7 +14,6 @@  #include <asm/byteorder.h>  #include <asm/page.h>  #include <linux/types.h> -#include <asm/byteorder.h>  #include <linux/mm.h>          /* Get struct page {...} */ diff --git a/arch/microblaze/include/asm/ioctls.h b/arch/microblaze/include/asm/ioctls.h index 03582b24920..ec34c760665 100644 --- a/arch/microblaze/include/asm/ioctls.h +++ b/arch/microblaze/include/asm/ioctls.h @@ -1,91 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_IOCTLS_H -#define _ASM_MICROBLAZE_IOCTLS_H - -#include <linux/ioctl.h> - -/* 0x54 is just a magic number to make these relatively unique ('T') */ - -#define TCGETS		0x5401 -#define TCSETS		0x5402 -#define TCSETSW		0x5403 -#define TCSETSF		0x5404 -#define TCGETA		0x5405 -#define TCSETA		0x5406 -#define TCSETAW		0x5407 -#define TCSETAF		0x5408 -#define TCSBRK		0x5409 -#define TCXONC		0x540A -#define TCFLSH		0x540B -#define TIOCEXCL	0x540C -#define TIOCNXCL	0x540D -#define TIOCSCTTY	0x540E -#define TIOCGPGRP	0x540F -#define TIOCSPGRP	0x5410 -#define TIOCOUTQ	0x5411 -#define TIOCSTI		0x5412 -#define TIOCGWINSZ	0x5413 -#define TIOCSWINSZ	0x5414 -#define TIOCMGET	0x5415 -#define TIOCMBIS	0x5416 -#define TIOCMBIC	0x5417 -#define TIOCMSET	0x5418 -#define TIOCGSOFTCAR	0x5419 -#define TIOCSSOFTCAR	0x541A -#define FIONREAD	0x541B -#define TIOCINQ		FIONREAD -#define TIOCLINUX	0x541C -#define TIOCCONS	0x541D -#define TIOCGSERIAL	0x541E -#define TIOCSSERIAL	0x541F -#define TIOCPKT		0x5420 -#define FIONBIO		0x5421 -#define TIOCNOTTY	0x5422 -#define TIOCSETD	0x5423 -#define TIOCGETD	0x5424 -#define TCSBRKP		0x5425 /* Needed for POSIX tcsendbreak() */ -#define TIOCTTYGSTRUCT	0x5426 /* For debugging only */ -#define TIOCSBRK	0x5427 /* BSD compatibility */ -#define TIOCCBRK	0x5428 /* BSD compatibility */ -#define TIOCGSID	0x5429 /* Return the session ID of FD */ -/* Get Pty Number (of pty-mux device) */ -#define TIOCGPTN	_IOR('T', 0x30, unsigned int) -#define TIOCSPTLCK	_IOW('T', 0x31, int) /* Lock/unlock Pty */ - -#define FIONCLEX	0x5450 /* these numbers need to be adjusted. */ -#define FIOCLEX		0x5451 -#define FIOASYNC	0x5452 -#define TIOCSERCONFIG	0x5453 -#define TIOCSERGWILD	0x5454 -#define TIOCSERSWILD	0x5455 -#define TIOCGLCKTRMIOS	0x5456 -#define TIOCSLCKTRMIOS	0x5457 -#define TIOCSERGSTRUCT	0x5458 /* For debugging only */ -#define TIOCSERGETLSR	0x5459 /* Get line status register */ -#define TIOCSERGETMULTI 0x545A /* Get multiport config */ -#define TIOCSERSETMULTI 0x545B /* Set multiport config */ - -#define TIOCMIWAIT	0x545C /* wait for a change on serial input line(s) */ -#define TIOCGICOUNT	0x545D /* read serial port inline interrupt counts */ - -#define	FIOQSIZE	0x545E - -/* Used for packet mode */ -#define TIOCPKT_DATA		0 -#define TIOCPKT_FLUSHREAD	1 -#define TIOCPKT_FLUSHWRITE	2 -#define TIOCPKT_STOP		4 -#define TIOCPKT_START		8 -#define TIOCPKT_NOSTOP		16 -#define TIOCPKT_DOSTOP		32 - -#define TIOCSER_TEMT	0x01 /* Transmitter physically empty */ - -#endif /* _ASM_MICROBLAZE_IOCTLS_H */ +#include <asm-generic/ioctls.h> diff --git a/arch/microblaze/include/asm/ipcbuf.h b/arch/microblaze/include/asm/ipcbuf.h index b056fa42065..84c7e51cb6d 100644 --- a/arch/microblaze/include/asm/ipcbuf.h +++ b/arch/microblaze/include/asm/ipcbuf.h @@ -1,36 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_IPCBUF_H -#define _ASM_MICROBLAZE_IPCBUF_H - -/* - * The user_ipc_perm structure for microblaze architecture. - * Note extra padding because this structure is passed back and forth - * between kernel and user space. - * - * Pad space is left for: - * - 32-bit mode_t and seq - * - 2 miscellaneous 32-bit values - */ - -struct ipc64_perm { -	__kernel_key_t		key; -	__kernel_uid32_t	uid; -	__kernel_gid32_t	gid; -	__kernel_uid32_t	cuid; -	__kernel_gid32_t	cgid; -	__kernel_mode_t		mode; -	unsigned short		__pad1; -	unsigned short		seq; -	unsigned short		__pad2; -	unsigned long		__unused1; -	unsigned long		__unused2; -}; - -#endif /* _ASM_MICROBLAZE_IPCBUF_H */ +#include <asm-generic/ipcbuf.h> diff --git a/arch/microblaze/include/asm/irq.h b/arch/microblaze/include/asm/irq.h index db515deaa72..90f050535eb 100644 --- a/arch/microblaze/include/asm/irq.h +++ b/arch/microblaze/include/asm/irq.h @@ -10,6 +10,7 @@  #define _ASM_MICROBLAZE_IRQ_H  #define NR_IRQS 32 +#include <asm-generic/irq.h>  #include <linux/interrupt.h> @@ -17,11 +18,6 @@ extern unsigned int nr_irq;  #define NO_IRQ (-1) -static inline int irq_canonicalize(int irq) -{ -	return irq; -} -  struct pt_regs;  extern void do_IRQ(struct pt_regs *regs); diff --git a/arch/microblaze/include/asm/mman.h b/arch/microblaze/include/asm/mman.h index 4914b132944..8eebf89f5ab 100644 --- a/arch/microblaze/include/asm/mman.h +++ b/arch/microblaze/include/asm/mman.h @@ -1,25 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_MMAN_H -#define _ASM_MICROBLAZE_MMAN_H -  #include <asm-generic/mman.h> - -#define MAP_GROWSDOWN	0x0100 /* stack-like segment */ -#define MAP_DENYWRITE	0x0800 /* ETXTBSY */ -#define MAP_EXECUTABLE	0x1000 /* mark it as an executable */ -#define MAP_LOCKED	0x2000 /* pages are locked */ -#define MAP_NORESERVE	0x4000 /* don't check for reservations */ -#define MAP_POPULATE	0x8000 /* populate (prefault) pagetables */ -#define MAP_NONBLOCK	0x10000 /* do not block on IO */ - -#define MCL_CURRENT	1 /* lock all current mappings */ -#define MCL_FUTURE	2 /* lock all future mappings */ - -#endif /* _ASM_MICROBLAZE_MMAN_H */ diff --git a/arch/microblaze/include/asm/mmu.h b/arch/microblaze/include/asm/mmu.h index 66cad6a99d7..8d6a654ceff 100644 --- a/arch/microblaze/include/asm/mmu.h +++ b/arch/microblaze/include/asm/mmu.h @@ -12,12 +12,7 @@  #define _ASM_MICROBLAZE_MMU_H  # ifndef CONFIG_MMU -#  ifndef __ASSEMBLY__ -typedef struct { -	struct vm_list_struct	*vmlist; -	unsigned long		end_brk; -} mm_context_t; -#  endif /* __ASSEMBLY__ */ +#  include <asm-generic/mmu.h>  # else /* CONFIG_MMU */  #  ifdef __KERNEL__  #   ifndef __ASSEMBLY__ diff --git a/arch/microblaze/include/asm/mmu_context.h b/arch/microblaze/include/asm/mmu_context.h index 385fed16bbf..24eab1674d3 100644 --- a/arch/microblaze/include/asm/mmu_context.h +++ b/arch/microblaze/include/asm/mmu_context.h @@ -1,5 +1,5 @@  #ifdef CONFIG_MMU  # include "mmu_context_mm.h"  #else -# include "mmu_context_no.h" +# include <asm-generic/mmu_context.h>  #endif diff --git a/arch/microblaze/include/asm/mmu_context_no.h b/arch/microblaze/include/asm/mmu_context_no.h deleted file mode 100644 index ba556719015..00000000000 --- a/arch/microblaze/include/asm/mmu_context_no.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu> - * Copyright (C) 2008-2009 PetaLogix - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_MMU_CONTEXT_H -#define _ASM_MICROBLAZE_MMU_CONTEXT_H - -# define init_new_context(tsk, mm)		({ 0; }) - -# define enter_lazy_tlb(mm, tsk)		do {} while (0) -# define change_mm_context(old, ctx, _pml4)	do {} while (0) -# define destroy_context(mm)			do {} while (0) -# define deactivate_mm(tsk, mm)			do {} while (0) -# define switch_mm(prev, next, tsk)		do {} while (0) -# define activate_mm(prev, next)		do {} while (0) - -#endif /* _ASM_MICROBLAZE_MMU_CONTEXT_H */ diff --git a/arch/microblaze/include/asm/module.h b/arch/microblaze/include/asm/module.h index 914565a9031..7be1347fce4 100644 --- a/arch/microblaze/include/asm/module.h +++ b/arch/microblaze/include/asm/module.h @@ -9,6 +9,8 @@  #ifndef _ASM_MICROBLAZE_MODULE_H  #define _ASM_MICROBLAZE_MODULE_H +#include <asm-generic/module.h> +  /* Microblaze Relocations */  #define R_MICROBLAZE_NONE 0  #define R_MICROBLAZE_32 1 @@ -24,14 +26,6 @@  /* Keep this the last entry. */  #define R_MICROBLAZE_NUM 11 -struct mod_arch_specific { -	int foo; -}; - -#define Elf_Shdr	Elf32_Shdr -#define Elf_Sym		Elf32_Sym -#define Elf_Ehdr	Elf32_Ehdr -  typedef struct { volatile int counter; } module_t;  #endif /* _ASM_MICROBLAZE_MODULE_H */ diff --git a/arch/microblaze/include/asm/msgbuf.h b/arch/microblaze/include/asm/msgbuf.h index 09dd9709721..809134c644a 100644 --- a/arch/microblaze/include/asm/msgbuf.h +++ b/arch/microblaze/include/asm/msgbuf.h @@ -1,31 +1 @@ -#ifndef _ASM_MICROBLAZE_MSGBUF_H -#define _ASM_MICROBLAZE_MSGBUF_H - -/* - * The msqid64_ds structure for microblaze architecture. - * Note extra padding because this structure is passed back and forth - * between kernel and user space. - * - * Pad space is left for: - * - 64-bit time_t to solve y2038 problem - * - 2 miscellaneous 32-bit values - */ - -struct msqid64_ds { -	struct ipc64_perm msg_perm; -	__kernel_time_t msg_stime; /* last msgsnd time */ -	unsigned long __unused1; -	__kernel_time_t msg_rtime; /* last msgrcv time */ -	unsigned long __unused2; -	__kernel_time_t msg_ctime; /* last change time */ -	unsigned long __unused3; -	unsigned long msg_cbytes; /* current number of bytes on queue */ -	unsigned long msg_qnum; /* number of messages in queue */ -	unsigned long msg_qbytes; /* max number of bytes on queue */ -	__kernel_pid_t msg_lspid; /* pid of last msgsnd */ -	__kernel_pid_t msg_lrpid; /* last receive pid */ -	unsigned long __unused4; -	unsigned long __unused5; -}; - -#endif /* _ASM_MICROBLAZE_MSGBUF_H */ +#include <asm-generic/msgbuf.h> diff --git a/arch/microblaze/include/asm/param.h b/arch/microblaze/include/asm/param.h index 8c538a49616..965d4542797 100644 --- a/arch/microblaze/include/asm/param.h +++ b/arch/microblaze/include/asm/param.h @@ -1,30 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_PARAM_H -#define _ASM_MICROBLAZE_PARAM_H - -#ifdef __KERNEL__ -#define HZ		CONFIG_HZ	/* internal kernel timer frequency */ -#define USER_HZ		100		/* for user interfaces in "ticks" */ -#define CLOCKS_PER_SEC	(USER_HZ)	/* frequency at which times() counts */ -#endif /* __KERNEL__ */ - -#ifndef HZ -#define HZ 100 -#endif - -#define EXEC_PAGESIZE	4096 - -#ifndef NOGROUP -#define NOGROUP		(-1) -#endif - -#define MAXHOSTNAMELEN	64	/* max length of hostname */ - -#endif /* _ASM_MICROBLAZE_PARAM_H */ +#include <asm-generic/param.h> diff --git a/arch/microblaze/include/asm/parport.h b/arch/microblaze/include/asm/parport.h new file mode 100644 index 00000000000..cf252af6459 --- /dev/null +++ b/arch/microblaze/include/asm/parport.h @@ -0,0 +1 @@ +#include <asm-generic/parport.h> diff --git a/arch/microblaze/include/asm/pci.h b/arch/microblaze/include/asm/pci.h index ca03794cf3f..9f0df5faf2c 100644 --- a/arch/microblaze/include/asm/pci.h +++ b/arch/microblaze/include/asm/pci.h @@ -1 +1 @@ -#include <linux/io.h> +#include <asm-generic/pci.h> diff --git a/arch/microblaze/include/asm/pgalloc.h b/arch/microblaze/include/asm/pgalloc.h index 59a757e46ba..b0131da1387 100644 --- a/arch/microblaze/include/asm/pgalloc.h +++ b/arch/microblaze/include/asm/pgalloc.h @@ -180,7 +180,7 @@ extern inline void pte_free(struct mm_struct *mm, struct page *ptepage)  	__free_page(ptepage);  } -#define __pte_free_tlb(tlb, pte)	pte_free((tlb)->mm, (pte)) +#define __pte_free_tlb(tlb, pte, addr)	pte_free((tlb)->mm, (pte))  #define pmd_populate(mm, pmd, pte)	(pmd_val(*(pmd)) = page_address(pte)) @@ -193,7 +193,7 @@ extern inline void pte_free(struct mm_struct *mm, struct page *ptepage)   */  #define pmd_alloc_one(mm, address)	({ BUG(); ((pmd_t *)2); })  /*#define pmd_free(mm, x)			do { } while (0)*/ -#define __pmd_free_tlb(tlb, x)		do { } while (0) +#define __pmd_free_tlb(tlb, x, addr)	do { } while (0)  #define pgd_populate(mm, pmd, pte)	BUG()  extern int do_check_pgt_cache(int, int); diff --git a/arch/microblaze/include/asm/pgtable.h b/arch/microblaze/include/asm/pgtable.h index 4c57a586a98..cc3a4dfc3ea 100644 --- a/arch/microblaze/include/asm/pgtable.h +++ b/arch/microblaze/include/asm/pgtable.h @@ -185,6 +185,7 @@ static inline pte_t pte_mkspecial(pte_t pte)	{ return pte; }  /* Definitions for MicroBlaze. */  #define	_PAGE_GUARDED	0x001	/* G: page is guarded from prefetch */ +#define _PAGE_FILE	0x001	/* when !present: nonlinear file mapping */  #define _PAGE_PRESENT	0x002	/* software: PTE contains a translation */  #define	_PAGE_NO_CACHE	0x004	/* I: caching is inhibited */  #define	_PAGE_WRITETHRU	0x008	/* W: caching is write-through */ @@ -320,8 +321,7 @@ static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_RW; }  static inline int pte_exec(pte_t pte)  { return pte_val(pte) & _PAGE_EXEC; }  static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; }  static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } -/* FIXME */ -static inline int pte_file(pte_t pte)		{ return 0; } +static inline int pte_file(pte_t pte)  { return pte_val(pte) & _PAGE_FILE; }  static inline void pte_uncache(pte_t pte) { pte_val(pte) |= _PAGE_NO_CACHE; }  static inline void pte_cache(pte_t pte)   { pte_val(pte) &= ~_PAGE_NO_CACHE; } @@ -488,7 +488,7 @@ static inline pmd_t *pmd_offset(pgd_t *dir, unsigned long address)  /* Encode and decode a nonlinear file mapping entry */  #define PTE_FILE_MAX_BITS	29  #define pte_to_pgoff(pte)	(pte_val(pte) >> 3) -#define pgoff_to_pte(off)	((pte_t) { ((off) << 3) }) +#define pgoff_to_pte(off)	((pte_t) { ((off) << 3) | _PAGE_FILE })  extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; diff --git a/arch/microblaze/include/asm/posix_types.h b/arch/microblaze/include/asm/posix_types.h index 8c758b231f3..0e15039673e 100644 --- a/arch/microblaze/include/asm/posix_types.h +++ b/arch/microblaze/include/asm/posix_types.h @@ -1,73 +1,9 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ -  #ifndef _ASM_MICROBLAZE_POSIX_TYPES_H  #define _ASM_MICROBLAZE_POSIX_TYPES_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 - * assume GCC is being used. - */ - -typedef unsigned long	__kernel_ino_t;  typedef unsigned short	__kernel_mode_t; -typedef unsigned int	__kernel_nlink_t; -typedef long		__kernel_off_t; -typedef int		__kernel_pid_t; -typedef unsigned int	__kernel_ipc_pid_t; -typedef unsigned int	__kernel_uid_t; -typedef unsigned int	__kernel_gid_t; -typedef unsigned long	__kernel_size_t; -typedef long		__kernel_ssize_t; -typedef int		__kernel_ptrdiff_t; -typedef long		__kernel_time_t; -typedef long		__kernel_suseconds_t; -typedef long		__kernel_clock_t; -typedef int		__kernel_timer_t; -typedef int		__kernel_clockid_t; -typedef int		__kernel_daddr_t; -typedef char 		*__kernel_caddr_t; -typedef unsigned short	__kernel_uid16_t; -typedef unsigned short	__kernel_gid16_t; -typedef unsigned int	__kernel_uid32_t; -typedef unsigned int	__kernel_gid32_t; - -typedef unsigned int	__kernel_old_uid_t; -typedef unsigned int	__kernel_old_gid_t; -typedef unsigned int	__kernel_old_dev_t; - -#ifdef __GNUC__ -typedef long long	__kernel_loff_t; -#endif - -typedef struct { -#if defined(__KERNEL__) || defined(__USE_ALL) -	int	val[2]; -#else /* !defined(__KERNEL__) && !defined(__USE_ALL) */ -	int	__val[2]; -#endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */ -} __kernel_fsid_t; - -#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) - -#undef	__FD_SET -#define	__FD_SET(d, set)	((set)->fds_bits[__FDELT(d)] |= __FDMASK(d)) - -#undef	__FD_CLR -#define	__FD_CLR(d, set)	((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) - -#undef	__FD_ISSET -#define	__FD_ISSET(d, set)	(!!((set)->fds_bits[__FDELT(d)] & __FDMASK(d))) - -#undef	__FD_ZERO -#define __FD_ZERO(fdsetp) (memset(fdsetp, 0, sizeof(*(fd_set *)fdsetp))) +#define __kernel_mode_t __kernel_mode_t -#endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */ +#include <asm-generic/posix_types.h>  #endif /* _ASM_MICROBLAZE_POSIX_TYPES_H */ diff --git a/arch/microblaze/include/asm/prom.h b/arch/microblaze/include/asm/prom.h index 20f7b3a926e..37e6f305a68 100644 --- a/arch/microblaze/include/asm/prom.h +++ b/arch/microblaze/include/asm/prom.h @@ -16,6 +16,18 @@  #define _ASM_MICROBLAZE_PROM_H  #ifdef __KERNEL__ +/* Definitions used by the flattened device tree */ +#define OF_DT_HEADER		0xd00dfeed /* marker */ +#define OF_DT_BEGIN_NODE	0x1 /* Start of node, full name */ +#define OF_DT_END_NODE		0x2 /* End node */ +#define OF_DT_PROP		0x3 /* Property: name off, size, content */ +#define OF_DT_NOP		0x4 /* nop */ +#define OF_DT_END		0x9 + +#define OF_DT_VERSION		0x10 + +#ifndef __ASSEMBLY__ +  #include <linux/types.h>  #include <linux/proc_fs.h>  #include <linux/platform_device.h> @@ -29,16 +41,6 @@  #define of_prop_cmp(s1, s2)		strcmp((s1), (s2))  #define of_node_cmp(s1, s2)		strcasecmp((s1), (s2)) -/* Definitions used by the flattened device tree */ -#define OF_DT_HEADER		0xd00dfeed /* marker */ -#define OF_DT_BEGIN_NODE	0x1 /* Start of node, full name */ -#define OF_DT_END_NODE		0x2 /* End node */ -#define OF_DT_PROP		0x3 /* Property: name off, size, content */ -#define OF_DT_NOP		0x4 /* nop */ -#define OF_DT_END		0x9 - -#define OF_DT_VERSION		0x10 -  /*   * This is what gets passed to the kernel by prom_init or kexec   * @@ -309,5 +311,6 @@ extern void __iomem *of_iomap(struct device_node *device, int index);   */  #include <linux/of.h> +#endif /* __ASSEMBLY__ */  #endif /* __KERNEL__ */  #endif /* _ASM_MICROBLAZE_PROM_H */ diff --git a/arch/microblaze/include/asm/scatterlist.h b/arch/microblaze/include/asm/scatterlist.h index 08ff1d049b4..35d786fe93a 100644 --- a/arch/microblaze/include/asm/scatterlist.h +++ b/arch/microblaze/include/asm/scatterlist.h @@ -1,28 +1 @@ -/* - * Copyright (C) 2008 Michal Simek <monstr@monstr.eu> - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_SCATTERLIST_H -#define _ASM_MICROBLAZE_SCATTERLIST_H - -struct scatterlist { -#ifdef CONFIG_DEBUG_SG -	unsigned long	sg_magic; -#endif -	unsigned long	page_link; -	dma_addr_t	dma_address; -	unsigned int	offset; -	unsigned int	length; -}; - -#define sg_dma_address(sg)      ((sg)->dma_address) -#define sg_dma_len(sg)          ((sg)->length) - -#define ISA_DMA_THRESHOLD (~0UL) - -#endif /* _ASM_MICROBLAZE_SCATTERLIST_H */ +#include <asm-generic/scatterlist.h> diff --git a/arch/microblaze/include/asm/sembuf.h b/arch/microblaze/include/asm/sembuf.h index b804ed71a57..7673b83cfef 100644 --- a/arch/microblaze/include/asm/sembuf.h +++ b/arch/microblaze/include/asm/sembuf.h @@ -1,34 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_SEMBUF_H -#define _ASM_MICROBLAZE_SEMBUF_H - -/* - * The semid64_ds structure for microblaze architecture. - * Note extra padding because this structure is passed back and forth - * between kernel and user space. - * - * Pad space is left for: - * - 64-bit time_t to solve y2038 problem - * - 2 miscellaneous 32-bit values - */ - -struct semid64_ds { -	struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ -	__kernel_time_t	sem_otime; /* last semop time */ -	unsigned long	__unused1; -	__kernel_time_t	sem_ctime; /* last change time */ -	unsigned long	__unused2; -	unsigned long	sem_nsems; /* no. of semaphores in array */ -	unsigned long	__unused3; -	unsigned long	__unused4; -}; - - -#endif /* _ASM_MICROBLAZE_SEMBUF_H */ +#include <asm-generic/sembuf.h> diff --git a/arch/microblaze/include/asm/serial.h b/arch/microblaze/include/asm/serial.h index 39bfc8ce6af..a0cb0caff15 100644 --- a/arch/microblaze/include/asm/serial.h +++ b/arch/microblaze/include/asm/serial.h @@ -1,14 +1 @@ -/* - * Copyright (C) 2009 Michal Simek <monstr@monstr.eu> - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_SERIAL_H -#define _ASM_MICROBLAZE_SERIAL_H - -# define BASE_BAUD (1843200 / 16) - -#endif /* _ASM_MICROBLAZE_SERIAL_H */ +#include <asm-generic/serial.h> diff --git a/arch/microblaze/include/asm/shmbuf.h b/arch/microblaze/include/asm/shmbuf.h index f829c584361..83c05fc2de3 100644 --- a/arch/microblaze/include/asm/shmbuf.h +++ b/arch/microblaze/include/asm/shmbuf.h @@ -1,42 +1 @@ -#ifndef _ASM_MICROBLAZE_SHMBUF_H -#define _ASM_MICROBLAZE_SHMBUF_H - -/* - * The shmid64_ds structure for microblaze architecture. - * Note extra padding because this structure is passed back and forth - * between kernel and user space. - * - * Pad space is left for: - * - 64-bit time_t to solve y2038 problem - * - 2 miscellaneous 32-bit values - */ - -struct shmid64_ds { -	struct ipc64_perm	shm_perm; /* operation perms */ -	size_t			shm_segsz; /* size of segment (bytes) */ -	__kernel_time_t		shm_atime; /* last attach time */ -	unsigned long		__unused1; -	__kernel_time_t		shm_dtime; /* last detach time */ -	unsigned long		__unused2; -	__kernel_time_t		shm_ctime; /* last change time */ -	unsigned long		__unused3; -	__kernel_pid_t		shm_cpid; /* pid of creator */ -	__kernel_pid_t		shm_lpid; /* pid of last operator */ -	unsigned long		shm_nattch; /* no. of current attaches */ -	unsigned long		__unused4; -	unsigned long		__unused5; -}; - -struct shminfo64 { -	unsigned long	shmmax; -	unsigned long	shmmin; -	unsigned long	shmmni; -	unsigned long	shmseg; -	unsigned long	shmall; -	unsigned long	__unused1; -	unsigned long	__unused2; -	unsigned long	__unused3; -	unsigned long	__unused4; -}; - -#endif /* _ASM_MICROBLAZE_SHMBUF_H */ +#include <asm-generic/shmbuf.h> diff --git a/arch/microblaze/include/asm/shmparam.h b/arch/microblaze/include/asm/shmparam.h index 9f5fc2b3b6a..93f30deb95d 100644 --- a/arch/microblaze/include/asm/shmparam.h +++ b/arch/microblaze/include/asm/shmparam.h @@ -1,6 +1 @@ -#ifndef _ASM_MICROBLAZE_SHMPARAM_H -#define _ASM_MICROBLAZE_SHMPARAM_H - -#define SHMLBA	PAGE_SIZE /* attach addr a multiple of this */ - -#endif /* _ASM_MICROBLAZE_SHMPARAM_H */ +#include <asm-generic/shmparam.h> diff --git a/arch/microblaze/include/asm/siginfo.h b/arch/microblaze/include/asm/siginfo.h index f162911a8f5..0815d29d82e 100644 --- a/arch/microblaze/include/asm/siginfo.h +++ b/arch/microblaze/include/asm/siginfo.h @@ -1,15 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_SIGINFO_H -#define _ASM_MICROBLAZE_SIGINFO_H - -#include <linux/types.h>  #include <asm-generic/siginfo.h> - -#endif /* _ASM_MICROBLAZE_SIGINFO_H */ diff --git a/arch/microblaze/include/asm/signal.h b/arch/microblaze/include/asm/signal.h index 46bc2267d94..7b1573ce19d 100644 --- a/arch/microblaze/include/asm/signal.h +++ b/arch/microblaze/include/asm/signal.h @@ -1,165 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - *	Yasushi SHOJI <yashi@atmark-techno.com> - *	Tetsuya OHKAWA <tetsuya@atmark-techno.com> - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_SIGNAL_H -#define _ASM_MICROBLAZE_SIGNAL_H - -#define SIGHUP		1 -#define SIGINT		2 -#define SIGQUIT		3 -#define SIGILL		4 -#define SIGTRAP		5 -#define SIGABRT		6 -#define SIGIOT		6 -#define SIGBUS		7 -#define SIGFPE		8 -#define SIGKILL		9 -#define SIGUSR1		10 -#define SIGSEGV		11 -#define SIGUSR2		12 -#define SIGPIPE		13 -#define SIGALRM		14 -#define SIGTERM		15 -#define SIGSTKFLT	16 -#define SIGCHLD		17 -#define SIGCONT		18 -#define SIGSTOP		19 -#define SIGTSTP		20 -#define SIGTTIN		21 -#define SIGTTOU		22 -#define SIGURG		23 -#define SIGXCPU		24 -#define SIGXFSZ		25 -#define SIGVTALRM	26 -#define SIGPROF		27 -#define SIGWINCH	28 -#define SIGIO		29 -#define SIGPOLL		SIGIO -/* -#define SIGLOST		29 -*/ -#define SIGPWR		30 -#define SIGSYS		31 -#define	SIGUNUSED	31 - -/* These should not be considered constants from userland. */ -#define SIGRTMIN	32 -#define SIGRTMAX	_NSIG - -/* - * SA_FLAGS values: - * - * SA_ONSTACK indicates that a registered stack_t will be used. - * SA_RESTART flag to get restarting signals (which were the default long ago) - * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. - * SA_RESETHAND clears the handler when the signal is delivered. - * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. - * SA_NODEFER prevents the current signal from being masked in the handler. - * - * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single - * Unix names RESETHAND and NODEFER respectively. - */ -#define SA_NOCLDSTOP	0x00000001 -#define SA_NOCLDWAIT	0x00000002 -#define SA_SIGINFO	0x00000004 -#define SA_ONSTACK	0x08000000 -#define SA_RESTART	0x10000000 -#define SA_NODEFER	0x40000000 -#define SA_RESETHAND	0x80000000 - -#define SA_NOMASK	SA_NODEFER -#define SA_ONESHOT	SA_RESETHAND - -#define SA_RESTORER	0x04000000 - -/* - * sigaltstack controls - */ -#define SS_ONSTACK	1 -#define SS_DISABLE	2 - -#define MINSIGSTKSZ	2048 -#define SIGSTKSZ	8192 - -# ifndef __ASSEMBLY__ -# include <linux/types.h> -# include <asm-generic/signal-defs.h> - -/* Avoid too many header ordering problems. */ -struct siginfo; - -#  ifdef __KERNEL__ -/* - * Most things should be clean enough to redefine this at will, if care - * is taken to make libc match. - */ -#  define _NSIG		64 -#  define _NSIG_BPW	32 -#  define _NSIG_WORDS	(_NSIG / _NSIG_BPW) - -typedef unsigned long old_sigset_t; /* at least 32 bits */ - -typedef struct { -	unsigned long sig[_NSIG_WORDS]; -} sigset_t; - -struct old_sigaction { -	__sighandler_t sa_handler; -	old_sigset_t sa_mask; -	unsigned long sa_flags; -	void (*sa_restorer)(void); -}; - -struct sigaction { -	__sighandler_t sa_handler; -	unsigned long sa_flags; -	void (*sa_restorer)(void); -	sigset_t sa_mask; /* mask last for extensibility */ -}; - -struct k_sigaction { -	struct sigaction sa; -}; - -#  include <asm/sigcontext.h> -#  undef __HAVE_ARCH_SIG_BITOPS - -#  define ptrace_signal_deliver(regs, cookie) do { } while (0) - -#  else /* !__KERNEL__ */ - -/* Here we must cater to libcs that poke about in kernel headers. */ - -#  define NSIG		32 -typedef unsigned long sigset_t; - -struct sigaction { -	union { -	__sighandler_t _sa_handler; -	void (*_sa_sigaction)(int, struct siginfo *, void *); -	} _u; -	sigset_t sa_mask; -	unsigned long sa_flags; -	void (*sa_restorer)(void); -}; - -#  define sa_handler	_u._sa_handler -#  define sa_sigaction	_u._sa_sigaction - -#  endif /* __KERNEL__ */ - -typedef struct sigaltstack { -	void *ss_sp; -	int ss_flags; -	size_t ss_size; -} stack_t; - -# endif /* __ASSEMBLY__ */ -#endif /* _ASM_MICROBLAZE_SIGNAL_H */ +#include <asm-generic/signal.h> diff --git a/arch/microblaze/include/asm/socket.h b/arch/microblaze/include/asm/socket.h index 82593686031..6b71384b9d8 100644 --- a/arch/microblaze/include/asm/socket.h +++ b/arch/microblaze/include/asm/socket.h @@ -1,69 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_SOCKET_H -#define _ASM_MICROBLAZE_SOCKET_H - -#include <asm/sockios.h> - -/* For setsockoptions(2) */ -#define SOL_SOCKET	1 - -#define SO_DEBUG	1 -#define SO_REUSEADDR	2 -#define SO_TYPE		3 -#define SO_ERROR	4 -#define SO_DONTROUTE	5 -#define SO_BROADCAST	6 -#define SO_SNDBUF	7 -#define SO_RCVBUF	8 -#define SO_SNDBUFFORCE	32 -#define SO_RCVBUFFORCE	33 -#define SO_KEEPALIVE	9 -#define SO_OOBINLINE	10 -#define SO_NO_CHECK	11 -#define SO_PRIORITY	12 -#define SO_LINGER	13 -#define SO_BSDCOMPAT	14 -/* To add :#define SO_REUSEPORT 15 */ -#define SO_PASSCRED	16 -#define SO_PEERCRED	17 -#define SO_RCVLOWAT	18 -#define SO_SNDLOWAT	19 -#define SO_RCVTIMEO	20 -#define SO_SNDTIMEO	21 - -/* Security levels - as per NRL IPv6 - don't actually do anything */ -#define SO_SECURITY_AUTHENTICATION		22 -#define SO_SECURITY_ENCRYPTION_TRANSPORT	23 -#define SO_SECURITY_ENCRYPTION_NETWORK		24 - -#define SO_BINDTODEVICE	25 - -/* Socket filtering */ -#define SO_ATTACH_FILTER	26 -#define SO_DETACH_FILTER	27 - -#define SO_PEERNAME		28 -#define SO_TIMESTAMP		29 -#define SCM_TIMESTAMP		SO_TIMESTAMP - -#define SO_ACCEPTCONN		30 - -#define SO_PEERSEC		31 -#define SO_PASSSEC		34 - -#define SO_TIMESTAMPNS		35 -#define SCM_TIMESTAMPNS		SO_TIMESTAMPNS - -#define SO_MARK			36 - -#define SO_TIMESTAMPING		37 -#define SCM_TIMESTAMPING	SO_TIMESTAMPING - -#endif /* _ASM_MICROBLAZE_SOCKET_H */ +#include <asm-generic/socket.h> diff --git a/arch/microblaze/include/asm/sockios.h b/arch/microblaze/include/asm/sockios.h index 9fff57a701e..def6d4746ee 100644 --- a/arch/microblaze/include/asm/sockios.h +++ b/arch/microblaze/include/asm/sockios.h @@ -1,23 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_SOCKIOS_H -#define _ASM_MICROBLAZE_SOCKIOS_H - -#include <linux/ioctl.h> - -/* Socket-level I/O control calls. */ -#define FIOSETOWN	0x8901 -#define SIOCSPGRP	0x8902 -#define FIOGETOWN	0x8903 -#define SIOCGPGRP	0x8904 -#define SIOCATMARK	0x8905 -#define SIOCGSTAMP	0x8906		/* Get stamp (timeval) */ -#define SIOCGSTAMPNS	0x8907		/* Get stamp (timespec) */ - -#endif /* _ASM_MICROBLAZE_SOCKIOS_H */ +#include <asm-generic/sockios.h> diff --git a/arch/microblaze/include/asm/stat.h b/arch/microblaze/include/asm/stat.h index a15f77520bf..3dc90fa92c7 100644 --- a/arch/microblaze/include/asm/stat.h +++ b/arch/microblaze/include/asm/stat.h @@ -1,68 +1 @@ -/* - * Microblaze stat structure - * - * Copyright (C) 2001,02,03 NEC Electronics Corporation - * Copyright (C) 2001,02,03 Miles Bader <miles@gnu.org> - * - * 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. - * - * Written by Miles Bader <miles@gnu.org> - */ - -#ifndef _ASM_MICROBLAZE_STAT_H -#define _ASM_MICROBLAZE_STAT_H - -#include <linux/posix_types.h> - -#define STAT_HAVE_NSEC 1 - -struct stat { -	unsigned long	st_dev; -	unsigned long	st_ino; -	unsigned int	st_mode; -	unsigned int	st_nlink; -	unsigned int	st_uid; -	unsigned int	st_gid; -	unsigned long	st_rdev; -	unsigned long	__pad1; -	long		st_size; -	int		st_blksize; -	int		__pad2; -	long		st_blocks; -	int		st_atime; -	unsigned int	st_atime_nsec; -	int		st_mtime; -	unsigned int	st_mtime_nsec; -	int		st_ctime; -	unsigned int	st_ctime_nsec; -	unsigned long	__unused4; -	unsigned long	__unused5; -}; - -struct stat64 { -	unsigned long long	st_dev;		/* Device.  */ -	unsigned long long	st_ino;		/* File serial number.  */ -	unsigned int		st_mode;	/* File mode.  */ -	unsigned int		st_nlink;	/* Link count.  */ -	unsigned int		st_uid;		/* User ID of the file's owner.  */ -	unsigned int		st_gid;		/* Group ID of the file's group. */ -	unsigned long long	st_rdev;	/* Device number, if device.  */ -	unsigned long long	__pad1; -	long long		st_size;	/* Size of file, in bytes.  */ -	int			st_blksize;	/* Optimal block size for I/O.  */ -	int			__pad2; -	long long		st_blocks;	/* Number 512-byte blocks allocated. */ -	int			st_atime;	/* Time of last access.  */ -	unsigned int		st_atime_nsec; -	int			st_mtime;	/* Time of last modification.  */ -	unsigned int		st_mtime_nsec; -	int			st_ctime;	/* Time of last status change.  */ -	unsigned int		st_ctime_nsec; -	unsigned int		__unused4; -	unsigned int		__unused5; -}; - -#endif /* _ASM_MICROBLAZE_STAT_H */ - +#include <asm-generic/stat.h> diff --git a/arch/microblaze/include/asm/swab.h b/arch/microblaze/include/asm/swab.h index b375d7b65ad..7847e563ab6 100644 --- a/arch/microblaze/include/asm/swab.h +++ b/arch/microblaze/include/asm/swab.h @@ -1,8 +1 @@ -#ifndef _ASM_MICROBLAZE_SWAB_H -#define _ASM_MICROBLAZE_SWAB_H - -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__) -#define __SWAB_64_THRU_32__ -#endif - -#endif /* _ASM_MICROBLAZE_SWAB_H */ +#include <asm-generic/swab.h> diff --git a/arch/microblaze/include/asm/syscalls.h b/arch/microblaze/include/asm/syscalls.h index ddea9eb31f8..720761cc741 100644 --- a/arch/microblaze/include/asm/syscalls.h +++ b/arch/microblaze/include/asm/syscalls.h @@ -1,48 +1,8 @@  #ifndef __ASM_MICROBLAZE_SYSCALLS_H -#define __ASM_MICROBLAZE_SYSCALLS_H -#ifdef __KERNEL__ -#include <linux/compiler.h> -#include <linux/linkage.h> -#include <linux/types.h> -#include <linux/signal.h> +asmlinkage long sys_clone(int flags, unsigned long stack, struct pt_regs *regs); +#define sys_clone sys_clone -/* FIXME will be removed */ -asmlinkage int sys_ipc(uint call, int first, int second, -				int third, void *ptr, long fifth); +#include <asm-generic/syscalls.h> -struct pt_regs; -asmlinkage int sys_vfork(struct pt_regs *regs); -asmlinkage int sys_clone(int flags, unsigned long stack, struct pt_regs *regs); -asmlinkage int sys_execve(char __user *filenamei, char __user *__user *argv, -			char __user *__user *envp, struct pt_regs *regs); - -asmlinkage unsigned long sys_mmap2(unsigned long addr, size_t len, -			unsigned long prot, unsigned long flags, -			unsigned long fd, unsigned long pgoff); - -asmlinkage unsigned long sys_mmap(unsigned long addr, size_t len, -			unsigned long prot, unsigned long flags, -			unsigned long fd, off_t offset); - -/* from signal.c */ -asmlinkage int sys_sigsuspend(old_sigset_t mask, struct pt_regs *regs); - -asmlinkage int sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize, -		struct pt_regs *regs); - -asmlinkage int sys_sigaction(int sig, const struct old_sigaction *act, -		struct old_sigaction *oact); - -asmlinkage long sys_rt_sigaction(int sig, const struct sigaction __user *act, -		struct sigaction __user *oact, size_t sigsetsize); - -asmlinkage int sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, -		struct pt_regs *regs); - -asmlinkage int sys_sigreturn(struct pt_regs *regs); - -asmlinkage int sys_rt_sigreturn(struct pt_regs *regs); - -#endif /* __KERNEL__ */  #endif /* __ASM_MICROBLAZE_SYSCALLS_H */ diff --git a/arch/microblaze/include/asm/system.h b/arch/microblaze/include/asm/system.h index c4e308850b5..b1ed6159066 100644 --- a/arch/microblaze/include/asm/system.h +++ b/arch/microblaze/include/asm/system.h @@ -13,6 +13,9 @@  #include <asm/setup.h>  #include <asm/irqflags.h> +#include <asm-generic/cmpxchg.h> +#include <asm-generic/cmpxchg-local.h> +  struct task_struct;  struct thread_info; diff --git a/arch/microblaze/include/asm/termbits.h b/arch/microblaze/include/asm/termbits.h index a1b64bc4724..3935b106de7 100644 --- a/arch/microblaze/include/asm/termbits.h +++ b/arch/microblaze/include/asm/termbits.h @@ -1,203 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_TERMBITS_H -#define _ASM_MICROBLAZE_TERMBITS_H - -#include <linux/posix_types.h> - -typedef unsigned char	cc_t; -typedef unsigned int	speed_t; -typedef unsigned int	tcflag_t; - -#define NCCS 19 -struct termios { -	tcflag_t c_iflag; /* input mode flags */ -	tcflag_t c_oflag; /* output mode flags */ -	tcflag_t c_cflag; /* control mode flags */ -	tcflag_t c_lflag; /* local mode flags */ -	cc_t c_line; /* line discipline */ -	cc_t c_cc[NCCS]; /* control characters */ -}; - -struct ktermios { -	tcflag_t c_iflag; /* input mode flags */ -	tcflag_t c_oflag; /* output mode flags */ -	tcflag_t c_cflag; /* control mode flags */ -	tcflag_t c_lflag; /* local mode flags */ -	cc_t c_line; /* line discipline */ -	cc_t c_cc[NCCS]; /* control characters */ -	speed_t c_ispeed; /* input speed */ -	speed_t c_ospeed; /* output speed */ -}; - -/* c_cc characters */ - -#define VINTR 0 -#define VQUIT 1 -#define VERASE 2 -#define VKILL 3 -#define VEOF 4 -#define VTIME 5 -#define VMIN 6 -#define VSWTC 7 -#define VSTART 8 -#define VSTOP 9 -#define VSUSP 10 -#define VEOL 11 -#define VREPRINT 12 -#define VDISCARD 13 -#define VWERASE 14 -#define VLNEXT 15 -#define VEOL2 16 - -/* c_iflag bits */ - -#define IGNBRK	0000001 -#define BRKINT	0000002 -#define IGNPAR	0000004 -#define PARMRK	0000010 -#define INPCK	0000020 -#define ISTRIP	0000040 -#define INLCR	0000100 -#define IGNCR	0000200 -#define ICRNL	0000400 -#define IUCLC	0001000 -#define IXON	0002000 -#define IXANY	0004000 -#define IXOFF	0010000 -#define IMAXBEL	0020000 -#define IUTF8	0040000 - -/* c_oflag bits */ - -#define OPOST	0000001 -#define OLCUC	0000002 -#define ONLCR	0000004 -#define OCRNL	0000010 -#define ONOCR	0000020 -#define ONLRET	0000040 -#define OFILL	0000100 -#define OFDEL	0000200 -#define NLDLY	0000400 -#define NL0	0000000 -#define NL1	0000400 -#define CRDLY	0003000 -#define CR0	0000000 -#define CR1	0001000 -#define CR2	0002000 -#define CR3	0003000 -#define TABDLY	0014000 -#define TAB0	0000000 -#define TAB1	0004000 -#define TAB2	0010000 -#define TAB3	0014000 -#define XTABS	0014000 -#define BSDLY	0020000 -#define BS0	0000000 -#define BS1	0020000 -#define VTDLY	0040000 -#define VT0	0000000 -#define VT1	0040000 -#define FFDLY	0100000 -#define FF0	0000000 -#define FF1	0100000 - -/* c_cflag bit meaning */ - -#define CBAUD	0010017 -#define B0	0000000 /* hang up */ -#define B50	0000001 -#define B75	0000002 -#define B110	0000003 -#define B134	0000004 -#define B150	0000005 -#define B200	0000006 -#define B300	0000007 -#define B600	0000010 -#define B1200	0000011 -#define B1800	0000012 -#define B2400	0000013 -#define B4800	0000014 -#define B9600	0000015 -#define B19200	0000016 -#define B38400	0000017 -#define EXTA B19200 -#define EXTB B38400 -#define CSIZE	0000060 -#define CS5	0000000 -#define CS6	0000020 -#define CS7	0000040 -#define CS8	0000060 -#define CSTOPB	0000100 -#define CREAD	0000200 -#define PARENB	0000400 -#define PARODD	0001000 -#define HUPCL	0002000 -#define CLOCAL	0004000 -#define CBAUDEX	0010000 -#define B57600	0010001 -#define B115200	0010002 -#define B230400	0010003 -#define B460800	0010004 -#define B500000	0010005 -#define B576000	0010006 -#define B921600	0010007 -#define BOTHER		0010000 -#define B1000000	0010010 -#define B1152000	0010011 -#define B1500000	0010012 -#define B2000000	0010013 -#define B2500000	0010014 -#define B3000000	0010015 -#define B3500000	0010016 -#define B4000000	0010017 -#define CIBAUD		002003600000 /* input baud rate (not used) */ -#define CMSPAR		010000000000 /* mark or space (stick) parity */ -#define CRTSCTS		020000000000 /* flow control */ - -#define IBSHIFT	16		/* Shift from CBAUD to CIBAUD */ - -/* c_lflag bits */ - -#define ISIG	0000001 -#define ICANON	0000002 -#define XCASE	0000004 -#define ECHO	0000010 -#define ECHOE	0000020 -#define ECHOK	0000040 -#define ECHONL	0000100 -#define NOFLSH	0000200 -#define TOSTOP	0000400 -#define ECHOCTL	0001000 -#define ECHOPRT	0002000 -#define ECHOKE	0004000 -#define FLUSHO	0010000 -#define PENDIN	0040000 -#define IEXTEN	0100000 - -/* tcflow() and TCXONC use these */ - -#define	TCOOFF		0 -#define	TCOON		1 -#define	TCIOFF		2 -#define	TCION		3 - -/* tcflush() and TCFLSH use these */ - -#define	TCIFLUSH	0 -#define	TCOFLUSH	1 -#define	TCIOFLUSH	2 - -/* tcsetattr uses these */ - -#define	TCSANOW		0 -#define	TCSADRAIN	1 -#define	TCSAFLUSH	2 - -#endif /* _ASM_MICROBLAZE_TERMBITS_H */ +#include <asm-generic/termbits.h> diff --git a/arch/microblaze/include/asm/termios.h b/arch/microblaze/include/asm/termios.h index 47a46d1fbe2..280d78a9d96 100644 --- a/arch/microblaze/include/asm/termios.h +++ b/arch/microblaze/include/asm/termios.h @@ -1,88 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_TERMIOS_H -#define _ASM_MICROBLAZE_TERMIOS_H - -#include <linux/string.h> -#include <asm/termbits.h> -#include <asm/ioctls.h> - -struct winsize { -	unsigned short ws_row; -	unsigned short ws_col; -	unsigned short ws_xpixel; -	unsigned short ws_ypixel; -}; - -#define NCC 8 -struct termio { -	unsigned short c_iflag; /* input mode flags */ -	unsigned short c_oflag; /* output mode flags */ -	unsigned short c_cflag; /* control mode flags */ -	unsigned short c_lflag; /* local mode flags */ -	unsigned char c_line; /* line discipline */ -	unsigned char c_cc[NCC]; /* control characters */ -}; - -#ifdef __KERNEL__ -/*	intr=^C		quit=^|		erase=del	kill=^U -	eof=^D		vtime=\0	vmin=\1		sxtc=\0 -	start=^Q	stop=^S		susp=^Z		eol=\0 -	reprint=^R	discard=^U	werase=^W	lnext=^V -	eol2=\0 -*/ -#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" -#endif - -/* Modem lines */ - -#define TIOCM_LE	0x001 -#define TIOCM_DTR	0x002 -#define TIOCM_RTS	0x004 -#define TIOCM_ST	0x008 -#define TIOCM_SR	0x010 -#define TIOCM_CTS	0x020 -#define TIOCM_CAR	0x040 -#define TIOCM_RNG	0x080 -#define TIOCM_DSR	0x100 -#define TIOCM_CD	TIOCM_CAR -#define TIOCM_RI	TIOCM_RNG -#define TIOCM_OUT1	0x2000 -#define TIOCM_OUT2	0x4000 -#define TIOCM_LOOP	0x8000 - -/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ - -/* Line disciplines */ - -#define N_TTY		0 -#define N_SLIP		1 -#define N_MOUSE		2 -#define N_PPP		3 -#define N_STRIP		4 -#define N_AX25		5 -#define N_X25		6 /* X.25 async */ -#define N_6PACK		7 -#define N_MASC		8 /* Reserved for Mobitex module <kaz@cafe.net> */ -#define N_R3964		9 /* Reserved for Simatic R3964 module */ -#define N_PROFIBUS_FDL	10 /* Reserved for Profibus <Dave@mvhi.com> */ -#define N_IRDA		11 /* Linux IR - http://irda.sourceforge.net/ */ -#define N_SMSBLOCK	12 /* SMS block mode - for talking to GSM data cards -				about SMS messages */ -#define N_HDLC		13 /* synchronous HDLC */ -#define N_SYNC_PPP	14 -#define N_HCI		15 /* Bluetooth HCI UART */ - -#ifdef __KERNEL__ - -#include <asm-generic/termios-base.h> - -#endif	/* __KERNEL__ */ - -#endif /* _ASM_MICROBLAZE_TERMIOS_H */ +#include <asm-generic/termios.h> diff --git a/arch/microblaze/include/asm/thread_info.h b/arch/microblaze/include/asm/thread_info.h index 7fac4449844..6e92885d381 100644 --- a/arch/microblaze/include/asm/thread_info.h +++ b/arch/microblaze/include/asm/thread_info.h @@ -75,8 +75,6 @@ struct thread_info {  /*   * macros/functions for gaining access to the thread information structure - * - * preempt_count needs to be 1 initially, until the scheduler is functional.   */  #define INIT_THREAD_INFO(tsk)			\  {						\ @@ -84,7 +82,7 @@ struct thread_info {  	.exec_domain	= &default_exec_domain,	\  	.flags		= 0,			\  	.cpu		= 0,			\ -	.preempt_count	= 1,			\ +	.preempt_count	= INIT_PREEMPT_COUNT,	\  	.addr_limit	= KERNEL_DS,		\  	.restart_block = {			\  		.fn = do_no_restart_syscall,	\ diff --git a/arch/microblaze/include/asm/timex.h b/arch/microblaze/include/asm/timex.h index 678525dc6d0..befcf3de553 100644 --- a/arch/microblaze/include/asm/timex.h +++ b/arch/microblaze/include/asm/timex.h @@ -9,10 +9,8 @@  #ifndef _ASM_MICROBLAZE_TIMEX_H  #define _ASM_MICROBLAZE_TIMEX_H -#define CLOCK_TICK_RATE 1000 /* Timer input freq. */ - -typedef unsigned long cycles_t; +#include <asm-generic/timex.h> -#define get_cycles()	(0) +#define CLOCK_TICK_RATE 1000 /* Timer input freq. */  #endif /* _ASM_TIMEX_H */ diff --git a/arch/microblaze/include/asm/tlb.h b/arch/microblaze/include/asm/tlb.h index c472d280113..e8abd4a0349 100644 --- a/arch/microblaze/include/asm/tlb.h +++ b/arch/microblaze/include/asm/tlb.h @@ -11,7 +11,7 @@  #ifndef _ASM_MICROBLAZE_TLB_H  #define _ASM_MICROBLAZE_TLB_H -#define tlb_flush(tlb)	do {} while (0) +#define tlb_flush(tlb)	flush_tlb_mm((tlb)->mm)  #include <asm-generic/tlb.h> diff --git a/arch/microblaze/include/asm/types.h b/arch/microblaze/include/asm/types.h index bebc018318f..b9e79bc580d 100644 --- a/arch/microblaze/include/asm/types.h +++ b/arch/microblaze/include/asm/types.h @@ -1,38 +1 @@ -/* - * Copyright (C) Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_TYPES_H -#define _ASM_MICROBLAZE_TYPES_H - -/* - * This file is never included by application software unless - * explicitly requested (e.g., via linux/types.h) in which case the - * application is Linux specific so (user-) name space pollution is - * not a major issue.  However, for interoperability, libraries still - * need to be careful to avoid a name clashes. - */ - -#include <asm-generic/int-ll64.h> - -# ifndef __ASSEMBLY__ - -typedef unsigned short umode_t; - -/* - * These aren't exported outside the kernel to avoid name space clashes - */ -#  ifdef __KERNEL__ -#  define BITS_PER_LONG 32 - -/* Dma addresses are 32-bits wide. */ - -typedef u32 dma_addr_t; - -#  endif/* __KERNEL__ */ -# endif /* __ASSEMBLY__ */ -#endif /* _ASM_MICROBLAZE_TYPES_H */ +#include <asm-generic/types.h> diff --git a/arch/microblaze/include/asm/uaccess.h b/arch/microblaze/include/asm/uaccess.h index 65adad61e7e..5431b4631a7 100644 --- a/arch/microblaze/include/asm/uaccess.h +++ b/arch/microblaze/include/asm/uaccess.h @@ -189,7 +189,7 @@ extern long strnlen_user(const char *src, long count);  #define __put_user(x, ptr)						\  ({									\ -	__typeof__(*(ptr)) __gu_val = x;				\ +	__typeof__(*(ptr)) volatile __gu_val = (x);			\  	long __gu_err = 0;						\  	switch (sizeof(__gu_val)) {					\  	case 1:								\ diff --git a/arch/microblaze/include/asm/ucontext.h b/arch/microblaze/include/asm/ucontext.h index 11f6bb3ae3a..9bc07b9f30f 100644 --- a/arch/microblaze/include/asm/ucontext.h +++ b/arch/microblaze/include/asm/ucontext.h @@ -1,22 +1 @@ -/* - * Copyright (C) 2006 Atmark Techno, Inc. - * - * 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. - */ - -#ifndef _ASM_MICROBLAZE_UCONTEXT_H -#define _ASM_MICROBLAZE_UCONTEXT_H - -#include <asm/sigcontext.h> - -struct ucontext { -	unsigned long		uc_flags; -	struct ucontext		*uc_link; -	stack_t			uc_stack; -	struct sigcontext	uc_mcontext; -	sigset_t		uc_sigmask; /* mask last for extensibility */ -}; - -#endif /* _ASM_MICROBLAZE_UCONTEXT_H */ +#include <asm-generic/ucontext.h> diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h index b5e2f5fa5c5..0b852327c0e 100644 --- a/arch/microblaze/include/asm/unistd.h +++ b/arch/microblaze/include/asm/unistd.h @@ -380,8 +380,10 @@  #define __NR_accept04		362 /* new */  #define __NR_preadv		363 /* new */  #define __NR_pwritev		364 /* new */ +#define __NR_rt_tgsigqueueinfo	365 /* new */ +#define __NR_perf_counter_open	366 /* new */ -#define __NR_syscalls		365 +#define __NR_syscalls		367  #ifdef __KERNEL__  #ifndef __ASSEMBLY__ @@ -408,7 +410,7 @@  #define __ARCH_WANT_SYS_SIGPENDING  #define __ARCH_WANT_SYS_SIGPROCMASK  #define __ARCH_WANT_SYS_RT_SIGACTION -/* #define __ARCH_WANT_SYS_RT_SIGSUSPEND */ +#define __ARCH_WANT_SYS_RT_SIGSUSPEND  /*   * "Conditional" syscalls diff --git a/arch/microblaze/include/asm/vga.h b/arch/microblaze/include/asm/vga.h index 8b137891791..89d82fd8fcf 100644 --- a/arch/microblaze/include/asm/vga.h +++ b/arch/microblaze/include/asm/vga.h @@ -1 +1 @@ - +#include <asm-generic/vga.h>  |