Skip to content

Commit edef2f3

Browse files
svenpeterbushing
authored andcommitted
simplify utils.h a bit
l and r are equal in arm mode
1 parent b797351 commit edef2f3

File tree

1 file changed

+0
-69
lines changed

1 file changed

+0
-69
lines changed

utils.h

-69
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,13 @@ Copyright (C) 2008, 2009 Hector Martin "marcan" <[email protected]>
1414
static inline u32 read32(u32 addr)
1515
{
1616
u32 data;
17-
#ifdef __THUMBEB__
1817
__asm__ volatile ("ldr\t%0, [%1]" : "=l" (data) : "l" (addr));
19-
#else
20-
__asm__ volatile ("ldr\t%0, [%1]" : "=r" (data) : "r" (addr));
21-
#endif
2218
return data;
2319
}
2420

2521
static inline void write32(u32 addr, u32 data)
2622
{
27-
#ifdef __THUMBEB__
2823
__asm__ volatile ("str\t%0, [%1]" : : "l" (data), "l" (addr));
29-
#else
30-
__asm__ volatile ("str\t%0, [%1]" : : "r" (data), "r" (addr));
31-
#endif
3224
}
3325

3426
static inline u32 set32(u32 addr, u32 set)
@@ -38,13 +30,8 @@ static inline u32 set32(u32 addr, u32 set)
3830
"ldr\t%0, [%1]\n"
3931
"\torr\t%0, %2\n"
4032
"\tstr\t%0, [%1]"
41-
#ifdef __THUMBEB__
4233
: "=&l" (data)
4334
: "l" (addr), "l" (set)
44-
#else
45-
: "=&r" (data)
46-
: "r" (addr), "r" (set)
47-
#endif
4835
);
4936
return data;
5037
}
@@ -56,13 +43,8 @@ static inline u32 clear32(u32 addr, u32 clear)
5643
"ldr\t%0, [%1]\n"
5744
"\tbic\t%0, %2\n"
5845
"\tstr\t%0, [%1]"
59-
#ifdef __THUMBEB__
6046
: "=&l" (data)
6147
: "l" (addr), "l" (clear)
62-
#else
63-
: "=&r" (data)
64-
: "r" (addr), "r" (clear)
65-
#endif
6648
);
6749
return data;
6850
}
@@ -76,35 +58,22 @@ static inline u32 mask32(u32 addr, u32 clear, u32 set)
7658
"\tbic\t%0, %3\n"
7759
"\torr\t%0, %2\n"
7860
"\tstr\t%0, [%1]"
79-
#ifdef __THUMBEB__
8061
: "=&l" (data)
8162
: "l" (addr), "l" (set), "l" (clear)
82-
#else
83-
: "=&r" (data)
84-
: "r" (addr), "r" (set), "r" (clear)
85-
#endif
8663
);
8764
return data;
8865
}
8966

9067
static inline u16 read16(u32 addr)
9168
{
9269
u32 data;
93-
#ifdef __THUMBEB__
9470
__asm__ volatile ("ldrh\t%0, [%1]" : "=l" (data) : "l" (addr));
95-
#else
96-
__asm__ volatile ("ldrh\t%0, [%1]" : "=r" (data) : "r" (addr));
97-
#endif
9871
return data;
9972
}
10073

10174
static inline void write16(u32 addr, u16 data)
10275
{
103-
#ifdef __THUMBEB__
10476
__asm__ volatile ("strh\t%0, [%1]" : : "l" (data), "l" (addr));
105-
#else
106-
__asm__ volatile ("strh\t%0, [%1]" : : "r" (data), "r" (addr));
107-
#endif
10877
}
10978

