hake: adding missing include path to the k1om kernel
[barrelfish] / lib / barrelfish / include / arch / k1om / arch / fpu.h
1 /**
2  * \file
3  * \brief FPU accessor functions.
4  */
5
6 /*
7  * Copyright (c) 2010, 2011, ETH Zurich.
8  * All rights reserved.
9  *
10  * This file is distributed under the terms in the attached LICENSE file.
11  * If you do not find this file, copies can be found by writing to:
12  * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
13  */
14
15 #ifndef X86_64_FPU_H
16 #define X86_64_FPU_H
17
18 /// Exception number for FPU (device) not available
19 #define FPU_UNAVAILABLE_TRAP    7
20
21 static inline void fpu_copy(struct registers_fpu_x86_64 *dst,
22                             struct registers_fpu_x86_64 *src)
23 {
24     // XXX: Round to next 16-byte boundary
25     uint8_t *dregs = dst->registers, *sregs = src->registers;
26     dregs += 16 - ((uintptr_t)dregs % 16);
27     sregs += 16 - ((uintptr_t)sregs % 16);
28
29     memcpy(dregs, sregs, 512);
30 }
31
32 #endif