aboutsummaryrefslogtreecommitdiffstats
path: root/mbr/gptmbr.S
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-02-25 14:55:45 -0800
committerH. Peter Anvin <hpa@zytor.com>2008-02-25 14:55:45 -0800
commit65b3053a5e868708e5a746b3e120902d71a45d4b (patch)
tree9713825315a5d662b9b3dfd72021e699de37be36 /mbr/gptmbr.S
parent35807ac60f87416d0a82341860f37071ebdd2577 (diff)
downloadsyslinux-65b3053a5e868708e5a746b3e120902d71a45d4b.tar.gz
syslinux-65b3053a5e868708e5a746b3e120902d71a45d4b.tar.xz
syslinux-65b3053a5e868708e5a746b3e120902d71a45d4b.zip
gptmbr: shuffle slightly to reduce register pressure
Shuffle some code slightly to reduce register pressure; no size change but this might make the code easier to follow and/or change.
Diffstat (limited to 'mbr/gptmbr.S')
-rw-r--r--mbr/gptmbr.S9
1 files changed, 3 insertions, 6 deletions
diff --git a/mbr/gptmbr.S b/mbr/gptmbr.S
index 138ac51e..80b26ed0 100644
--- a/mbr/gptmbr.S
+++ b/mbr/gptmbr.S
@@ -178,8 +178,6 @@ found_part:
stosl
movl 40(%si),%eax
movl 48(%si),%edx
- pushl %eax
- pushl %edx
call saturate_stosl /* Partition start */
subl 32(%si),%eax
@@ -188,16 +186,15 @@ found_part:
call saturate_stosl /* Partition length */
rep; movsb /* GPT entry follows MBR entry */
- popl %edx
- popl %eax
popw %si
/*
* boot: invoke the actual bootstrap. %ds:%si points to the
- * partition information in memory, and %edx:%eax to the boot sector
- * on disk.
+ * partition information in memory.
*/
boot:
+ movl (40+16)(%si),%eax
+ movl (48+16)(%si),%edx
call read_sector
cmpw $0xaa55, (bootsec+510)
jne missing_os /* Not a valid boot sector */