From bd264265a99c60f45cadaa4109a9db59ae218471 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Thu, 12 Jun 2014 00:17:59 +0200 Subject: OvmfPkg: QemuVideoDxe: enable debug messages in VbeShim (RHEL only) Notes about the RHEL-8.0/20180508-ee3198e672e2 -> RHEL-8.1/20190308-89910a39dcfd rebase: - no changes Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 -> RHEL-8.0/20180508-ee3198e672e2 rebase: - reorder the rebase changelog in the commit message so that it reads like a blog: place more recent entries near the top - no changes to the patch body Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase: - update commit message as requested in Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase: - no changes Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase: - no changes The Int10h VBE Shim is capable of emitting short debug messages when the win2k8r2 UEFI guest uses (emulates) the Video BIOS. In upstream the quiet version is preferred; for us debug messages are important as a default. For this patch, the DEBUG macro is enabled in the assembly file, and then the header file is regenerated from the assembly, by running "OvmfPkg/QemuVideoDxe/VbeShim.sh". "VbeShim.h" is not auto-generated; it is manually generated. The patch does not add "VbeShim.h", it just updates both "VbeShim.asm" and (the manually re-generated) "VbeShim.h" atomically. Doing so helps with local downstream builds, with bisection, and also keeps redhat/README a bit simpler. Signed-off-by: Laszlo Ersek (cherry picked from commit ccda46526bb2e573d9b54f0db75d27e442b4566f) (cherry picked from commit ed45b26dbeadd63dd8f2edf627290957d8bbb3b2) (cherry picked from commit 9a8a034ebc082f86fdbb54dc1303a5059508e14c) (cherry picked from commit 7046d6040181bb0f76a5ebd680e0dc701c895dba) (cherry picked from commit 4dd1cc745bc9a8c8b32b5810b40743fed1e36d7e) Signed-off-by: Danilo C. L. de Paula --- OvmfPkg/QemuVideoDxe/VbeShim.asm | 2 +- OvmfPkg/QemuVideoDxe/VbeShim.h | 481 ++++++++++++++++++++----------- 2 files changed, 308 insertions(+), 175 deletions(-) diff --git a/OvmfPkg/QemuVideoDxe/VbeShim.asm b/OvmfPkg/QemuVideoDxe/VbeShim.asm index 18fa9209d4..f87ed5cf30 100644 --- a/OvmfPkg/QemuVideoDxe/VbeShim.asm +++ b/OvmfPkg/QemuVideoDxe/VbeShim.asm @@ -18,7 +18,7 @@ ;------------------------------------------------------------------------------ ; enable this macro for debug messages -;%define DEBUG +%define DEBUG %macro DebugLog 1 %ifdef DEBUG diff --git a/OvmfPkg/QemuVideoDxe/VbeShim.h b/OvmfPkg/QemuVideoDxe/VbeShim.h index cc9b6e14cd..325d6478a1 100644 --- a/OvmfPkg/QemuVideoDxe/VbeShim.h +++ b/OvmfPkg/QemuVideoDxe/VbeShim.h @@ -517,185 +517,318 @@ STATIC CONST UINT8 mVbeShim[] = { /* 000001FE nop */ 0x90, /* 000001FF nop */ 0x90, /* 00000200 cmp ax,0x4f00 */ 0x3D, 0x00, 0x4F, - /* 00000203 jz 0x22d */ 0x74, 0x28, + /* 00000203 jz 0x235 */ 0x74, 0x30, /* 00000205 cmp ax,0x4f01 */ 0x3D, 0x01, 0x4F, - /* 00000208 jz 0x245 */ 0x74, 0x3B, + /* 00000208 jz 0x255 */ 0x74, 0x4B, /* 0000020A cmp ax,0x4f02 */ 0x3D, 0x02, 0x4F, - /* 0000020D jz 0x269 */ 0x74, 0x5A, + /* 0000020D jz 0x289 */ 0x74, 0x7A, /* 0000020F cmp ax,0x4f03 */ 0x3D, 0x03, 0x4F, - /* 00000212 jz word 0x331 */ 0x0F, 0x84, 0x1B, 0x01, + /* 00000212 jz word 0x361 */ 0x0F, 0x84, 0x4B, 0x01, /* 00000216 cmp ax,0x4f10 */ 0x3D, 0x10, 0x4F, - /* 00000219 jz word 0x336 */ 0x0F, 0x84, 0x19, 0x01, + /* 00000219 jz word 0x36e */ 0x0F, 0x84, 0x51, 0x01, /* 0000021D cmp ax,0x4f15 */ 0x3D, 0x15, 0x4F, - /* 00000220 jz word 0x338 */ 0x0F, 0x84, 0x14, 0x01, + /* 00000220 jz word 0x378 */ 0x0F, 0x84, 0x54, 0x01, /* 00000224 cmp ah,0x0 */ 0x80, 0xFC, 0x00, - /* 00000227 jz word 0x33a */ 0x0F, 0x84, 0x0F, 0x01, - /* 0000022B jmp short 0x22b */ 0xEB, 0xFE, - /* 0000022D push es */ 0x06, - /* 0000022E push di */ 0x57, - /* 0000022F push ds */ 0x1E, - /* 00000230 push si */ 0x56, - /* 00000231 push cx */ 0x51, - /* 00000232 push cs */ 0x0E, - /* 00000233 pop ds */ 0x1F, - /* 00000234 mov si,0x0 */ 0xBE, 0x00, 0x00, - /* 00000237 mov cx,0x100 */ 0xB9, 0x00, 0x01, - /* 0000023A cld */ 0xFC, - /* 0000023B rep movsb */ 0xF3, 0xA4, - /* 0000023D pop cx */ 0x59, - /* 0000023E pop si */ 0x5E, - /* 0000023F pop ds */ 0x1F, - /* 00000240 pop di */ 0x5F, - /* 00000241 pop es */ 0x07, - /* 00000242 jmp word 0x34c */ 0xE9, 0x07, 0x01, - /* 00000245 push es */ 0x06, - /* 00000246 push di */ 0x57, - /* 00000247 push ds */ 0x1E, - /* 00000248 push si */ 0x56, - /* 00000249 push cx */ 0x51, - /* 0000024A and cx,0xbfff */ 0x81, 0xE1, 0xFF, 0xBF, - /* 0000024E cmp cx,0xf1 */ 0x81, 0xF9, 0xF1, 0x00, - /* 00000252 jz 0x256 */ 0x74, 0x02, - /* 00000254 jmp short 0x22b */ 0xEB, 0xD5, - /* 00000256 push cs */ 0x0E, - /* 00000257 pop ds */ 0x1F, - /* 00000258 mov si,0x100 */ 0xBE, 0x00, 0x01, - /* 0000025B mov cx,0x100 */ 0xB9, 0x00, 0x01, - /* 0000025E cld */ 0xFC, - /* 0000025F rep movsb */ 0xF3, 0xA4, - /* 00000261 pop cx */ 0x59, - /* 00000262 pop si */ 0x5E, - /* 00000263 pop ds */ 0x1F, - /* 00000264 pop di */ 0x5F, - /* 00000265 pop es */ 0x07, - /* 00000266 jmp word 0x34c */ 0xE9, 0xE3, 0x00, - /* 00000269 push dx */ 0x52, - /* 0000026A push ax */ 0x50, - /* 0000026B cmp bx,0x40f1 */ 0x81, 0xFB, 0xF1, 0x40, - /* 0000026F jz 0x273 */ 0x74, 0x02, - /* 00000271 jmp short 0x22b */ 0xEB, 0xB8, - /* 00000273 mov dx,0x3c0 */ 0xBA, 0xC0, 0x03, - /* 00000276 mov al,0x20 */ 0xB0, 0x20, - /* 00000278 out dx,al */ 0xEE, - /* 00000279 push dx */ 0x52, - /* 0000027A push ax */ 0x50, - /* 0000027B mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 0000027E mov ax,0x4 */ 0xB8, 0x04, 0x00, - /* 00000281 out dx,ax */ 0xEF, - /* 00000282 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 00000285 mov ax,0x0 */ 0xB8, 0x00, 0x00, - /* 00000288 out dx,ax */ 0xEF, - /* 00000289 pop ax */ 0x58, - /* 0000028A pop dx */ 0x5A, - /* 0000028B push dx */ 0x52, - /* 0000028C push ax */ 0x50, - /* 0000028D mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 00000290 mov ax,0x5 */ 0xB8, 0x05, 0x00, - /* 00000293 out dx,ax */ 0xEF, - /* 00000294 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 00000297 mov ax,0x0 */ 0xB8, 0x00, 0x00, - /* 0000029A out dx,ax */ 0xEF, - /* 0000029B pop ax */ 0x58, - /* 0000029C pop dx */ 0x5A, - /* 0000029D push dx */ 0x52, - /* 0000029E push ax */ 0x50, - /* 0000029F mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 000002A2 mov ax,0x8 */ 0xB8, 0x08, 0x00, - /* 000002A5 out dx,ax */ 0xEF, - /* 000002A6 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 000002A9 mov ax,0x0 */ 0xB8, 0x00, 0x00, - /* 000002AC out dx,ax */ 0xEF, - /* 000002AD pop ax */ 0x58, - /* 000002AE pop dx */ 0x5A, - /* 000002AF push dx */ 0x52, - /* 000002B0 push ax */ 0x50, - /* 000002B1 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 000002B4 mov ax,0x9 */ 0xB8, 0x09, 0x00, - /* 000002B7 out dx,ax */ 0xEF, - /* 000002B8 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 000002BB mov ax,0x0 */ 0xB8, 0x00, 0x00, - /* 000002BE out dx,ax */ 0xEF, - /* 000002BF pop ax */ 0x58, - /* 000002C0 pop dx */ 0x5A, - /* 000002C1 push dx */ 0x52, - /* 000002C2 push ax */ 0x50, - /* 000002C3 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 000002C6 mov ax,0x3 */ 0xB8, 0x03, 0x00, - /* 000002C9 out dx,ax */ 0xEF, - /* 000002CA mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 000002CD mov ax,0x20 */ 0xB8, 0x20, 0x00, - /* 000002D0 out dx,ax */ 0xEF, - /* 000002D1 pop ax */ 0x58, - /* 000002D2 pop dx */ 0x5A, - /* 000002D3 push dx */ 0x52, - /* 000002D4 push ax */ 0x50, - /* 000002D5 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 000002D8 mov ax,0x1 */ 0xB8, 0x01, 0x00, - /* 000002DB out dx,ax */ 0xEF, - /* 000002DC mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 000002DF mov ax,0x400 */ 0xB8, 0x00, 0x04, - /* 000002E2 out dx,ax */ 0xEF, - /* 000002E3 pop ax */ 0x58, - /* 000002E4 pop dx */ 0x5A, - /* 000002E5 push dx */ 0x52, - /* 000002E6 push ax */ 0x50, - /* 000002E7 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 000002EA mov ax,0x6 */ 0xB8, 0x06, 0x00, - /* 000002ED out dx,ax */ 0xEF, - /* 000002EE mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 000002F1 mov ax,0x400 */ 0xB8, 0x00, 0x04, - /* 000002F4 out dx,ax */ 0xEF, - /* 000002F5 pop ax */ 0x58, - /* 000002F6 pop dx */ 0x5A, - /* 000002F7 push dx */ 0x52, - /* 000002F8 push ax */ 0x50, - /* 000002F9 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 000002FC mov ax,0x2 */ 0xB8, 0x02, 0x00, - /* 000002FF out dx,ax */ 0xEF, - /* 00000300 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 00000303 mov ax,0x300 */ 0xB8, 0x00, 0x03, - /* 00000306 out dx,ax */ 0xEF, - /* 00000307 pop ax */ 0x58, - /* 00000308 pop dx */ 0x5A, - /* 00000309 push dx */ 0x52, - /* 0000030A push ax */ 0x50, - /* 0000030B mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 0000030E mov ax,0x7 */ 0xB8, 0x07, 0x00, - /* 00000311 out dx,ax */ 0xEF, - /* 00000312 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 00000315 mov ax,0x300 */ 0xB8, 0x00, 0x03, - /* 00000318 out dx,ax */ 0xEF, - /* 00000319 pop ax */ 0x58, - /* 0000031A pop dx */ 0x5A, - /* 0000031B push dx */ 0x52, - /* 0000031C push ax */ 0x50, - /* 0000031D mov dx,0x1ce */ 0xBA, 0xCE, 0x01, - /* 00000320 mov ax,0x4 */ 0xB8, 0x04, 0x00, - /* 00000323 out dx,ax */ 0xEF, - /* 00000324 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, - /* 00000327 mov ax,0x41 */ 0xB8, 0x41, 0x00, - /* 0000032A out dx,ax */ 0xEF, - /* 0000032B pop ax */ 0x58, - /* 0000032C pop dx */ 0x5A, - /* 0000032D pop ax */ 0x58, - /* 0000032E pop dx */ 0x5A, - /* 0000032F jmp short 0x34c */ 0xEB, 0x1B, - /* 00000331 mov bx,0x40f1 */ 0xBB, 0xF1, 0x40, - /* 00000334 jmp short 0x34c */ 0xEB, 0x16, - /* 00000336 jmp short 0x350 */ 0xEB, 0x18, - /* 00000338 jmp short 0x350 */ 0xEB, 0x16, - /* 0000033A cmp al,0x3 */ 0x3C, 0x03, - /* 0000033C jz 0x345 */ 0x74, 0x07, - /* 0000033E cmp al,0x12 */ 0x3C, 0x12, - /* 00000340 jz 0x349 */ 0x74, 0x07, - /* 00000342 jmp word 0x22b */ 0xE9, 0xE6, 0xFE, - /* 00000345 mov al,0x30 */ 0xB0, 0x30, - /* 00000347 jmp short 0x34b */ 0xEB, 0x02, - /* 00000349 mov al,0x20 */ 0xB0, 0x20, - /* 0000034B iretw */ 0xCF, - /* 0000034C mov ax,0x4f */ 0xB8, 0x4F, 0x00, - /* 0000034F iretw */ 0xCF, - /* 00000350 mov ax,0x14f */ 0xB8, 0x4F, 0x01, - /* 00000353 iretw */ 0xCF, + /* 00000227 jz word 0x382 */ 0x0F, 0x84, 0x57, 0x01, + /* 0000022B push si */ 0x56, + /* 0000022C mov si,0x3e9 */ 0xBE, 0xE9, 0x03, + /* 0000022F call word 0x3c4 */ 0xE8, 0x92, 0x01, + /* 00000232 pop si */ 0x5E, + /* 00000233 jmp short 0x233 */ 0xEB, 0xFE, + /* 00000235 push es */ 0x06, + /* 00000236 push di */ 0x57, + /* 00000237 push ds */ 0x1E, + /* 00000238 push si */ 0x56, + /* 00000239 push cx */ 0x51, + /* 0000023A push si */ 0x56, + /* 0000023B mov si,0x3fb */ 0xBE, 0xFB, 0x03, + /* 0000023E call word 0x3c4 */ 0xE8, 0x83, 0x01, + /* 00000241 pop si */ 0x5E, + /* 00000242 push cs */ 0x0E, + /* 00000243 pop ds */ 0x1F, + /* 00000244 mov si,0x0 */ 0xBE, 0x00, 0x00, + /* 00000247 mov cx,0x100 */ 0xB9, 0x00, 0x01, + /* 0000024A cld */ 0xFC, + /* 0000024B rep movsb */ 0xF3, 0xA4, + /* 0000024D pop cx */ 0x59, + /* 0000024E pop si */ 0x5E, + /* 0000024F pop ds */ 0x1F, + /* 00000250 pop di */ 0x5F, + /* 00000251 pop es */ 0x07, + /* 00000252 jmp word 0x3ac */ 0xE9, 0x57, 0x01, + /* 00000255 push es */ 0x06, + /* 00000256 push di */ 0x57, + /* 00000257 push ds */ 0x1E, + /* 00000258 push si */ 0x56, + /* 00000259 push cx */ 0x51, + /* 0000025A push si */ 0x56, + /* 0000025B mov si,0x404 */ 0xBE, 0x04, 0x04, + /* 0000025E call word 0x3c4 */ 0xE8, 0x63, 0x01, + /* 00000261 pop si */ 0x5E, + /* 00000262 and cx,0xbfff */ 0x81, 0xE1, 0xFF, 0xBF, + /* 00000266 cmp cx,0xf1 */ 0x81, 0xF9, 0xF1, 0x00, + /* 0000026A jz 0x276 */ 0x74, 0x0A, + /* 0000026C push si */ 0x56, + /* 0000026D mov si,0x432 */ 0xBE, 0x32, 0x04, + /* 00000270 call word 0x3c4 */ 0xE8, 0x51, 0x01, + /* 00000273 pop si */ 0x5E, + /* 00000274 jmp short 0x233 */ 0xEB, 0xBD, + /* 00000276 push cs */ 0x0E, + /* 00000277 pop ds */ 0x1F, + /* 00000278 mov si,0x100 */ 0xBE, 0x00, 0x01, + /* 0000027B mov cx,0x100 */ 0xB9, 0x00, 0x01, + /* 0000027E cld */ 0xFC, + /* 0000027F rep movsb */ 0xF3, 0xA4, + /* 00000281 pop cx */ 0x59, + /* 00000282 pop si */ 0x5E, + /* 00000283 pop ds */ 0x1F, + /* 00000284 pop di */ 0x5F, + /* 00000285 pop es */ 0x07, + /* 00000286 jmp word 0x3ac */ 0xE9, 0x23, 0x01, + /* 00000289 push dx */ 0x52, + /* 0000028A push ax */ 0x50, + /* 0000028B push si */ 0x56, + /* 0000028C mov si,0x41a */ 0xBE, 0x1A, 0x04, + /* 0000028F call word 0x3c4 */ 0xE8, 0x32, 0x01, + /* 00000292 pop si */ 0x5E, + /* 00000293 cmp bx,0x40f1 */ 0x81, 0xFB, 0xF1, 0x40, + /* 00000297 jz 0x2a3 */ 0x74, 0x0A, + /* 00000299 push si */ 0x56, + /* 0000029A mov si,0x432 */ 0xBE, 0x32, 0x04, + /* 0000029D call word 0x3c4 */ 0xE8, 0x24, 0x01, + /* 000002A0 pop si */ 0x5E, + /* 000002A1 jmp short 0x233 */ 0xEB, 0x90, + /* 000002A3 mov dx,0x3c0 */ 0xBA, 0xC0, 0x03, + /* 000002A6 mov al,0x20 */ 0xB0, 0x20, + /* 000002A8 out dx,al */ 0xEE, + /* 000002A9 push dx */ 0x52, + /* 000002AA push ax */ 0x50, + /* 000002AB mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 000002AE mov ax,0x4 */ 0xB8, 0x04, 0x00, + /* 000002B1 out dx,ax */ 0xEF, + /* 000002B2 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 000002B5 mov ax,0x0 */ 0xB8, 0x00, 0x00, + /* 000002B8 out dx,ax */ 0xEF, + /* 000002B9 pop ax */ 0x58, + /* 000002BA pop dx */ 0x5A, + /* 000002BB push dx */ 0x52, + /* 000002BC push ax */ 0x50, + /* 000002BD mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 000002C0 mov ax,0x5 */ 0xB8, 0x05, 0x00, + /* 000002C3 out dx,ax */ 0xEF, + /* 000002C4 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 000002C7 mov ax,0x0 */ 0xB8, 0x00, 0x00, + /* 000002CA out dx,ax */ 0xEF, + /* 000002CB pop ax */ 0x58, + /* 000002CC pop dx */ 0x5A, + /* 000002CD push dx */ 0x52, + /* 000002CE push ax */ 0x50, + /* 000002CF mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 000002D2 mov ax,0x8 */ 0xB8, 0x08, 0x00, + /* 000002D5 out dx,ax */ 0xEF, + /* 000002D6 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 000002D9 mov ax,0x0 */ 0xB8, 0x00, 0x00, + /* 000002DC out dx,ax */ 0xEF, + /* 000002DD pop ax */ 0x58, + /* 000002DE pop dx */ 0x5A, + /* 000002DF push dx */ 0x52, + /* 000002E0 push ax */ 0x50, + /* 000002E1 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 000002E4 mov ax,0x9 */ 0xB8, 0x09, 0x00, + /* 000002E7 out dx,ax */ 0xEF, + /* 000002E8 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 000002EB mov ax,0x0 */ 0xB8, 0x00, 0x00, + /* 000002EE out dx,ax */ 0xEF, + /* 000002EF pop ax */ 0x58, + /* 000002F0 pop dx */ 0x5A, + /* 000002F1 push dx */ 0x52, + /* 000002F2 push ax */ 0x50, + /* 000002F3 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 000002F6 mov ax,0x3 */ 0xB8, 0x03, 0x00, + /* 000002F9 out dx,ax */ 0xEF, + /* 000002FA mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 000002FD mov ax,0x20 */ 0xB8, 0x20, 0x00, + /* 00000300 out dx,ax */ 0xEF, + /* 00000301 pop ax */ 0x58, + /* 00000302 pop dx */ 0x5A, + /* 00000303 push dx */ 0x52, + /* 00000304 push ax */ 0x50, + /* 00000305 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 00000308 mov ax,0x1 */ 0xB8, 0x01, 0x00, + /* 0000030B out dx,ax */ 0xEF, + /* 0000030C mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 0000030F mov ax,0x400 */ 0xB8, 0x00, 0x04, + /* 00000312 out dx,ax */ 0xEF, + /* 00000313 pop ax */ 0x58, + /* 00000314 pop dx */ 0x5A, + /* 00000315 push dx */ 0x52, + /* 00000316 push ax */ 0x50, + /* 00000317 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 0000031A mov ax,0x6 */ 0xB8, 0x06, 0x00, + /* 0000031D out dx,ax */ 0xEF, + /* 0000031E mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 00000321 mov ax,0x400 */ 0xB8, 0x00, 0x04, + /* 00000324 out dx,ax */ 0xEF, + /* 00000325 pop ax */ 0x58, + /* 00000326 pop dx */ 0x5A, + /* 00000327 push dx */ 0x52, + /* 00000328 push ax */ 0x50, + /* 00000329 mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 0000032C mov ax,0x2 */ 0xB8, 0x02, 0x00, + /* 0000032F out dx,ax */ 0xEF, + /* 00000330 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 00000333 mov ax,0x300 */ 0xB8, 0x00, 0x03, + /* 00000336 out dx,ax */ 0xEF, + /* 00000337 pop ax */ 0x58, + /* 00000338 pop dx */ 0x5A, + /* 00000339 push dx */ 0x52, + /* 0000033A push ax */ 0x50, + /* 0000033B mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 0000033E mov ax,0x7 */ 0xB8, 0x07, 0x00, + /* 00000341 out dx,ax */ 0xEF, + /* 00000342 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 00000345 mov ax,0x300 */ 0xB8, 0x00, 0x03, + /* 00000348 out dx,ax */ 0xEF, + /* 00000349 pop ax */ 0x58, + /* 0000034A pop dx */ 0x5A, + /* 0000034B push dx */ 0x52, + /* 0000034C push ax */ 0x50, + /* 0000034D mov dx,0x1ce */ 0xBA, 0xCE, 0x01, + /* 00000350 mov ax,0x4 */ 0xB8, 0x04, 0x00, + /* 00000353 out dx,ax */ 0xEF, + /* 00000354 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01, + /* 00000357 mov ax,0x41 */ 0xB8, 0x41, 0x00, + /* 0000035A out dx,ax */ 0xEF, + /* 0000035B pop ax */ 0x58, + /* 0000035C pop dx */ 0x5A, + /* 0000035D pop ax */ 0x58, + /* 0000035E pop dx */ 0x5A, + /* 0000035F jmp short 0x3ac */ 0xEB, 0x4B, + /* 00000361 push si */ 0x56, + /* 00000362 mov si,0x411 */ 0xBE, 0x11, 0x04, + /* 00000365 call word 0x3c4 */ 0xE8, 0x5C, 0x00, + /* 00000368 pop si */ 0x5E, + /* 00000369 mov bx,0x40f1 */ 0xBB, 0xF1, 0x40, + /* 0000036C jmp short 0x3ac */ 0xEB, 0x3E, + /* 0000036E push si */ 0x56, + /* 0000036F mov si,0x43f */ 0xBE, 0x3F, 0x04, + /* 00000372 call word 0x3c4 */ 0xE8, 0x4F, 0x00, + /* 00000375 pop si */ 0x5E, + /* 00000376 jmp short 0x3b8 */ 0xEB, 0x40, + /* 00000378 push si */ 0x56, + /* 00000379 mov si,0x452 */ 0xBE, 0x52, 0x04, + /* 0000037C call word 0x3c4 */ 0xE8, 0x45, 0x00, + /* 0000037F pop si */ 0x5E, + /* 00000380 jmp short 0x3b8 */ 0xEB, 0x36, + /* 00000382 push si */ 0x56, + /* 00000383 mov si,0x423 */ 0xBE, 0x23, 0x04, + /* 00000386 call word 0x3c4 */ 0xE8, 0x3B, 0x00, + /* 00000389 pop si */ 0x5E, + /* 0000038A cmp al,0x3 */ 0x3C, 0x03, + /* 0000038C jz 0x39d */ 0x74, 0x0F, + /* 0000038E cmp al,0x12 */ 0x3C, 0x12, + /* 00000390 jz 0x3a1 */ 0x74, 0x0F, + /* 00000392 push si */ 0x56, + /* 00000393 mov si,0x432 */ 0xBE, 0x32, 0x04, + /* 00000396 call word 0x3c4 */ 0xE8, 0x2B, 0x00, + /* 00000399 pop si */ 0x5E, + /* 0000039A jmp word 0x233 */ 0xE9, 0x96, 0xFE, + /* 0000039D mov al,0x30 */ 0xB0, 0x30, + /* 0000039F jmp short 0x3a3 */ 0xEB, 0x02, + /* 000003A1 mov al,0x20 */ 0xB0, 0x20, + /* 000003A3 push si */ 0x56, + /* 000003A4 mov si,0x3d6 */ 0xBE, 0xD6, 0x03, + /* 000003A7 call word 0x3c4 */ 0xE8, 0x1A, 0x00, + /* 000003AA pop si */ 0x5E, + /* 000003AB iretw */ 0xCF, + /* 000003AC push si */ 0x56, + /* 000003AD mov si,0x3d6 */ 0xBE, 0xD6, 0x03, + /* 000003B0 call word 0x3c4 */ 0xE8, 0x11, 0x00, + /* 000003B3 pop si */ 0x5E, + /* 000003B4 mov ax,0x4f */ 0xB8, 0x4F, 0x00, + /* 000003B7 iretw */ 0xCF, + /* 000003B8 push si */ 0x56, + /* 000003B9 mov si,0x3dc */ 0xBE, 0xDC, 0x03, + /* 000003BC call word 0x3c4 */ 0xE8, 0x05, 0x00, + /* 000003BF pop si */ 0x5E, + /* 000003C0 mov ax,0x14f */ 0xB8, 0x4F, 0x01, + /* 000003C3 iretw */ 0xCF, + /* 000003C4 pushaw */ 0x60, + /* 000003C5 push ds */ 0x1E, + /* 000003C6 push cs */ 0x0E, + /* 000003C7 pop ds */ 0x1F, + /* 000003C8 mov dx,0x402 */ 0xBA, 0x02, 0x04, + /* 000003CB lodsb */ 0xAC, + /* 000003CC cmp al,0x0 */ 0x3C, 0x00, + /* 000003CE jz 0x3d3 */ 0x74, 0x03, + /* 000003D0 out dx,al */ 0xEE, + /* 000003D1 jmp short 0x3cb */ 0xEB, 0xF8, + /* 000003D3 pop ds */ 0x1F, + /* 000003D4 popaw */ 0x61, + /* 000003D5 ret */ 0xC3, + /* 000003D6 inc bp */ 0x45, + /* 000003D7 js 0x442 */ 0x78, 0x69, + /* 000003D9 jz 0x3e5 */ 0x74, 0x0A, + /* 000003DB add [di+0x6e],dl */ 0x00, 0x55, 0x6E, + /* 000003DE jnc 0x455 */ 0x73, 0x75, + /* 000003E0 jo 0x452 */ 0x70, 0x70, + /* 000003E2 outsw */ 0x6F, + /* 000003E3 jc 0x459 */ 0x72, 0x74, + /* 000003E5 or al,[fs:bx+si] */ 0x65, 0x64, 0x0A, 0x00, + /* 000003E9 push bp */ 0x55, + /* 000003EA outsb */ 0x6E, + /* 000003EB imul bp,[bp+0x6f],byte +0x77 */ 0x6B, 0x6E, 0x6F, 0x77, + /* 000003EF outsb */ 0x6E, + /* 000003F0 and [bp+0x75],al */ 0x20, 0x46, 0x75, + /* 000003F3 outsb */ 0x6E, + /* 000003F4 arpl [si+0x69],si */ 0x63, 0x74, 0x69, + /* 000003F7 outsw */ 0x6F, + /* 000003F8 outsb */ 0x6E, + /* 000003F9 or al,[bx+si] */ 0x0A, 0x00, + /* 000003FB inc di */ 0x47, + /* 000003FC gs jz 0x448 */ 0x65, 0x74, 0x49, + /* 000003FF outsb */ 0x6E, + /* 00000400 outsd */ 0x66, 0x6F, + /* 00000402 or al,[bx+si] */ 0x0A, 0x00, + /* 00000404 inc di */ 0x47, + /* 00000405 gs jz 0x455 */ 0x65, 0x74, 0x4D, + /* 00000408 outsw */ 0x6F, + /* 00000409 gs dec cx */ 0x64, 0x65, 0x49, + /* 0000040C outsb */ 0x6E, + /* 0000040D outsd */ 0x66, 0x6F, + /* 0000040F or al,[bx+si] */ 0x0A, 0x00, + /* 00000411 inc di */ 0x47, + /* 00000412 gs jz 0x462 */ 0x65, 0x74, 0x4D, + /* 00000415 outsw */ 0x6F, + /* 00000416 or al,[gs:bx+si] */ 0x64, 0x65, 0x0A, 0x00, + /* 0000041A push bx */ 0x53, + /* 0000041B gs jz 0x46b */ 0x65, 0x74, 0x4D, + /* 0000041E outsw */ 0x6F, + /* 0000041F or al,[gs:bx+si] */ 0x64, 0x65, 0x0A, 0x00, + /* 00000423 push bx */ 0x53, + /* 00000424 gs jz 0x474 */ 0x65, 0x74, 0x4D, + /* 00000427 outsw */ 0x6F, + /* 00000428 gs dec sp */ 0x64, 0x65, 0x4C, + /* 0000042B gs a32 popaw */ 0x65, 0x67, 0x61, + /* 0000042E arpl [bx+di+0xa],di */ 0x63, 0x79, 0x0A, + /* 00000431 add [di+0x6e],dl */ 0x00, 0x55, 0x6E, + /* 00000434 imul bp,[bx+0x77],byte +0x6e */ 0x6B, 0x6F, 0x77, 0x6E, + /* 00000438 and [di+0x6f],cl */ 0x20, 0x4D, 0x6F, + /* 0000043B or al,[gs:bx+si] */ 0x64, 0x65, 0x0A, 0x00, + /* 0000043F inc di */ 0x47, + /* 00000440 gs jz 0x493 */ 0x65, 0x74, 0x50, + /* 00000443 insw */ 0x6D, + /* 00000444 inc bx */ 0x43, + /* 00000445 popaw */ 0x61, + /* 00000446 jo 0x4a9 */ 0x70, 0x61, + /* 00000448 bound bp,[bx+di+0x6c] */ 0x62, 0x69, 0x6C, + /* 0000044B imul si,[si+0x69],word 0x7365 */ 0x69, 0x74, 0x69, 0x65, 0x73, + /* 00000450 or al,[bx+si] */ 0x0A, 0x00, + /* 00000452 push dx */ 0x52, + /* 00000453 gs popaw */ 0x65, 0x61, + /* 00000455 fs inc bp */ 0x64, 0x45, + /* 00000457 fs */ 0x64, + /* 00000458 db 0x69 */ 0x69, + /* 00000459 or al,[fs:bx+si] */ 0x64, 0x0A, 0x00, }; #endif -- 2.18.1