summaryrefslogtreecommitdiffstats
path: root/stand/i386/kgzldr/start.s
diff options
context:
space:
mode:
Diffstat (limited to 'stand/i386/kgzldr/start.s')
-rw-r--r--stand/i386/kgzldr/start.s45
1 files changed, 45 insertions, 0 deletions
diff --git a/stand/i386/kgzldr/start.s b/stand/i386/kgzldr/start.s
new file mode 100644
index 0000000..550fa52
--- /dev/null
+++ b/stand/i386/kgzldr/start.s
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 1999 Global Technology Associates, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# $FreeBSD$
+#
+
+ .set entry,0x10 # kgz.entry
+
+ .globl _start
+
+# C startup code for kgzldr.
+
+_start: cld # String ops inc
+ movl $_edata,%edi # Start of bss
+ movl $_end,%ecx # Compute
+ subl %edi,%ecx # size
+ xorl %eax,%eax # Zero
+ rep # Clear
+ stosb # bss
+ pushl 0x4(%esp) # Pass howto flags
+ call boot # Call C code
+ popl %ecx # Clear stack
+ jmp *kgz+entry # To loaded code
OpenPOWER on IntegriCloud