source: mainline/uspace/lib/c/arch/arm32/include/libarch/fibril_context.ag@ 1a5eca4

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

Autogenerate arm32 fibril context_t and its offsets.

  • Property mode set to 100644
File size: 3.0 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 # Only registers preserved accross function calls are included. r9 is
39 # used to store a TLS address. -ffixed-r9 gcc forces gcc not to use this
40 # register. -mtp=soft forces gcc to use #__aeabi_read_tp to obtain
41 # TLS address.
42 #
43 members : [
44 {
45 name : sp,
46 type : uintptr_t
47 },
48 {
49 name : pc,
50 type : uintptr_t
51 },
52
53 {
54 name : r4,
55 type : uint32_t
56 },
57 {
58 name : r5,
59 type : uint32_t
60 },
61 {
62 name : r6,
63 type : uint32_t
64 },
65 {
66 name : r7,
67 type : uint32_t
68 },
69 {
70 name : r8,
71 type : uint32_t
72 },
73 {
74 # r9
75 name : tls,
76 type : uint32_t
77 },
78 {
79 name : r10,
80 type : uint32_t
81 },
82 {
83 # r11
84 name : fp,
85 type : uint32_t
86 }
87 ]
88}
89
Note: See TracBrowser for help on using the repository browser.