|
@@ -220,26 +220,13 @@ virt_to_user ( void * virtual ) {
|
220
|
220
|
"pushw %%fs\n\t" \
|
221
|
221
|
"pushw %%es\n\t" \
|
222
|
222
|
"pushw %%ds\n\t" \
|
223
|
|
- asm_code_str \
|
|
223
|
+ asm_code_str "\n\t" \
|
224
|
224
|
"popw %%ds\n\t" \
|
225
|
225
|
"popw %%es\n\t" \
|
226
|
226
|
"popw %%fs\n\t" \
|
227
|
227
|
"popw %%gs\n\t" \
|
228
|
228
|
".code16gcc\n\t"
|
229
|
229
|
|
230
|
|
-/* REAL_EXEC: execute some inline assembly code in a way that matches
|
231
|
|
- * the interface of librm
|
232
|
|
- */
|
233
|
|
-#define OUT_CONSTRAINTS(...) __VA_ARGS__
|
234
|
|
-#define IN_CONSTRAINTS(...) __VA_ARGS__
|
235
|
|
-#define CLOBBER(...) __VA_ARGS__
|
236
|
|
-#define REAL_EXEC( name, asm_code_str, num_out_constraints, \
|
237
|
|
- out_constraints, in_constraints, clobber ) do { \
|
238
|
|
- __asm__ __volatile__ ( \
|
239
|
|
- REAL_CODE ( asm_code_str ) \
|
240
|
|
- : out_constraints : in_constraints : clobber ); \
|
241
|
|
- } while ( 0 )
|
242
|
|
-
|
243
|
230
|
#endif /* ASSEMBLY */
|
244
|
231
|
|
245
|
232
|
#endif /* LIBKIR_H */
|