source: mainline/uspace/lib/c/arch/amd64/include/libarch/fibril_context.ag@ fe036fe

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since fe036fe was 4dc7a84, checked in by Jakub Jermar <jakub@…>, 11 years ago

Autogenerate amd64 fibril context_t and its offsets

Generate the userspace context_t structure and its offsets by
autogen.py. Decouple the context definition from the kernel context_t,
because these structures can, and in fact already do, have different
members. Do not share the corresponding common assembly between the
kernel and the userspace.

  • Property mode set to 100644
File size: 2.7 KB
Line 
1# Copyright (c) 2014 Jakub Jermar
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions
6# are met:
7#
8# - Redistributions of source code must retain the above copyright
9# notice, this list of conditions and the following disclaimer.
10# - Redistributions in binary form must reproduce the above copyright
11# notice, this list of conditions and the following disclaimer in the
12# documentation and/or other materials provided with the distribution.
13# - The name of the author may not be used to endorse or promote products
14# derived from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27
28{
29 name : context,
30
31 includes : [
32 {
33 include : <sys/types.h>
34 }
35 ],
36
37 members : [
38 #
39 # We include only registers that must be preserved
40 # during function call.
41 #
42
43 {
44 name : sp,
45 type : uint64_t
46 },
47 {
48 name : pc,
49 type : uint64_t
50 },
51
52 {
53 name : rbx,
54 type : uint64_t
55 },
56 {
57 name : rbp,
58 type : uint64_t
59 },
60
61 {
62 name : r12,
63 type : uint64_t
64 },
65 {
66 name : r13,
67 type : uint64_t
68 },
69 {
70 name : r14,
71 type : uint64_t
72 },
73 {
74 name : r15,
75 type : uint64_t
76 },
77
78 {
79 name : tls,
80 type : uint64_t
81 }
82 ]
83}
Note: See TracBrowser for help on using the repository browser.