11079
static inline u16 set16(u32 addr, u16 set)
@@ -114,13 +83,8 @@ static inline u16 set16(u32 addr, u16 set)
11483
"ldrh\t%0, [%1]\n"
11584
"\torr\t%0, %2\n"
11685
"\tstrh\t%0, [%1]"
117-
#ifdef __THUMBEB__
11886
: "=&l" (data)
11987
: "l" (addr), "l" (set)
120-
#else
121-
: "=&r" (data)
122-
: "r" (addr), "r" (set)
123-
#endif
12488

12589
);
12690
return data;
@@ -133,13 +97,8 @@ static inline u16 clear16(u32 addr, u16 clear)
13397
"ldrh\t%0, [%1]\n"
13498
"\tbic\t%0, %2\n"
13599
"\tstrh\t%0, [%1]"
136-
#ifdef __THUMBEB__
137100
: "=&l" (data)
138101
: "l" (addr), "l" (clear)
139-
#else
140-
: "=&r" (data)
141-
: "r" (addr), "r" (clear)
142-
#endif
143102
);
144103
return data;
145104
}
@@ -153,35 +112,22 @@ static inline u16 mask16(u32 addr, u16 clear, u16 set)
153112
"\tbic\t%0, %3\n"
154113
"\torr\t%0, %2\n"
155114
"\tstrh\t%0, [%1]"
156-
#ifdef __THUMBEB__
157115
: "=&l" (data)
158116
: "l" (addr), "l" (set), "l" (clear)
159-
#else
160-
: "=&r" (data)
161-
: "r" (addr), "r" (set), "r" (clear)
162-
#endif
163117
);
164118
return data;
165119
}
166120

167121
static inline u8 read8(u32 addr)
168122
{
169123
u32 data;
170-
#ifdef __THUMBEB__
171124
__asm__ volatile ("ldrb\t%0, [%1]" : "=l" (data) : "l" (addr));
172-
#else
173-
__asm__ volatile ("ldrb\t%0, [%1]" : "=r" (data) : "r" (addr));
174-
#endif
175125
return data;
176126
}
177127

178128
static inline void write8(u32 addr, u8 data)
179129
{
180-
#ifdef __THUMBEB__
181130
__asm__ volatile ("strb\t%0, [%1]" : : "l" (data), "l" (addr));
182-
#else
183-
__asm__ volatile ("strb\t%0, [%1]" : : "r" (data), "r" (addr));
184-
#endif
185131
}
186132

187133
static inline u8 set8(u32 addr, u8 set)
@@ -191,13 +137,8 @@ static inline u8 set8(u32 addr, u8 set)
191137
"ldrb\t%0, [%1]\n"
192138
"\torr\t%0, %2\n"
193139
"\tstrb\t%0, [%1]"
194-
#ifdef __THUMBEB__
195140
: "=&l" (data)
196141
: "l" (addr), "l" (set)
197-
#else
198-
: "=&r" (data)
199-
: "r" (addr), "r" (set)
200-
#endif
201142
);
202143
return data;
203144
}
@@ -209,13 +150,8 @@ static inline u8 clear8(u32 addr, u8 clear)
209150
"ldrb\t%0, [%1]\n"
210151
"\tbic\t%0, %2\n"
211152
"\tstrb\t%0, [%1]"
212-
#ifdef __THUMBEB__
213153
: "=&l" (data)
214154
: "l" (addr), "l" (clear)
215-
#else
216-
: "=&r" (data)
217-
: "r" (addr), "r" (clear)
218-
#endif
219155
);
220156
return data;
221157
}
@@ -228,13 +164,8 @@ static inline u8 mask8(u32 addr, u8 clear, u8 set)
228164
"\tbic\t%0, %3\n"
229165
"\torr\t%0, %2\n"
230166
"\tstrb\t%0, [%1]"
231-
#ifdef __THUMBEB__
232167
: "=&l" (data)
233168
: "l" (addr), "l" (set), "l" (clear)
234-
#else
235-
: "=&r" (data)
236-
: "r" (addr), "r" (set), "r" (clear)
237-
#endif
238169
);
239170
return data;
240171
}

0 commit comments

Comments
 (0)