1 /* 2 * Copyright (c) 2008-2012 Travis Geiselbrecht 3 * 4 * Use of this source code is governed by a MIT-style 5 * license that can be found in the LICENSE file or at 6 * https://opensource.org/licenses/MIT 7 */ 8 #ifndef __ARM_M_ARCH_THREAD_H 9 #define __ARM_M_ARCH_THREAD_H 10 11 #include <stdbool.h> 12 #include <sys/types.h> 13 14 struct arch_thread { 15 vaddr_t sp; 16 bool was_preempted; 17 18 #if ARM_WITH_VFP 19 /* has this thread ever used the floating point state? */ 20 bool fpused; 21 22 /* s16-s31 saved here. s0-s15, fpscr saved on exception frame */ 23 float fpregs[16]; 24 #endif 25 }; 26 27 #endif 28 29