x86/boot: fold branches in video handling code
authorJan Beulich <jbeulich@suse.com>
Thu, 7 Apr 2022 06:34:58 +0000 (08:34 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 7 Apr 2022 06:34:58 +0000 (08:34 +0200)
Using Jcc to branch around a JMP is necessary only in pre-386 code,
where Jcc is limited to disp8. Use the opposite Jcc directly in two
places. Since it's adjacent, also convert an ORB to TESTB.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
xen/arch/x86/boot/video.S

index 822d6d9cf1b375d6696aa081bf07687d3e68e3e7..b5af93dbc544956ac0ec290b2130d29279b71018 100644 (file)
@@ -332,8 +332,7 @@ lment:  movb    $0, (%di)
         cmpw    $0x656d, (%si)          # 'me'
         jnz     lmhx
         cmpw    $0x756e, 2(%si)         # 'nu'
-        jnz     lmhx
-        jmp     listm
+        jz      listm
 
 lmhx:   xorw    %bx, %bx                # Else => mode ID in hex
 lmhex:  lodsb
@@ -401,10 +400,8 @@ mode_set:
         cmpb    $VIDEO_FIRST_VESA>>8, %ah
         jnc     check_vesa
 
-        orb     %ah, %ah
-        jnz     setbad
-
-        jmp     setmenu
+        testb   %ah, %ah
+        jz      setmenu
 
 setbad: clc
         ret