Blame SOURCES/0005-OvmfPkg-QemuVideoDxe-enable-debug-messages-in-VbeShi.patch

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