/* * \brief Interface between kernel and userland * \author Martin Stein * \date 2011-11-30 */ /* * Copyright (C) 2011-2013 Genode Labs GmbH * * This file is part of the Genode OS framework, which is distributed * under the terms of the GNU General Public License version 2. */ #ifndef _KERNEL__INTERFACE_SUPPORT_H_ #define _KERNEL__INTERFACE_SUPPORT_H_ /* Genode includes */ #include namespace Kernel { typedef Genode::uint32_t Call_arg; typedef Genode::uint32_t Call_ret; /** * Registers that are provided by a kernel thread-object for user access */ struct Thread_reg_id { enum { R0 = 0, R1 = 1, R2 = 2, R3 = 3, R4 = 4, R5 = 5, R6 = 6, R7 = 7, R8 = 8, R9 = 9, R10 = 10, R11 = 11, R12 = 12, SP = 13, LR = 14, IP = 15, CPSR = 16, CPU_EXCEPTION = 17, FAULT_TLB = 18, FAULT_ADDR = 19, FAULT_WRITES = 20, FAULT_SIGNAL = 21, }; }; /** * Events that are provided by a kernel thread-object for user handling */ struct Thread_event_id { enum { FAULT = 0 }; }; } #endif /* _KERNEL__INTERFACE_SUPPORT_H_ */