Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/hp74x/crt0.s')
-rw-r--r--libgloss/hp74x/crt0.s177
1 files changed, 0 insertions, 177 deletions
diff --git a/libgloss/hp74x/crt0.s b/libgloss/hp74x/crt0.s
deleted file mode 100644
index b5986e6a2..000000000
--- a/libgloss/hp74x/crt0.s
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * crt0.S -- startup file for hppa.
- * rob@cygnus.com (Rob Savoye)
- */
- .VERSION "0.2"
- .COPYRIGHT "crt0.S for hppa"
-
-;sp .equ %r30 ; stack pointer
-;dp .equ %r27 ; global data pointer
-;arg0 .equ %r26 ; argument
-;arg1 .equ %r25 ; argument or high part of double argument
-;arg2 .equ %r24 ; argument
-;arg3 .equ %r23 ; argument or high part of double argument
-
-#define IMM(a,b) ldil L%a,b ! ldo R%a(b),b
-#define imm(i,t) ldil LS%i,t ! addi RS%i,t,t
-
- .DATA
-
-/****
- * FIXME: these are just a gross hack so this will assemble
- ****/
-_bss_start .WORD
-_bss_end .WORD
-_foobar
- .STRINGZ "Foo Bar...\r\n"
-
-;;_SYSTEM_ID .WORD
-;; .EXPORT _SYSTEM_ID ; FIXME this is only so it'll
- ; link
-
-/*
- * Set up the standard spaces (sections) These definitions come
- * from /lib/pcc_prefix.s.
- */
- .space $TEXT$,0
-
- .SUBSPA $BOOT$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=4
- .IMPORT _start
-
-/*
- * stuff we need that's defined elsewhere.
- */
- .IMPORT main, CODE
- .IMPORT _bss_start, DATA
- .IMPORT _bss_end, DATA
- .IMPORT environ, DATA
-
-/*
- * start -- set things up so the application will run.
- *
- */
- .PROC
- .CALLINFO SAVE_SP, FRAME=48
- .EXPORT $START$,ENTRY
-$START$
-
- /* FIXME: this writes to page zero */
- ;; setup the %30 (stack pointer) with some memory
- ldil L%_stack+48,%r30
- ldo R%_stack+48(%r30),%r30 ; should be %r30 (sp) but then
- ; we'd kill our test program :-)
- ;; we need to set %r27 (global data pointer) here too
- ldil L%$global$,%r27
- ldo R%$global$(%r27),%r27 ; same problem as above
-
-/*
- * zerobss -- zero out the bss section
- */
- ; load the start of bss
- ldil L%_bss_start,%r4
- ldo R%_bss_start(%r4),%r4
-
- ; load the end of bss
- ldil L%_bss_end,%r5
- ldo R%_bss_end(%r5),%r5
-
-
-bssloop
- addi -1,%r5,%r5 ; decrement _bss_end
- stb %r0,0(0,%r5) ; we do this by bytes for now even
- ; though it's slower, it's safer
- combf,= %r4,%r5, bssloop
- nop
-
- ldi 1,%ret0
-
-/*
- * Call the main routine from the application to get it going.
- * main (argc, argv, environ)
- * We pass argv as a pointer to NULL.
- */
-
- bl main,%r2
- nop
-
- .PROCEND
-/*
- * _exit -- Exit from the application. Normally we cause a user trap
- * to return to the ROM monitor for another run, but with
- * this monitor we can't. Still, "C" wants this symbol, it
- * should be here. Jumping to 0xF0000004 jumps back into the
- * firmware, while writing a 5 to 0xFFFE0030 causes a reset.
- */
- .EXPORT _exit, ENTRY
-_exit
- .PROC
- .CALLINFO
- .ENTRY
-;; ldil L%0xf0000004,%r1
-;; bl %r1, %r2
-
- ldil L'4026531844,%r19
- ldo R'4026531844(%r19),%r19
- blr %r19, %r2
- nop
-
- ;; This just causes a breakpoint exception
-;; break 0x0e,0xa5a
-;; bv,n (%rp)
- nop
- .EXIT
- .PROCEND
-
- .subspa $UNWIND_START$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=56
- .export $UNWIND_START
-$UNWIND_START
- .subspa $UNWIND$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=64
- .subspa $UNWIND_END$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=72
- .export $UNWIND_END
-$UNWIND_END
- .subspa $RECOVER_START$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=73
- .export $RECOVER_START
-$RECOVER_START
- .subspa $RECOVER$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=80
- .subspa $RECOVER_END$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=88
- .export $RECOVER_END
-$RECOVER_END
-
-; The following declarations are, by default in the data space ($PRIVATE$)
-
-;; .space $PRIVATE$,1
-
-/*
- * Here we set up the standard date sub spaces.
- * _dp is for the WinBond board.
- *
- * Set up some room for a stack. We just grab a chunk of memory.
- * We also setup some space for the global variable space, which
- * must be done using the reserved name "$global$" so "C" code
- * can find it. The stack grows towards the higher addresses.
- */
-
- .subspa $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
- .subspa $SHORTDATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24
- .subspa $GLOBAL$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40
- .export $global$
- .export _dp
-$global$
-_dp
- .subspa $SHORTBSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=80,ZERO
- .subspa $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82,ZERO
-
- .subspa $STACK$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=88,ZERO
- .export _stack
-_stack
- .BLOCK 0x2000
-
-/*
- * The heap follows the stack. To use dynamic memory routines in an
- * application, some space MUST be assigned to the stack.
- */
-
- .subspa $HEAP$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=96,ZERO
- .export _heap
-_heap
- .end