|
@@ -98,9 +98,7 @@ static void bios_handle_cup ( struct ansiesc_context *ctx __unused,
|
98
|
98
|
if ( cy < 0 )
|
99
|
99
|
cy = 0;
|
100
|
100
|
|
101
|
|
- __asm__ __volatile__ ( REAL_CODE ( "sti\n\t"
|
102
|
|
- "int $0x10\n\t"
|
103
|
|
- "cli\n\t" )
|
|
101
|
+ __asm__ __volatile__ ( REAL_CODE ( "int $0x10\n\t" )
|
104
|
102
|
: : "a" ( 0x0200 ), "b" ( 1 ),
|
105
|
103
|
"d" ( ( cy << 8 ) | cx ) );
|
106
|
104
|
}
|
|
@@ -118,9 +116,7 @@ static void bios_handle_ed ( struct ansiesc_context *ctx __unused,
|
118
|
116
|
/* We assume that we always clear the whole screen */
|
119
|
117
|
assert ( params[0] == ANSIESC_ED_ALL );
|
120
|
118
|
|
121
|
|
- __asm__ __volatile__ ( REAL_CODE ( "sti\n\t"
|
122
|
|
- "int $0x10\n\t"
|
123
|
|
- "cli\n\t" )
|
|
119
|
+ __asm__ __volatile__ ( REAL_CODE ( "int $0x10\n\t" )
|
124
|
120
|
: : "a" ( 0x0600 ), "b" ( bios_attr << 8 ),
|
125
|
121
|
"c" ( 0 ),
|
126
|
122
|
"d" ( ( ( console_height - 1 ) << 8 ) |
|
|
@@ -188,9 +184,7 @@ static void bios_handle_dectcem_set ( struct ansiesc_context *ctx __unused,
|
188
|
184
|
/* Get character height */
|
189
|
185
|
get_real ( height, BDA_SEG, BDA_CHAR_HEIGHT );
|
190
|
186
|
|
191
|
|
- __asm__ __volatile__ ( REAL_CODE ( "sti\n\t"
|
192
|
|
- "int $0x10\n\t"
|
193
|
|
- "cli\n\t" )
|
|
187
|
+ __asm__ __volatile__ ( REAL_CODE ( "int $0x10\n\t" )
|
194
|
188
|
: : "a" ( 0x0100 ),
|
195
|
189
|
"c" ( ( ( height - 2 ) << 8 ) |
|
196
|
190
|
( height - 1 ) ) );
|
|
@@ -207,9 +201,7 @@ static void bios_handle_dectcem_reset ( struct ansiesc_context *ctx __unused,
|
207
|
201
|
unsigned int count __unused,
|
208
|
202
|
int params[] __unused ) {
|
209
|
203
|
|
210
|
|
- __asm__ __volatile__ ( REAL_CODE ( "sti\n\t"
|
211
|
|
- "int $0x10\n\t"
|
212
|
|
- "cli\n\t" )
|
|
204
|
+ __asm__ __volatile__ ( REAL_CODE ( "int $0x10\n\t" )
|
213
|
205
|
: : "a" ( 0x0100 ), "c" ( 0x2000 ) );
|
214
|
206
|
}
|
215
|
207
|
|
|
@@ -243,7 +235,6 @@ static void bios_putchar ( int character ) {
|
243
|
235
|
|
244
|
236
|
/* Print character with attribute */
|
245
|
237
|
__asm__ __volatile__ ( REAL_CODE ( "pushl %%ebp\n\t" /* gcc bug */
|
246
|
|
- "sti\n\t"
|
247
|
238
|
/* Skip non-printable characters */
|
248
|
239
|
"cmpb $0x20, %%al\n\t"
|
249
|
240
|
"jb 1f\n\t"
|
|
@@ -264,7 +255,6 @@ static void bios_putchar ( int character ) {
|
264
|
255
|
"xorw %%bx, %%bx\n\t"
|
265
|
256
|
"movb $0x0e, %%ah\n\t"
|
266
|
257
|
"int $0x10\n\t"
|
267
|
|
- "cli\n\t"
|
268
|
258
|
"popl %%ebp\n\t" /* gcc bug */ )
|
269
|
259
|
: "=a" ( discard_a ), "=b" ( discard_b ),
|
270
|
260
|
"=c" ( discard_c )
|