summaryrefslogtreecommitdiff
path: root/sysdeps/standalone/m68k/m68020
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/standalone/m68k/m68020')
-rw-r--r--sysdeps/standalone/m68k/m68020/Dist1
-rw-r--r--sysdeps/standalone/m68k/m68020/m68020.h87
-rw-r--r--sysdeps/standalone/m68k/m68020/mvme135/Implies2
-rw-r--r--sysdeps/standalone/m68k/m68020/mvme136/Dist1
-rw-r--r--sysdeps/standalone/m68k/m68020/mvme136/Makefile23
-rw-r--r--sysdeps/standalone/m68k/m68020/mvme136/_exit.c50
-rw-r--r--sysdeps/standalone/m68k/m68020/mvme136/brdinit.c51
-rw-r--r--sysdeps/standalone/m68k/m68020/mvme136/console.c101
-rw-r--r--sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld61
-rw-r--r--sysdeps/standalone/m68k/m68020/start.S172
10 files changed, 0 insertions, 549 deletions
diff --git a/sysdeps/standalone/m68k/m68020/Dist b/sysdeps/standalone/m68k/m68020/Dist
deleted file mode 100644
index 90b37b40eb..0000000000
--- a/sysdeps/standalone/m68k/m68020/Dist
+++ /dev/null
@@ -1 +0,0 @@
-m68020.h
diff --git a/sysdeps/standalone/m68k/m68020/m68020.h b/sysdeps/standalone/m68k/m68020/m68020.h
deleted file mode 100644
index 8eee00753e..0000000000
--- a/sysdeps/standalone/m68k/m68020/m68020.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
- Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
- On-Line Applications Research Corporation.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* m68020.h
- *
- * This file contains macros which are used to access MC68020
- * registers which are not addressable by C. These are
- * useful when developing the board specific support.
- */
-
-#ifndef m68020_h__
-#define m68020_h__
-
-typedef void ( *mc68020_isr )( void );
-
-#define disable_intr( level ) \
- { (level) = 0; \
- asm volatile ( "movew %%sr,%0 ; \
- orw #0x0700,%%sr" \
- : "=d" ((level)) : "0" ((level)) ); \
- }
-
-#define enable_intr( level ) \
- { asm volatile ( "movew %0,%%sr " \
- : "=d" ((level)) : "0" ((level)) ); \
- }
-
-#define flash_intr( level ) \
- { asm volatile ( "movew %0,%%sr ; \
- orw #0x0700,%%sr" \
- : "=d" ((level)) : "0" ((level)) ); \
- }
-
-#define get_vbr( vbr ) \
- { (vbr) = 0; \
- asm volatile ( "movec %%vbr,%0 " \
- : "=a" (vbr) : "0" (vbr) ); \
- }
-
-#define set_vbr( vbr ) \
- { register mc68020_isr *_vbr= (mc68020_isr *)(vbr); \
- asm volatile ( "movec %0,%%vbr " \
- : "=a" (_vbr) : "0" (_vbr) ); \
- }
-
-#define enable_caching() \
- { register unsigned int _ctl=0x01; \
- asm volatile ( "movec %0,%%cacr" \
- : "=d" (_ctl) : "0" (_ctl) ); \
- }
-
-#define delay( microseconds ) \
- { register unsigned int _delay=(microseconds); \
- register unsigned int _tmp=123; \
- asm volatile( "0: \
- nbcd %0 ; \
- nbcd %0 ; \
- dbf %1,0 " \
- : "=d" (_tmp), "=d" (_delay) \
- : "0" (_tmp), "1" (_delay) ); \
- }
-
-#define enable_tracing()
-#define cause_intr( X )
-#define clear_intr( X )
-
-extern mc68020_isr M68Kvec[]; /* vector table address */
-
-#endif
-/* end of include file */
diff --git a/sysdeps/standalone/m68k/m68020/mvme135/Implies b/sysdeps/standalone/m68k/m68020/mvme135/Implies
deleted file mode 100644
index 7142fe2985..0000000000
--- a/sysdeps/standalone/m68k/m68020/mvme135/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-# Motorola MVME135 and MVME136 are compatible.
-standalone/m68k/m68020/mvme136
diff --git a/sysdeps/standalone/m68k/m68020/mvme136/Dist b/sysdeps/standalone/m68k/m68020/mvme136/Dist
deleted file mode 100644
index 97b90583eb..0000000000
--- a/sysdeps/standalone/m68k/m68020/mvme136/Dist
+++ /dev/null
@@ -1 +0,0 @@
-mvme136.ld
diff --git a/sysdeps/standalone/m68k/m68020/mvme136/Makefile b/sysdeps/standalone/m68k/m68020/mvme136/Makefile
deleted file mode 100644
index 122c1b183e..0000000000
--- a/sysdeps/standalone/m68k/m68020/mvme136/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 1993, 1997 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
-# On-Line Applications Research Corporation.
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-# 02111-1307 USA.
-
-ifeq (bare,$(subdir))
-install-lib += mvme136.ld
-endif
diff --git a/sysdeps/standalone/m68k/m68020/mvme136/_exit.c b/sysdeps/standalone/m68k/m68020/mvme136/_exit.c
deleted file mode 100644
index e5e078c198..0000000000
--- a/sysdeps/standalone/m68k/m68020/mvme136/_exit.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 1994, 1997, 1999 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
- On-Line Applications Research Corporation.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <unistd.h>
-#include <stdlib.h>
-#include "m68020.h"
-
-/* Return control to 135Bug */
-
-void
-__exit_trap ()
-{
- set_vbr( 0 ); /* restore 135Bug vectors */
- asm volatile( "trap #15" ); /* trap to 135Bug */
- asm volatile( ".short 0x63" ); /* return to 135Bug (.RETURN) */
- asm volatile( "jmp main" ); /* restart program */
-}
-
-/* The function `_exit' should take a status argument and simply
- terminate program execution, using the low-order 8 bits of the
- given integer as status. */
-
-void
-__attribute__ ((noreturn))
-_exit (status)
- int status;
-{
- /* status is ignored */
-
- M68Kvec[ 45 ] = __exit_trap; /* install exit_trap handler */
- asm volatile( "trap #13" ); /* insures SUPV mode */
-}
-weak_alias (_exit, _Exit)
diff --git a/sysdeps/standalone/m68k/m68020/mvme136/brdinit.c b/sysdeps/standalone/m68k/m68020/mvme136/brdinit.c
deleted file mode 100644
index 95b81c1e1b..0000000000
--- a/sysdeps/standalone/m68k/m68020/mvme136/brdinit.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
- On-Line Applications Research Corporation.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <standalone.h>
-#include "m68020.h"
-
-/* _Board_Initialize()
-
-This routine initializes the Motorola MVME135/MVME136. */
-
-void
-_Board_Initialize ()
-{
- mc68020_isr *monitors_vector_table;
- int index;
-
- monitors_vector_table = (mc68020_isr *)0; /* 135Bug Vectors are at 0 */
- set_vbr( monitors_vector_table );
-
- for ( index=2 ; index<=255 ; index++ )
- M68Kvec[ index ] = monitors_vector_table[ 32 ];
-
- M68Kvec[ 2 ] = monitors_vector_table[ 2 ]; /* bus error vector */
- M68Kvec[ 4 ] = monitors_vector_table[ 4 ]; /* breakpoints vector */
- M68Kvec[ 9 ] = monitors_vector_table[ 9 ]; /* trace vector */
- M68Kvec[ 47 ] = monitors_vector_table[ 47 ]; /* system call vector */
-
- set_vbr( &M68Kvec );
-
- (*(unsigned char *)0xfffb0067) = 0x7f; /* make VME access round-robin */
-
- enable_caching ();
-
-}
diff --git a/sysdeps/standalone/m68k/m68020/mvme136/console.c b/sysdeps/standalone/m68k/m68020/mvme136/console.c
deleted file mode 100644
index 85dee983bf..0000000000
--- a/sysdeps/standalone/m68k/m68020/mvme136/console.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright (C) 1994, 1996 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
- On-Line Applications Research Corporation.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <standalone.h>
-#include "m68020.h"
-
-/* Console IO routines for a Motorola MVME135/MVME136 board.
-
-They currently use the B port. It should be possible to
-use the A port by filling in the reset of the chip structure,
-adding an ifdef for PORTA/PORTB, and switching the addresses,
-and maybe the macros based on the macro. */
-
-/* M68681 DUART chip register structures and constants */
-
-typedef struct {
- volatile unsigned char fill1[ 5 ]; /* channel A regs ( not used ) */
- volatile unsigned char isr; /* interrupt status reg */
- volatile unsigned char fill2[ 2 ]; /* counter regs (not used) */
- volatile unsigned char mr1mr2b; /* MR1B and MR2B regs */
- volatile unsigned char srb; /* status reg channel B */
- volatile unsigned char fill3; /* do not access */
- volatile unsigned char rbb; /* receive buffer channel B */
- volatile unsigned char ivr; /* interrupt vector register */
-} r_m681_info;
-
-typedef struct {
- volatile unsigned char fill1[ 4 ]; /* channel A regs (not used) */
- volatile unsigned char acr; /* auxillary control reg */
- volatile unsigned char imr; /* interrupt mask reg */
- volatile unsigned char fill2[ 2 ]; /* counter regs (not used) */
- volatile unsigned char mr1mr2b; /* MR1B and MR2B regs */
- volatile unsigned char csrb; /* clock select reg */
- volatile unsigned char crb; /* command reg */
- volatile unsigned char tbb; /* transmit buffer channel B */
- volatile unsigned char ivr; /* interrupt vector register */
-} w_m681_info;
-
-#define RD_M68681 ((r_m681_info *)0xfffb0040) /* ptr to the M68681 */
-#define WR_M68681 ((w_m681_info *)0xfffb0040) /* ptr to the M68681 */
-#define RXRDYB 0x01 /* status reg recv ready mask */
-#define TXRDYB 0x04 /* status reg trans ready mask */
-
-/* _Console_Putc
-
-This routine transmits a character out the M68681. It supports
-XON/XOFF flow control. */
-
-#define XON 0x11 /* control-Q */
-#define XOFF 0x13 /* control-S */
-
-int
-_Console_Putc (ch)
- char ch;
-{
- while ( ! (RD_M68681->srb & TXRDYB) ) ;
- while ( RD_M68681->srb & RXRDYB ) /* must be an XOFF */
- if ( RD_M68681->rbb == XOFF )
- do {
- while ( ! (RD_M68681->srb & RXRDYB) ) ;
- } while ( RD_M68681->rbb != XON );
-
- WR_M68681->tbb = ch;
- return( 0 );
-}
-
-/* _Console_Getc
-
-This routine reads a character from the UART and returns it. */
-
-int
-_Console_Getc (poll)
- int poll;
-{
- if ( poll ) {
- if ( !(RD_M68681->srb & RXRDYB) )
- return -1;
- else
- return RD_M68681->rbb;
- } else {
- while ( !(RD_M68681->srb & RXRDYB) );
- return RD_M68681->rbb;
- }
-}
diff --git a/sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld b/sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld
deleted file mode 100644
index 9a352f0095..0000000000
--- a/sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
- Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
- On-Line Applications Research Corporation.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* This file contains directives for the GNU linker which are specific
-to the Motorola MVME136/MVME135 boards. */
-
-MEMORY
- {
- ram : org = 0x3000, l = 1M
- }
-
-/* This value is also when the space is allocated. If you change
-this one, change the other one!!! */
-
-heap_size = 0x20000;
-
-SECTIONS
-{
- .text 0x3000 :
- {
- text_start = ABSOLUTE(.) ;
- *(.text)
- etext = ALIGN( 0x10 ) ;
- }
-
- .data ADDR( .text ) + SIZEOF( .text ):
- {
- data_start = . ;
- *(.data)
- edata = ALIGN( 0x10 ) ;
- }
-
- .bss ADDR( .data ) + SIZEOF( .data ):
- {
- bss_start = . ;
- _bss_start = . ;
- *(.bss)
- *(COMMON)
- heap_memory = .;
- . += 0x20000;
- end = . ;
- _end = . ;
- }
-}
diff --git a/sysdeps/standalone/m68k/m68020/start.S b/sysdeps/standalone/m68k/m68020/start.S
deleted file mode 100644
index 166605fb4f..0000000000
--- a/sysdeps/standalone/m68k/m68020/start.S
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
- Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
- On-Line Applications Research Corporation.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The GNU Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- Note that people who make modified versions of this file are not
- obligated to grant this special exception for their modified
- versions; it is their choice whether to do so. The GNU Lesser
- General Public License gives permission to release a modified
- version without this exception; this exception also makes it
- possible to release a modified version which carries forward this
- exception.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* entry.s
- *
- * This file contains the entry point for the application.
- * The name of this entry point is compiler dependent.
- * It jumps to the BSP which is responsible for performing
- * all initialization.
- */
-
- .text
- .globl start | Default entry point
- .globl _start | Default entry point
- .globl M68Kvec | Vector Table
- .globl _M68Kvec | Vector Table
-
-start:
-_start:
-M68Kvec: | standard location for vectors
-_M68Kvec: | standard location for vectors
- nop | for linkers with problem
- | using location zero as entry
- jmp around
- .space 4088 | to avoid initial intr stack
- | from 135BUG on MVME13? as entry
- | and start code at 0x4000
-around:
- move.w %sr,initial_sr | save initial values
- movec %isp,%a0
- movel %a0,initial_isp
- movec %usp,%a0
- movel %a0,initial_usp
- movec %msp,%a0
- movel %a0,initial_msp
- oriw #0x0700,%sr | INTERRUPTS OFF!!!
-
-
-
- |
- | zero out uninitialized data area
- |
-zerobss:
- moveal #end,%a0 | find end of .bss
- moveal #_bss_start,%a1 | find beginning of .bss
- movel #0,%d0
-
-loop: movel #0,%a1@+ | to zero out uninitialized
- cmpal %a0,%a1
- jlt loop | loop until _end reached
-
- movel #heap_size,__C_heap_size | set ___C_heap_size
- movel #heap_memory,__C_heap_start | set ___C_heap_start
- moveal #interrupt_stack_end,%a0 | set interrupt stack pointer
- movec %a0,%isp
- moveal #stack_end,%a0 | set master stack pointer
- movec %a0,%msp
- moveal #stack_end,%a6 | set base pointer
- movw #0x3000,%sr | SUPV MODE,INTERRUPTS ON!!!
-
-#ifdef NEED_UNDERSCORES
- jsr __Board_Initialize | initialize the board
-#else
- jsr _Board_Initialize | initialize the board
-#endif
-
- move.l #0,%sp@- | envp = NULL
- move.l #0,%sp@- | argv = NULL
- move.l #0,%sp@- | argc = NULL
-#ifdef NEED_UNDERSCORES
- jsr ___libc_init | initialize the library and
- | call main
-#else
- jsr __libc_init | initialize the library and
- | call main
-#endif
- add.l #12,%sp
-
- move.l #0,%sp@- | argc = NULL
- jsr __exit | call the Board specific exit
- addq.l #4,%sp
-
- move.l initial_isp,%a0 | if __exit returns then we can
- movec %a0,%isp | restore the initial values
- move.l initial_usp,%a0
- movec %a0,%usp
- move.l initial_msp,%a0
- movec %a0,%msp
- move.w initial_sr,%sr
- rts
-
-
- .bss
-
-/*
- * So initial stack registers and status register can be saved.
- */
-
-#define DECLARE_SPACE(_name,_space,_align) \
- .globl _name ; \
- .align _align ; \
-_name##: .space _space
-
-#define DECLARE_LABEL(_name) \
- .globl _name ; \
-_name##:
-
-#define DECLARE_PTR(_name) DECLARE_SPACE(_name,4,2)
-#define DECLARE_U32(_name) DECLARE_SPACE(_name,4,2)
-#define DECLARE_U16(_name) DECLARE_SPACE(_name,2,1)
-
-DECLARE_U32(initial_isp)
-DECLARE_U32(initial_msp)
-DECLARE_U32(initial_usp)
-DECLARE_U16(initial_sr)
-
-/*
- * Require environment stuff
- */
-
-DECLARE_LABEL(_environ)
-DECLARE_PTR(environ)
-
-DECLARE_LABEL(__errno)
-DECLARE_LABEL(_errno)
-DECLARE_U32(errno)
-
-/*
- * Stack Size and Space
- */
-
- .set stack_size, 0x20000
-
-DECLARE_SPACE(stack_memory,stack_size,4)
-DECLARE_LABEL(stack_end)
-
-DECLARE_SPACE(interrupt_stack_memory,0x1000,4)
-DECLARE_LABEL(interrupt_stack_end)