1 /* 2 * Definitions used by low-level trap handlers 3 * 4 * Copyright (C) 2008 Michal Simek 5 * Copyright (C) 2007 - 2008 PetaLogix 6 * Copyright (C) 2007 John Williams <john.williams@petalogix.com> 7 * 8 * This file is subject to the terms and conditions of the GNU General 9 * Public License. See the file COPYING in the main directory of this 10 * archive for more details. 11 */ 12 13 #ifndef _ASM_MICROBLAZE_ENTRY_H 14 #define _ASM_MICROBLAZE_ENTRY_H 15 16 #include <asm/percpu.h> 17 #include <asm/ptrace.h> 18 19 /* 20 * These are per-cpu variables required in entry.S, among other 21 * places 22 */ 23 24 #define PER_CPU(var) per_cpu__##var 25 26 # ifndef __ASSEMBLY__ 27 DECLARE_PER_CPU(unsigned int, KSP); /* Saved kernel stack pointer */ 28 DECLARE_PER_CPU(unsigned int, KM); /* Kernel/user mode */ 29 DECLARE_PER_CPU(unsigned int, ENTRY_SP); /* Saved SP on kernel entry */ 30 DECLARE_PER_CPU(unsigned int, R11_SAVE); /* Temp variable for entry */ 31 DECLARE_PER_CPU(unsigned int, CURRENT_SAVE); /* Saved current pointer */ 32 # endif /* __ASSEMBLY__ */ 33 34 /* noMMU hasn't any space for args */ 35 # define STATE_SAVE_ARG_SPACE (0) 36 37 #endif /* _ASM_MICROBLAZE_ENTRY_H */ 38