From: Michal Simek <monstr@xxxxxxxxx> Acked-by: Stephen Neuendorffer <stephen.neuendorffer@xxxxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> --- include/asm-microblaze/current.h | 23 +++++++++++++++++++++++ include/asm-microblaze/entry.h | 28 ++++++++++++++++++++++++++++ include/asm-microblaze/mman.h | 25 +++++++++++++++++++++++++ include/asm-microblaze/registers.h | 24 ++++++++++++++++++++++++ include/asm-microblaze/sembuf.h | 34 ++++++++++++++++++++++++++++++++++ 5 files changed, 134 insertions(+), 0 deletions(-) create mode 100644 include/asm-microblaze/current.h create mode 100644 include/asm-microblaze/entry.h create mode 100644 include/asm-microblaze/mman.h create mode 100644 include/asm-microblaze/registers.h create mode 100644 include/asm-microblaze/sembuf.h diff --git a/include/asm-microblaze/current.h b/include/asm-microblaze/current.h new file mode 100644 index 0000000..bc5ec59 --- /dev/null +++ b/include/asm-microblaze/current.h @@ -0,0 +1,23 @@ +/* + * 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_CURRENT_H +#define _ASM_MICROBLAZE_CURRENT_H + +#ifndef __ASSEMBLY__ + +/* + * Dedicate r31 to keeping the current task pointer + */ +register struct task_struct *current asm("r31"); + +#define get_current() current + +#endif + +#endif /* _ASM_MICROBLAZE_CURRENT_H */ diff --git a/include/asm-microblaze/entry.h b/include/asm-microblaze/entry.h new file mode 100644 index 0000000..e4b5079 --- /dev/null +++ b/include/asm-microblaze/entry.h @@ -0,0 +1,28 @@ +/* + * Definitions used by low-level trap handlers + * + * Copyright (C) 2007 PetaLogix + * Copyright (C) 2007 John Williams <john.williams@xxxxxxxxxxxxx> + * + * 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_ENTRY_H +#define _ASM_MICROBLAZE_ENTRY_H + +#include <asm/percpu.h> +#include <asm/ptrace.h> + +/* These are per-cpu variables required in entry.S, among other + places */ + +DECLARE_PER_CPU(unsigned int, KSP); /* Saved kernel stack pointer */ +DECLARE_PER_CPU(unsigned int, KM); /* Kernel/user mode */ +DECLARE_PER_CPU(unsigned int, ENTRY_SP); /* Saved SP on kernel entry */ +DECLARE_PER_CPU(unsigned int, R11_SAVE); /* Temp variable for entry */ +DECLARE_PER_CPU(unsigned int, CURRENT_SAVE); /* Saved current pointer */ +DECLARE_PER_CPU(unsigned int, SYSCALL_SAVE); /* Saved syscall number */ + +#endif /* _ASM_MICROBLAZE_ENTRY_H */ diff --git a/include/asm-microblaze/mman.h b/include/asm-microblaze/mman.h new file mode 100644 index 0000000..4914b13 --- /dev/null +++ b/include/asm-microblaze/mman.h @@ -0,0 +1,25 @@ +/* + * 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/include/asm-microblaze/registers.h b/include/asm-microblaze/registers.h new file mode 100644 index 0000000..1a98ba0 --- /dev/null +++ b/include/asm-microblaze/registers.h @@ -0,0 +1,24 @@ +/* + * 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_REGISTERS_H +#define _ASM_MICROBLAZE_REGISTERS_H + +#define MSR_BE (1<<0) +#define MSR_IE (1<<1) +#define MSR_C (1<<2) +#define MSR_BIP (1<<3) +#define MSR_FSL (1<<4) +#define MSR_ICE (1<<5) +#define MSR_DZ (1<<6) +#define MSR_DCE (1<<7) +#define MSR_EE (1<<8) +#define MSR_EIP (1<<9) +#define MSR_CC (1<<31) + +#endif /* _ASM_MICROBLAZE_REGISTERS_H */ diff --git a/include/asm-microblaze/sembuf.h b/include/asm-microblaze/sembuf.h new file mode 100644 index 0000000..b804ed7 --- /dev/null +++ b/include/asm-microblaze/sembuf.h @@ -0,0 +1,34 @@ +/* + * 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 */ -- 1.5.4.GIT -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html