diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/arch/i386/firmware/pcbios/bios_console.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/arch/i386/firmware/pcbios/bios_console.c b/src/arch/i386/firmware/pcbios/bios_console.c index 1ecd07ddd..e489971f1 100644 --- a/src/arch/i386/firmware/pcbios/bios_console.c +++ b/src/arch/i386/firmware/pcbios/bios_console.c @@ -163,6 +163,14 @@ static void bios_putchar ( int character ) { /* Skip non-printable characters */ "cmpb $0x20, %%al\n\t" "jb 1f\n\t" + /* Read attribute */ + "movb %%al, %%cl\n\t" + "movb $0x08, %%ah\n\t" + "int $0x10\n\t" + "xchgb %%al, %%cl\n\t" + /* Skip if attribute matches */ + "cmpb %%ah, %%bl\n\t" + "je 1f\n\t" /* Set attribute */ "movw $0x0001, %%cx\n\t" "movb $0x09, %%ah\n\t" |
