source: mainline/kernel/arch/ia32/include/arch/istate_struct.ag@ 1b20da0

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 1b20da0 was 1b20da0, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 8 years ago

style: Remove trailing whitespace on non-empty lines, in certain file types.

Command used: tools/srepl '\([^[:space:]]\)\s\+$' '\1' -- *.c *.h *.py *.sh *.s *.S *.ag

  • Property mode set to 100644
File size: 4.5 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 : istate,
30
31 includes : [
32 {
33 guard : KERNEL,
34 include : <typedefs.h>
35 },
36 {
37 negative-guard: KERNEL,
38 include : <stddef.h>
39 },
40 {
41 negative-guard: KERNEL,
42 include : <stdint.h>
43 }
44 ],
45
46 members : [
47
48 #
49 # The strange order of the GPRs is given by the requirement to use the
50 # istate structure for both regular interrupts and exceptions as well
51 # as for syscall handlers which use this order as an optimization.
52 #
53
54 {
55 name : edx,
56 type : uint32_t
57 },
58 {
59 name : ecx,
60 type : uint32_t
61 },
62 {
63 name : ebx,
64 type : uint32_t
65 },
66 {
67 name : esi,
68 type : uint32_t
69 },
70 {
71 name : edi,
72 type : uint32_t
73 },
74 {
75 name : ebp,
76 type : uint32_t
77 },
78 {
79 name : eax,
80 type : uint32_t
81 },
82
83 {
84 # imitation of frame pointer linkage
85 name : ebp_frame,
86 type : uint32_t
87 },
88 {
89 # imitation of return address linkage
90 name : eip_frame,
91 type : uint32_t
92 },
93
94 {
95 name : gs,
96 type : uint32_t
97 },
98 {
99 name : fs,
100 type : uint32_t
101 },
102 {
103 name : es,
104 type : uint32_t
105 },
106 {
107 name : ds,
108 type : uint32_t
109 },
110
111 {
112 # real or fake error word
113 name : error_word,
114 type : uint32_t
115 },
116 {
117 name : eip,
118 type : uint32_t
119 },
120 {
121 name : cs,
122 type : uint32_t
123 },
124 {
125 name : eflags,
126 type : uint32_t
127 },
128 {
129 # only if istate_t is from uspace
130 name : esp,
131 type : uint32_t
132 },
133 {
134 # only if istate_t is from uspace
135 name : ss,
136 type : uint32_t
137 }
138 ]
139}
Note: See TracBrowser for help on using the repository browser.