[BACK]Return to start.S CVS log [TXT][DIR] Up to [local] / sys / arch / alpha / stand

Annotation of sys/arch/alpha/stand/start.S, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: start.S,v 1.5 2005/08/29 11:20:55 mickey Exp $        */
        !             2: /*     $NetBSD: start.S,v 1.4 1996/10/17 02:50:40 cgd Exp $    */
        !             3:
        !             4: /*
        !             5:  * Mach Operating System
        !             6:  * Copyright (c) 1992 Carnegie Mellon University
        !             7:  * All Rights Reserved.
        !             8:  *
        !             9:  * Permission to use, copy, modify and distribute this software and its
        !            10:  * documentation is hereby granted, provided that both the copyright
        !            11:  * notice and this permission notice appear in all copies of the
        !            12:  * software, derivative works or modified versions, and any portions
        !            13:  * thereof, and that both notices appear in supporting documentation.
        !            14:  *
        !            15:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
        !            16:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
        !            17:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
        !            18:  *
        !            19:  * Carnegie Mellon requests users of this software to return to
        !            20:  *
        !            21:  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
        !            22:  *  School of Computer Science
        !            23:  *  Carnegie Mellon University
        !            24:  *  Pittsburgh PA 15213-3890
        !            25:  *
        !            26:  * any improvements or extensions that they make and grant Carnegie Mellon
        !            27:  * the rights to redistribute these changes.
        !            28:  */
        !            29:
        !            30: #include "include/asm.h"
        !            31:
        !            32: /*
        !            33:  * start --
        !            34:  *     Entry point for boot/standalone programs.
        !            35:  *
        !            36:  * Arguments:
        !            37:  *     a0                              long (first free physical page)
        !            38:  *
        !            39:  * This is where the prom comes to.  Leaves all exception and interrupts
        !            40:  * to prom, runs off prom's stack too.  No return values.
        !            41:  */
        !            42:        .text
        !            43:        .set    noreorder               /* don't reorder instructions */
        !            44:
        !            45: #define ENTRY_FRAME    32
        !            46:
        !            47: NESTED(start, 1, ENTRY_FRAME, ra, 0, 0)
        !            48:        br      pv,Lstartgp
        !            49: Lstartgp:
        !            50:        LDGP(pv)
        !            51:
        !            52:        lda     sp,start
        !            53: #ifdef PRIMARY_BOOTBLOCK
        !            54:        lda     sp,0x30000-ENTRY_FRAME(sp)
        !            55: #else
        !            56:        lda     sp,-ENTRY_FRAME(sp)     /* start stack below text */
        !            57: #endif
        !            58:
        !            59:        lda     a0,_edata
        !            60:        lda     a1,_end
        !            61:        subq    a1,a0,a1
        !            62:        CALL(bzero)
        !            63:
        !            64:        CALL(main)                      /* transfer to C */
        !            65:
        !            66: XLEAF(_rtt, 0)
        !            67: XLEAF(halt, 0)
        !            68:        call_pal PAL_halt               /* halt if we ever return */
        !            69: END(start)
        !            70:
        !            71: /*
        !            72:  * Dummy routine for GCC2.
        !            73:  */
        !            74: LEAF(__main,0)
        !            75:        RET
        !            76: END(__main)
        !            77:
        !            78: /*
        !            79:  * cpu_number
        !            80:  *     Return the cpu number, using the whami instruction.
        !            81:  */
        !            82: LEAF(cpu_number, 0)
        !            83:        call_pal PAL_VMS_mfpr_whami
        !            84:        RET
        !            85: END(cpu_number)

CVSweb