diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2013-12-09 20:30:30 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2013-12-09 20:39:16 -0500 |
commit | feb0284e3737631a19e3f7a1c1097b8c6b40fb2f (patch) | |
tree | 13ea5d1d5ee55b6e434d92a26654c4177dd7c156 | |
parent | 41c6061d36628d1f920616ed5662e0e697278587 (diff) | |
download | seabios-feb0284e3737631a19e3f7a1c1097b8c6b40fb2f.zip seabios-feb0284e3737631a19e3f7a1c1097b8c6b40fb2f.tar.gz seabios-feb0284e3737631a19e3f7a1c1097b8c6b40fb2f.tar.bz2 |
Small improvements to irqentry_extrastack assembler.
Simplify the entry assembler slightly.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r-- | src/romlayout.S | 8 | ||||
-rw-r--r-- | vgasrc/vgaentry.S | 3 |
2 files changed, 3 insertions, 8 deletions
diff --git a/src/romlayout.S b/src/romlayout.S index 9de91a2..f6b7979 100644 --- a/src/romlayout.S +++ b/src/romlayout.S @@ -486,7 +486,6 @@ irqentry_extrastack: popl %ecx movl %edx, 12(%eax) movl %esp, 16(%eax) - movzwl %sp, %esp movw %ss, 20(%eax) movw %ds, %dx // Setup %ss/%esp and call function @@ -528,12 +527,9 @@ irqentry_arg_extrastack: popl %ecx movw %es, BREGS_es(%eax) movl %esp, BREGS_size+0(%eax) - movzwl %sp, %esp movw %ss, BREGS_size+4(%eax) - movl (%esp), %edx - movl %edx, BREGS_code(%eax) - movw 4(%esp), %dx - movw %dx, BREGS_flags(%eax) + popl BREGS_code(%eax) + popw BREGS_flags(%eax) movw %ds, %dx // Setup %ss/%esp and call function movw %dx, %ss diff --git a/vgasrc/vgaentry.S b/vgasrc/vgaentry.S index a5622b8..9854448 100644 --- a/vgasrc/vgaentry.S +++ b/vgasrc/vgaentry.S @@ -84,8 +84,7 @@ entry_10_extrastack: cld pushw %ds // Set %ds:%eax to space on ExtraStack pushl %eax - movzwl %cs:ExtraStackSeg, %eax - movl %eax, %ds + movw %cs:ExtraStackSeg, %ds movl $(CONFIG_VGA_EXTRA_STACK_SIZE-BREGS_size-8), %eax popl BREGS_eax(%eax) // Backup registers popw BREGS_ds(%eax) |