X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/8f946ddedda18836cfc4846e8496b30772503267..035d7af7dd4727735ec57f8195a4842e31ffc997:/aseg/aseg.asm?ds=inline diff --git a/aseg/aseg.asm b/aseg/aseg.asm index 244cafc..93b61d7 100644 --- a/aseg/aseg.asm +++ b/aseg/aseg.asm @@ -23,65 +23,6 @@ continue: mov ss, ax mov esp, [dataptr] -; mov al, [cstat] -; add al, 1 -; out 0x80, al -; mov [cstat], al - - mov dx, 0xCF8 ; save off the old config value - in dword eax, dx - mov [esp-4], eax - - mov eax, 0x80000070 ; load in smramc - out dx, eax - mov dx, 0xCFC - in byte al, dx - mov [esp-5], al - and al, 0xF3 ; Allow graphics access - or al, 0x08 - out dx, al - - xor eax, eax - mov dx, 0x3D4 - in byte al, dx - mov [esp-6], al ; save off the old VGA command - mov al, 0xC - out dx, al - inc dx - in al, dx - mov ah, al - dec dx - mov al, 0xD - out dx, al - inc dx - in al, dx - shl eax, 1 - add eax, 0xB8000 ; yay - mov byte [eax+0], '1' - mov byte [eax+1], 0x1F - mov byte [eax+2], '5' - mov byte [eax+3], 0x1F - mov byte [eax+4], '-' - mov byte [eax+5], 0x1F - mov byte [eax+6], '4' - mov byte [eax+7], 0x1F - mov byte [eax+8], '1' - mov byte [eax+9], 0x1F - mov byte [eax+10], '2' - mov byte [eax+11], 0x1F - - mov dx, 0x3D4 ; restore the old stuff - mov al, [esp-6] - out dx, al - - mov dx, 0xCFC ; restore smramc - mov al, [esp-5] - out dx, al - - mov dx, 0xCF8 ; restore the old PCI config value - mov eax, [esp-4] - out dx, eax - mov al, [needclear] cmp al, 0 jz noclear @@ -109,9 +50,6 @@ noclear: rsm ; and leave SMM -needclear: - db 0x01 - align 0x4 gdtr: db 0x27, 0x00 @@ -123,12 +61,12 @@ gdt: db 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x9B, 0xCF, 0x00 ; code segment db 0xFF, 0xFF, 0x00, 0x80, 0x0A, 0x9B, 0xCF, 0x00 ; code segment for trampoline -cstat: - db 0x00 +needclear: + db 0x01 -TIMES 512-($-$$) DB 0 dataptr: ; 4 bytes of stack top ; 4 bytes of BSS start ; 4 bytes of BSS length - ; 4 bytes of C entry point \ No newline at end of file + ; 4 bytes of C entry point + ; These show up