xref: /haiku/src/system/boot/platform/next_m68k/shell.S (revision ec5a799719c0aa9cc6f559fb7b5468fe2445539f)
1*ec5a7997SFrançois Revol/*
2*ec5a7997SFrançois Revol * Copyright 2020, François Revol, revol@free.fr. All rights reserved.
3*ec5a7997SFrançois Revol * Copyright 2007, Haiku, Inc. All Rights Reserved.
4*ec5a7997SFrançois Revol * Distributed under the terms of the MIT license.
5*ec5a7997SFrançois Revol */
6*ec5a7997SFrançois Revol
7*ec5a7997SFrançois Revol/**	This file contains the entry point for the NeXT loader.
8*ec5a7997SFrançois Revol */
9*ec5a7997SFrançois Revol
10*ec5a7997SFrançois Revol/*
11*ec5a7997SFrançois Revol * references :
12*ec5a7997SFrançois Revol * NetBSD sys/arch/next68k/stand/boot/srt0.s
13*ec5a7997SFrançois Revol */
14*ec5a7997SFrançois Revol
15*ec5a7997SFrançois Revol #include <asm_defs.h>
16*ec5a7997SFrançois Revol
17*ec5a7997SFrançois Revol
18*ec5a7997SFrançois Revol// 1 enable verbose output
19*ec5a7997SFrançois Revol//#define DEBUG 1
20*ec5a7997SFrançois Revol
21*ec5a7997SFrançois Revol#define GLOBAL(x) .globl x ; x
22*ec5a7997SFrançois Revol//#define FUNCTION(x) .global x; .type x,@function; x
23*ec5a7997SFrançois Revol
24*ec5a7997SFrançois Revol
25*ec5a7997SFrançois Revol.text
26*ec5a7997SFrançois Revol
27*ec5a7997SFrançois Revol
28*ec5a7997SFrançois RevolSYMBOL(_start):
29*ec5a7997SFrançois Revol	// find the monitor vector and push it
30*ec5a7997SFrançois Revol	movec	%vbr,%a3
31*ec5a7997SFrançois Revol	movel	%a3@(4),-(%sp)
32*ec5a7997SFrançois Revol	// push the arg (bootarg)
33*ec5a7997SFrançois Revol	movel	%sp@(8),-(%sp)
34*ec5a7997SFrançois Revol	jsr	start_next
35*ec5a7997SFrançois Revol	addql	#8,%sp
36*ec5a7997SFrançois Revol	rts
37*ec5a7997SFrançois RevolSYMBOL_END(_start)
38*ec5a7997SFrançois Revol
39*ec5a7997SFrançois Revol
40