summaryrefslogtreecommitdiffstats
path: root/sys/i386/boot/kzipboot
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1995-05-17 07:37:53 +0000
committerbde <bde@FreeBSD.org>1995-05-17 07:37:53 +0000
commit139020888fb7755adbc58de3973a9d148013aa97 (patch)
treeaaab1d2e3d1f5d5dfa1c7fde2beaf003477e7884 /sys/i386/boot/kzipboot
parentf879f636052f7f05419f0b359ca1e1d203d7962d (diff)
downloadFreeBSD-src-139020888fb7755adbc58de3973a9d148013aa97.zip
FreeBSD-src-139020888fb7755adbc58de3973a9d148013aa97.tar.gz
Reviewed by: phk
Submitted by: DI. Christian Gusenbauer <cg@scotty.edvz.uni-linz.ac.at> The `howto' arg to boot() was not supplied, so it was stack garbage (actually the return address in the boot program). I didn't use the submitted fix.
Diffstat (limited to 'sys/i386/boot/kzipboot')
-rw-r--r--sys/i386/boot/kzipboot/head.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/i386/boot/kzipboot/head.S b/sys/i386/boot/kzipboot/head.S
index a3e8e6d..e720082 100644
--- a/sys/i386/boot/kzipboot/head.S
+++ b/sys/i386/boot/kzipboot/head.S
@@ -5,6 +5,8 @@
.text
start:
cli # disable interrupts
+ pushl 4(%esp) # pass howto arg
call _boot # unpack the kernel image
+ popl %eax # discard howto arg
ljmp $CSEG, $KADDR # jump to unpacked kernel
. = start + 0x500 # skip over warm boot shit
OpenPOWER on IntegriCloud