summaryrefslogtreecommitdiff
path: root/mbr/isohdpfx.S
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-06-27 11:43:49 -0700
committerH. Peter Anvin <hpa@zytor.com>2010-06-27 11:43:49 -0700
commit7ccf85b2a873bba3f363ad2df05457dd160c3f6d (patch)
treeb51e1f1324dff8a79d9eec9246e3d96e1a4b2d91 /mbr/isohdpfx.S
parentadd6ad3cd1f14b71b908059f0c767d51bdd5b207 (diff)
downloadsyslinux-7ccf85b2a873bba3f363ad2df05457dd160c3f6d.tar.gz
isohdpfx: update to the new !GPT protocol
Update the check for !GPT to match the updated protocol (with length). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'mbr/isohdpfx.S')
-rw-r--r--mbr/isohdpfx.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/mbr/isohdpfx.S b/mbr/isohdpfx.S
index 801115c3..0bf807e9 100644
--- a/mbr/isohdpfx.S
+++ b/mbr/isohdpfx.S
@@ -81,14 +81,16 @@ _start:
jz 1f
testb $0x7f, (%si) /* Invalid active flag field? */
jnz 1f
+ cmpb %cl, 4(%si) /* Partition type zero == invalid? */
+ je 1f
cmpl $0x58504721, %eax /* !GPT signature in EAX? */
jne 2f
- cmpb $0xee, 4(%si) /* EFI partition type? */
+ cmpb $0xed, 4(%si) /* EFI partition type? */
jne 2f
/* We have GPT partition information */
- movl (32+16)(%si), %ecx
- movl (36+16)(%si), %ebx
+ movl (32+20)(%si), %ecx
+ movl (36+20)(%si), %ebx
jmp 1f
/* We have non-GPT partition information */