cf58b7ccd8acf70a6a0f9637e7f0323d7c6c8768
[dragonfly.git] / sys / boot / i386 / btx / lib / btxcsu.S
1 /*
2  * Copyright (c) 1998 Robert Nordier
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are freely
6  * permitted provided that the above copyright notice and this
7  * paragraph and the following disclaimer are duplicated in all
8  * such forms.
9  *
10  * This software is provided "AS IS" and without any express or
11  * implied warranties, including, without limitation, the implied
12  * warranties of merchantability and fitness for a particular
13  * purpose.
14  *
15  * $FreeBSD: src/sys/boot/i386/btx/lib/btxcsu.s,v 1.3 1999/08/28 00:40:07 peter Exp $
16  * $DragonFly: src/sys/boot/i386/btx/lib/Attic/btxcsu.S,v 1.4 2004/07/19 01:25:02 dillon Exp $
17  */
18
19 /*
20  * BTX C startup code (ELF).
21  */
22
23 #include "../../bootasm.h"
24
25                 /*
26                  * Globals.
27                  */
28                 .global _start
29
30                 /*
31                  * Client entry point.
32                  */
33 _start:         movl %eax,__base                # Set base address
34                 movl %esp,%eax                  # Get base of arguments
35                 addl $USR_ARGSPACE-USR_ARGOFFSET,%eax
36                 movl %eax,__args
37                 call main                       # Invoke client main()
38                 call exit                       # Invoke client exit()
39
40                 /*
41                  * Data
42                  */
43                 .comm __base,4                  # Client base address
44                 .comm __args,4                  # Client arguments