source: mainline/uspace/lib/c/arch/sparc64/include/libarch/fibril_context.ag@ d6c98451

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

Autogenerate sparc64 fibril context_t and its offsets.

  • Property mode set to 100644
File size: 3.9 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 #
38 # Save only registers that must be preserved across function calls.
39 #
40 members : [
41 {
42 # %o6
43 name : sp,
44 type : uintptr_t
45 },
46 {
47 # %o7
48 name : pc,
49 type : uintptr_t
50 },
51 {
52 name : i0,
53 type : uint64_t
54 },
55 {
56 name : i1,
57 type : uint64_t
58 },
59 {
60 name : i2,
61 type : uint64_t
62 },
63 {
64 name : i3,
65 type : uint64_t
66 },
67 {
68 name : i4,
69 type : uint64_t
70 },
71 {
72 name : i5,
73 type : uint64_t
74 },
75 {
76 # %i6
77 name : fp,
78 type : uintptr_t
79 },
80 {
81 name : i7,
82 type : uintptr_t
83 },
84 {
85 name : l0,
86 type : uint64_t
87 },
88 {
89 name : l1,
90 type : uint64_t
91 },
92 {
93 name : l2,
94 type : uint64_t
95 },
96 {
97 name : l3,
98 type : uint64_t
99 },
100 {
101 name : l4,
102 type : uint64_t
103 },
104 {
105 name : l5,
106 type : uint64_t
107 },
108 {
109 name : l6,
110 type : uint64_t
111 },
112 {
113 name : l7,
114 type : uint64_t
115 },
116 {
117 # %g7
118 name : tp,
119 type : uint64_t
120 }
121 ]
122}
123
Note: See TracBrowser for help on using the repository browser.