mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
2000-09-22 Joel Sherrill <joel@OARcorp.com>
* amd.ah, cpu.c, cpu_asm.S, register.ah, sig.S, rtems/score/cpu.h: Updated and fixed minor things. Commented out offensive assembly and made applications link.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2000-09-22 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
|
* amd.ah, cpu.c, cpu_asm.S, register.ah, sig.S, rtems/score/cpu.h:
|
||||||
|
Updated and fixed minor things. Commented out offensive assembly
|
||||||
|
and made applications link.
|
||||||
|
|
||||||
2000-09-22 Joel Sherrill <joel@OARcorp.com>
|
2000-09-22 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* Makefile.am, cpu_asm.S, psmacro.ah, rtems/score/cpu.h:
|
* Makefile.am, cpu_asm.S, psmacro.ah, rtems/score/cpu.h:
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#if 0
|
||||||
|
|
||||||
; /* @(#)amd.ah 1.1 96/05/23 08:56:58, TEI */
|
; /* @(#)amd.ah 1.1 96/05/23 08:56:58, TEI */
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; Initialization values for registers after RESET
|
; Initialization values for registers after RESET
|
||||||
@@ -6,6 +8,7 @@
|
|||||||
: /* $Id$ */
|
: /* $Id$ */
|
||||||
;* File information and includes.
|
;* File information and includes.
|
||||||
|
|
||||||
|
#endif
|
||||||
.file "amd.ah"
|
.file "amd.ah"
|
||||||
.ident "@(#)amd.ah 1.1 96/05/23 08:56:58, TEI"
|
.ident "@(#)amd.ah 1.1 96/05/23 08:56:58, TEI"
|
||||||
|
|
||||||
|
|||||||
@@ -114,6 +114,18 @@ extern void intr14( void );
|
|||||||
extern void intr18( void );
|
extern void intr18( void );
|
||||||
extern void intr19( void );
|
extern void intr19( void );
|
||||||
|
|
||||||
|
/* just to link with GNU tools JRS 09/22/2000 */
|
||||||
|
asm (".global V_SPILL, V_FILL" );
|
||||||
|
asm (".global V_EPI_OS, V_BSD_OS" );
|
||||||
|
|
||||||
|
asm (".equ V_SPILL, 64" );
|
||||||
|
asm (".equ V_FILL, 65" );
|
||||||
|
|
||||||
|
asm (".equ V_BSD_OS, 66" );
|
||||||
|
asm (".equ V_EPI_OS, 69" );
|
||||||
|
|
||||||
|
/* end of just to link with GNU tools */
|
||||||
|
|
||||||
void _CPU_ISR_install_raw_handler(
|
void _CPU_ISR_install_raw_handler(
|
||||||
unsigned32 vector,
|
unsigned32 vector,
|
||||||
proc_ptr new_handler,
|
proc_ptr new_handler,
|
||||||
@@ -126,6 +138,8 @@ void _CPU_ISR_install_raw_handler(
|
|||||||
*/
|
*/
|
||||||
switch( vector )
|
switch( vector )
|
||||||
{
|
{
|
||||||
|
/* where is this code? JRS */
|
||||||
|
#if 0
|
||||||
case 14:
|
case 14:
|
||||||
_settrap( vector, intr14 );
|
_settrap( vector, intr14 );
|
||||||
break;
|
break;
|
||||||
@@ -135,6 +149,7 @@ void _CPU_ISR_install_raw_handler(
|
|||||||
case 19:
|
case 19:
|
||||||
_settrap( vector, intr19 );
|
_settrap( vector, intr19 );
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -193,7 +208,7 @@ void _CPU_Install_interrupt_stack( void )
|
|||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
*
|
*
|
||||||
* _CPU_Internal_threads_Idle_thread_body
|
* _CPU_Thread_Idle_body
|
||||||
*
|
*
|
||||||
* NOTES:
|
* NOTES:
|
||||||
*
|
*
|
||||||
@@ -208,7 +223,7 @@ void _CPU_Install_interrupt_stack( void )
|
|||||||
* hook with caution.
|
* hook with caution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void _CPU_Internal_threads_Idle_thread_body( void )
|
void _CPU_Thread_Idle_body( void )
|
||||||
{
|
{
|
||||||
|
|
||||||
for( ; ; )
|
for( ; ; )
|
||||||
|
|||||||
@@ -139,6 +139,7 @@ __CPU_Context_switch:
|
|||||||
|
|
||||||
.global _a29k_context_switch_sup
|
.global _a29k_context_switch_sup
|
||||||
_a29k_context_switch_sup:
|
_a29k_context_switch_sup:
|
||||||
|
#if 0
|
||||||
add pcb,lr2,0
|
add pcb,lr2,0
|
||||||
add kt1,lr3,0 ;move heir pointer to safe location
|
add kt1,lr3,0 ;move heir pointer to safe location
|
||||||
constn it0,SIG_SYNC
|
constn it0,SIG_SYNC
|
||||||
@@ -222,6 +223,7 @@ context_restore:
|
|||||||
spopsr ops,it1,pcb
|
spopsr ops,it1,pcb
|
||||||
nop
|
nop
|
||||||
iret
|
iret
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
;/*
|
;/*
|
||||||
@@ -242,6 +244,7 @@ context_restore:
|
|||||||
|
|
||||||
.global __CPU_Context_restore
|
.global __CPU_Context_restore
|
||||||
__CPU_Context_restore:
|
__CPU_Context_restore:
|
||||||
|
#if 0
|
||||||
asneq 107, gr1, gr1 ; syscall
|
asneq 107, gr1, gr1 ; syscall
|
||||||
jmpi lr0 ;
|
jmpi lr0 ;
|
||||||
nop ;
|
nop ;
|
||||||
@@ -306,12 +309,15 @@ RestoreFZState it1,it2
|
|||||||
;
|
;
|
||||||
iret
|
iret
|
||||||
;
|
;
|
||||||
|
#endif
|
||||||
|
|
||||||
.global __CPU_Context_save
|
.global __CPU_Context_save
|
||||||
__CPU_Context_save:
|
__CPU_Context_save:
|
||||||
|
#if 0
|
||||||
asneq 108, gr1, gr1 ; syscall
|
asneq 108, gr1, gr1 ; syscall
|
||||||
jmpi lr0 ;
|
jmpi lr0 ;
|
||||||
nop ;
|
nop ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
;/* void __ISR_Handler()
|
;/* void __ISR_Handler()
|
||||||
@@ -392,24 +398,31 @@ __CPU_Context_save:
|
|||||||
|
|
||||||
.global _a29k_getops
|
.global _a29k_getops
|
||||||
_a29k_getops:
|
_a29k_getops:
|
||||||
|
#if 0
|
||||||
asneq 113, gr96, gr96
|
asneq 113, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_getops_sup
|
.global _a29k_getops_sup
|
||||||
_a29k_getops_sup:
|
_a29k_getops_sup:
|
||||||
|
#if 0
|
||||||
mfsr gr96, ops ; caller wants ops
|
mfsr gr96, ops ; caller wants ops
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_disable
|
.global _a29k_disable
|
||||||
_a29k_disable:
|
_a29k_disable:
|
||||||
|
#if 0
|
||||||
asneq 110, gr96, gr96
|
asneq 110, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_disable_sup
|
.global _a29k_disable_sup
|
||||||
_a29k_disable_sup:
|
_a29k_disable_sup:
|
||||||
|
#if 0
|
||||||
mfsr kt0, ops
|
mfsr kt0, ops
|
||||||
add gr96, kt0, 0 ; return ops to caller
|
add gr96, kt0, 0 ; return ops to caller
|
||||||
const kt1, (DI | TD)
|
const kt1, (DI | TD)
|
||||||
@@ -418,15 +431,19 @@ _a29k_disable_sup:
|
|||||||
mtsr ops, kt1
|
mtsr ops, kt1
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_disable_all
|
.global _a29k_disable_all
|
||||||
_a29k_disable_all:
|
_a29k_disable_all:
|
||||||
|
#if 0
|
||||||
asneq 112, gr96, gr96
|
asneq 112, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_disable_all_sup
|
.global _a29k_disable_all_sup
|
||||||
_a29k_disable_all_sup:
|
_a29k_disable_all_sup:
|
||||||
|
#if 0
|
||||||
mfsr kt0, ops
|
mfsr kt0, ops
|
||||||
const kt1, (DI | TD)
|
const kt1, (DI | TD)
|
||||||
consth kt1, (DI | TD)
|
consth kt1, (DI | TD)
|
||||||
@@ -434,15 +451,19 @@ _a29k_disable_all_sup:
|
|||||||
mtsr ops, kt1
|
mtsr ops, kt1
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_enable_all
|
.global _a29k_enable_all
|
||||||
_a29k_enable_all:
|
_a29k_enable_all:
|
||||||
|
#if 0
|
||||||
asneq 111, gr96, gr96
|
asneq 111, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_enable_all_sup
|
.global _a29k_enable_all_sup
|
||||||
_a29k_enable_all_sup:
|
_a29k_enable_all_sup:
|
||||||
|
#if 0
|
||||||
mfsr kt0, ops
|
mfsr kt0, ops
|
||||||
const kt1, (DI | TD)
|
const kt1, (DI | TD)
|
||||||
consth kt1, (DI | TD)
|
consth kt1, (DI | TD)
|
||||||
@@ -450,15 +471,19 @@ _a29k_enable_all_sup:
|
|||||||
mtsr ops, kt1
|
mtsr ops, kt1
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_enable
|
.global _a29k_enable
|
||||||
_a29k_enable:
|
_a29k_enable:
|
||||||
|
#if 0
|
||||||
asneq 109, gr96, gr96
|
asneq 109, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_enable_sup
|
.global _a29k_enable_sup
|
||||||
_a29k_enable_sup:
|
_a29k_enable_sup:
|
||||||
|
#if 0
|
||||||
mfsr kt0, ops
|
mfsr kt0, ops
|
||||||
const kt1, (DI | TD)
|
const kt1, (DI | TD)
|
||||||
consth kt1, (DI | TD)
|
consth kt1, (DI | TD)
|
||||||
@@ -468,23 +493,30 @@ _a29k_enable_sup:
|
|||||||
mtsr ops, kt1
|
mtsr ops, kt1
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_halt
|
.global _a29k_halt
|
||||||
_a29k_halt:
|
_a29k_halt:
|
||||||
|
#if 0
|
||||||
halt
|
halt
|
||||||
jmp _a29k_halt
|
jmp _a29k_halt
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_super_mode
|
.global _a29k_super_mode
|
||||||
_a29k_super_mode:
|
_a29k_super_mode:
|
||||||
|
#if 0
|
||||||
mfsr gr96, ops
|
mfsr gr96, ops
|
||||||
or gr96, gr96, 0x10
|
or gr96, gr96, 0x10
|
||||||
mtsr ops, gr96
|
mtsr ops, gr96
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_as70
|
.global _a29k_as70
|
||||||
_a29k_as70:
|
_a29k_as70:
|
||||||
|
#if 0
|
||||||
asneq 70,gr96,gr96
|
asneq 70,gr96,gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
;* Register Stack pointer and frame pointer registers.
|
;* Register Stack pointer and frame pointer registers.
|
||||||
|
|
||||||
|
/* The assembly language is supposed to be Sierra High-C */
|
||||||
|
#if 0
|
||||||
.extern Rrsp, Rfp
|
.extern Rrsp, Rfp
|
||||||
|
|
||||||
.reg regsp, %%Rrsp
|
.reg regsp, %%Rrsp
|
||||||
@@ -212,3 +214,4 @@
|
|||||||
; .reg LTemp1, OStmp8 ; local temp 1
|
; .reg LTemp1, OStmp8 ; local temp 1
|
||||||
|
|
||||||
; ****************************************************************************
|
; ****************************************************************************
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -310,7 +310,7 @@ extern void a29k_sigdfl_sup(void);
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#warning "Check these definitions!!!"
|
/* #warning "Check these definitions!!!" */
|
||||||
|
|
||||||
#define CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES FALSE
|
#define CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES FALSE
|
||||||
#define CPU_BIG_ENDIAN TRUE
|
#define CPU_BIG_ENDIAN TRUE
|
||||||
@@ -458,7 +458,11 @@ typedef struct {
|
|||||||
boolean do_zero_of_workspace;
|
boolean do_zero_of_workspace;
|
||||||
unsigned32 idle_task_stack_size;
|
unsigned32 idle_task_stack_size;
|
||||||
unsigned32 interrupt_stack_size;
|
unsigned32 interrupt_stack_size;
|
||||||
unsigned32 extra_system_initialization_stack;
|
unsigned32 extra_mpci_receive_server_stack;
|
||||||
|
void * (*stack_allocate_hook)( unsigned32 );
|
||||||
|
void (*stack_free_hook)( void* );
|
||||||
|
/* end of fields required on all CPUs */
|
||||||
|
|
||||||
} rtems_cpu_table;
|
} rtems_cpu_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -905,7 +909,7 @@ void _CPU_ISR_install_vector(
|
|||||||
void _CPU_Install_interrupt_stack( void );
|
void _CPU_Install_interrupt_stack( void );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _CPU_Internal_threads_Idle_thread_body
|
* _CPU_Thread_Idle_body
|
||||||
*
|
*
|
||||||
* This routine is the CPU dependent IDLE thread body.
|
* This routine is the CPU dependent IDLE thread body.
|
||||||
*
|
*
|
||||||
@@ -913,7 +917,7 @@ void _CPU_Install_interrupt_stack( void );
|
|||||||
* is TRUE.
|
* is TRUE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void _CPU_Internal_threads_Idle_thread_body( void );
|
void _CPU_Thread_Idle_body( void );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _CPU_Context_switch
|
* _CPU_Context_switch
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
; */
|
; */
|
||||||
|
|
||||||
; .include "register.ah"
|
; .include "register.ah"
|
||||||
.include "amd.ah"
|
#include <amd.ah>
|
||||||
.include "pswmacro.ah"
|
#include <pswmacro.ah>
|
||||||
.comm WindowSize,4
|
.comm WindowSize,4
|
||||||
.text
|
.text
|
||||||
.reg it0,gr64
|
.reg it0,gr64
|
||||||
@@ -23,26 +23,33 @@
|
|||||||
|
|
||||||
.global _intr14
|
.global _intr14
|
||||||
_intr14:
|
_intr14:
|
||||||
|
#if 0
|
||||||
const it3,14
|
const it3,14
|
||||||
sup_sv
|
sup_sv
|
||||||
jmp interrupt
|
jmp interrupt
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _intr18
|
.global _intr18
|
||||||
_intr18:
|
_intr18:
|
||||||
|
#if 0
|
||||||
const it3,18
|
const it3,18
|
||||||
sup_sv
|
sup_sv
|
||||||
jmp interrupt
|
jmp interrupt
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _intr19
|
.global _intr19
|
||||||
_intr19:
|
_intr19:
|
||||||
|
#if 0
|
||||||
const it3,19
|
const it3,19
|
||||||
sup_sv
|
sup_sv
|
||||||
jmp interrupt
|
jmp interrupt
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
interrupt:
|
interrupt:
|
||||||
|
#if 0
|
||||||
push msp,it3
|
push msp,it3
|
||||||
push msp,gr1
|
push msp,gr1
|
||||||
push msp,rab
|
push msp,rab
|
||||||
@@ -72,10 +79,12 @@ interrupt:
|
|||||||
or it0,it1,it0
|
or it0,it1,it0
|
||||||
mtsr cps, it0
|
mtsr cps, it0
|
||||||
; fall through to _sigcode
|
; fall through to _sigcode
|
||||||
|
#endif
|
||||||
|
|
||||||
.extern _a29k_ISR_Handler
|
.extern _a29k_ISR_Handler
|
||||||
.global _sigcode
|
.global _sigcode
|
||||||
_sigcode:
|
_sigcode:
|
||||||
|
#if 0
|
||||||
|
|
||||||
push msp, lr1 ; R stack support
|
push msp, lr1 ; R stack support
|
||||||
push msp, rfb ; support
|
push msp, rfb ; support
|
||||||
@@ -156,18 +165,22 @@ lower:
|
|||||||
raise:
|
raise:
|
||||||
jmp sendsig ;
|
jmp sendsig ;
|
||||||
add gr1, rab, 0 ;
|
add gr1, rab, 0 ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
.global _a29k_sigdfl_sup
|
.global _a29k_sigdfl_sup
|
||||||
_a29k_sigdfl_sup:
|
_a29k_sigdfl_sup:
|
||||||
|
#if 0
|
||||||
repair_R_stack ;
|
repair_R_stack ;
|
||||||
repair_regs ;
|
repair_regs ;
|
||||||
sig_return ; return
|
sig_return ; return
|
||||||
halt ; never executes
|
halt ; never executes
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
.global _sigret
|
.global _sigret
|
||||||
_sigret:
|
_sigret:
|
||||||
|
#if 0
|
||||||
;assume msp points to tav
|
;assume msp points to tav
|
||||||
mfsr it0,cps
|
mfsr it0,cps
|
||||||
const it1,FZ
|
const it1,FZ
|
||||||
@@ -190,8 +203,11 @@ _sigret1:
|
|||||||
add gr1,it0,0
|
add gr1,it0,0
|
||||||
add msp,msp,4 ;discount signal
|
add msp,msp,4 ;discount signal
|
||||||
iret
|
iret
|
||||||
|
#endif
|
||||||
|
|
||||||
_a29k_sigdfl:
|
_a29k_sigdfl:
|
||||||
|
#if 0
|
||||||
asneq SIGDFL,gr1,gr1
|
asneq SIGDFL,gr1,gr1
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
2000-09-22 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
|
* amd.ah, cpu.c, cpu_asm.S, register.ah, sig.S, rtems/score/cpu.h:
|
||||||
|
Updated and fixed minor things. Commented out offensive assembly
|
||||||
|
and made applications link.
|
||||||
|
|
||||||
2000-09-22 Joel Sherrill <joel@OARcorp.com>
|
2000-09-22 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* Makefile.am, cpu_asm.S, psmacro.ah, rtems/score/cpu.h:
|
* Makefile.am, cpu_asm.S, psmacro.ah, rtems/score/cpu.h:
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#if 0
|
||||||
|
|
||||||
; /* @(#)amd.ah 1.1 96/05/23 08:56:58, TEI */
|
; /* @(#)amd.ah 1.1 96/05/23 08:56:58, TEI */
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; Initialization values for registers after RESET
|
; Initialization values for registers after RESET
|
||||||
@@ -6,6 +8,7 @@
|
|||||||
: /* $Id$ */
|
: /* $Id$ */
|
||||||
;* File information and includes.
|
;* File information and includes.
|
||||||
|
|
||||||
|
#endif
|
||||||
.file "amd.ah"
|
.file "amd.ah"
|
||||||
.ident "@(#)amd.ah 1.1 96/05/23 08:56:58, TEI"
|
.ident "@(#)amd.ah 1.1 96/05/23 08:56:58, TEI"
|
||||||
|
|
||||||
|
|||||||
@@ -114,6 +114,18 @@ extern void intr14( void );
|
|||||||
extern void intr18( void );
|
extern void intr18( void );
|
||||||
extern void intr19( void );
|
extern void intr19( void );
|
||||||
|
|
||||||
|
/* just to link with GNU tools JRS 09/22/2000 */
|
||||||
|
asm (".global V_SPILL, V_FILL" );
|
||||||
|
asm (".global V_EPI_OS, V_BSD_OS" );
|
||||||
|
|
||||||
|
asm (".equ V_SPILL, 64" );
|
||||||
|
asm (".equ V_FILL, 65" );
|
||||||
|
|
||||||
|
asm (".equ V_BSD_OS, 66" );
|
||||||
|
asm (".equ V_EPI_OS, 69" );
|
||||||
|
|
||||||
|
/* end of just to link with GNU tools */
|
||||||
|
|
||||||
void _CPU_ISR_install_raw_handler(
|
void _CPU_ISR_install_raw_handler(
|
||||||
unsigned32 vector,
|
unsigned32 vector,
|
||||||
proc_ptr new_handler,
|
proc_ptr new_handler,
|
||||||
@@ -126,6 +138,8 @@ void _CPU_ISR_install_raw_handler(
|
|||||||
*/
|
*/
|
||||||
switch( vector )
|
switch( vector )
|
||||||
{
|
{
|
||||||
|
/* where is this code? JRS */
|
||||||
|
#if 0
|
||||||
case 14:
|
case 14:
|
||||||
_settrap( vector, intr14 );
|
_settrap( vector, intr14 );
|
||||||
break;
|
break;
|
||||||
@@ -135,6 +149,7 @@ void _CPU_ISR_install_raw_handler(
|
|||||||
case 19:
|
case 19:
|
||||||
_settrap( vector, intr19 );
|
_settrap( vector, intr19 );
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -193,7 +208,7 @@ void _CPU_Install_interrupt_stack( void )
|
|||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
*
|
*
|
||||||
* _CPU_Internal_threads_Idle_thread_body
|
* _CPU_Thread_Idle_body
|
||||||
*
|
*
|
||||||
* NOTES:
|
* NOTES:
|
||||||
*
|
*
|
||||||
@@ -208,7 +223,7 @@ void _CPU_Install_interrupt_stack( void )
|
|||||||
* hook with caution.
|
* hook with caution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void _CPU_Internal_threads_Idle_thread_body( void )
|
void _CPU_Thread_Idle_body( void )
|
||||||
{
|
{
|
||||||
|
|
||||||
for( ; ; )
|
for( ; ; )
|
||||||
|
|||||||
@@ -139,6 +139,7 @@ __CPU_Context_switch:
|
|||||||
|
|
||||||
.global _a29k_context_switch_sup
|
.global _a29k_context_switch_sup
|
||||||
_a29k_context_switch_sup:
|
_a29k_context_switch_sup:
|
||||||
|
#if 0
|
||||||
add pcb,lr2,0
|
add pcb,lr2,0
|
||||||
add kt1,lr3,0 ;move heir pointer to safe location
|
add kt1,lr3,0 ;move heir pointer to safe location
|
||||||
constn it0,SIG_SYNC
|
constn it0,SIG_SYNC
|
||||||
@@ -222,6 +223,7 @@ context_restore:
|
|||||||
spopsr ops,it1,pcb
|
spopsr ops,it1,pcb
|
||||||
nop
|
nop
|
||||||
iret
|
iret
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
;/*
|
;/*
|
||||||
@@ -242,6 +244,7 @@ context_restore:
|
|||||||
|
|
||||||
.global __CPU_Context_restore
|
.global __CPU_Context_restore
|
||||||
__CPU_Context_restore:
|
__CPU_Context_restore:
|
||||||
|
#if 0
|
||||||
asneq 107, gr1, gr1 ; syscall
|
asneq 107, gr1, gr1 ; syscall
|
||||||
jmpi lr0 ;
|
jmpi lr0 ;
|
||||||
nop ;
|
nop ;
|
||||||
@@ -306,12 +309,15 @@ RestoreFZState it1,it2
|
|||||||
;
|
;
|
||||||
iret
|
iret
|
||||||
;
|
;
|
||||||
|
#endif
|
||||||
|
|
||||||
.global __CPU_Context_save
|
.global __CPU_Context_save
|
||||||
__CPU_Context_save:
|
__CPU_Context_save:
|
||||||
|
#if 0
|
||||||
asneq 108, gr1, gr1 ; syscall
|
asneq 108, gr1, gr1 ; syscall
|
||||||
jmpi lr0 ;
|
jmpi lr0 ;
|
||||||
nop ;
|
nop ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
;/* void __ISR_Handler()
|
;/* void __ISR_Handler()
|
||||||
@@ -392,24 +398,31 @@ __CPU_Context_save:
|
|||||||
|
|
||||||
.global _a29k_getops
|
.global _a29k_getops
|
||||||
_a29k_getops:
|
_a29k_getops:
|
||||||
|
#if 0
|
||||||
asneq 113, gr96, gr96
|
asneq 113, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_getops_sup
|
.global _a29k_getops_sup
|
||||||
_a29k_getops_sup:
|
_a29k_getops_sup:
|
||||||
|
#if 0
|
||||||
mfsr gr96, ops ; caller wants ops
|
mfsr gr96, ops ; caller wants ops
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_disable
|
.global _a29k_disable
|
||||||
_a29k_disable:
|
_a29k_disable:
|
||||||
|
#if 0
|
||||||
asneq 110, gr96, gr96
|
asneq 110, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_disable_sup
|
.global _a29k_disable_sup
|
||||||
_a29k_disable_sup:
|
_a29k_disable_sup:
|
||||||
|
#if 0
|
||||||
mfsr kt0, ops
|
mfsr kt0, ops
|
||||||
add gr96, kt0, 0 ; return ops to caller
|
add gr96, kt0, 0 ; return ops to caller
|
||||||
const kt1, (DI | TD)
|
const kt1, (DI | TD)
|
||||||
@@ -418,15 +431,19 @@ _a29k_disable_sup:
|
|||||||
mtsr ops, kt1
|
mtsr ops, kt1
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_disable_all
|
.global _a29k_disable_all
|
||||||
_a29k_disable_all:
|
_a29k_disable_all:
|
||||||
|
#if 0
|
||||||
asneq 112, gr96, gr96
|
asneq 112, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_disable_all_sup
|
.global _a29k_disable_all_sup
|
||||||
_a29k_disable_all_sup:
|
_a29k_disable_all_sup:
|
||||||
|
#if 0
|
||||||
mfsr kt0, ops
|
mfsr kt0, ops
|
||||||
const kt1, (DI | TD)
|
const kt1, (DI | TD)
|
||||||
consth kt1, (DI | TD)
|
consth kt1, (DI | TD)
|
||||||
@@ -434,15 +451,19 @@ _a29k_disable_all_sup:
|
|||||||
mtsr ops, kt1
|
mtsr ops, kt1
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_enable_all
|
.global _a29k_enable_all
|
||||||
_a29k_enable_all:
|
_a29k_enable_all:
|
||||||
|
#if 0
|
||||||
asneq 111, gr96, gr96
|
asneq 111, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_enable_all_sup
|
.global _a29k_enable_all_sup
|
||||||
_a29k_enable_all_sup:
|
_a29k_enable_all_sup:
|
||||||
|
#if 0
|
||||||
mfsr kt0, ops
|
mfsr kt0, ops
|
||||||
const kt1, (DI | TD)
|
const kt1, (DI | TD)
|
||||||
consth kt1, (DI | TD)
|
consth kt1, (DI | TD)
|
||||||
@@ -450,15 +471,19 @@ _a29k_enable_all_sup:
|
|||||||
mtsr ops, kt1
|
mtsr ops, kt1
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_enable
|
.global _a29k_enable
|
||||||
_a29k_enable:
|
_a29k_enable:
|
||||||
|
#if 0
|
||||||
asneq 109, gr96, gr96
|
asneq 109, gr96, gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_enable_sup
|
.global _a29k_enable_sup
|
||||||
_a29k_enable_sup:
|
_a29k_enable_sup:
|
||||||
|
#if 0
|
||||||
mfsr kt0, ops
|
mfsr kt0, ops
|
||||||
const kt1, (DI | TD)
|
const kt1, (DI | TD)
|
||||||
consth kt1, (DI | TD)
|
consth kt1, (DI | TD)
|
||||||
@@ -468,23 +493,30 @@ _a29k_enable_sup:
|
|||||||
mtsr ops, kt1
|
mtsr ops, kt1
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_halt
|
.global _a29k_halt
|
||||||
_a29k_halt:
|
_a29k_halt:
|
||||||
|
#if 0
|
||||||
halt
|
halt
|
||||||
jmp _a29k_halt
|
jmp _a29k_halt
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_super_mode
|
.global _a29k_super_mode
|
||||||
_a29k_super_mode:
|
_a29k_super_mode:
|
||||||
|
#if 0
|
||||||
mfsr gr96, ops
|
mfsr gr96, ops
|
||||||
or gr96, gr96, 0x10
|
or gr96, gr96, 0x10
|
||||||
mtsr ops, gr96
|
mtsr ops, gr96
|
||||||
iret
|
iret
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _a29k_as70
|
.global _a29k_as70
|
||||||
_a29k_as70:
|
_a29k_as70:
|
||||||
|
#if 0
|
||||||
asneq 70,gr96,gr96
|
asneq 70,gr96,gr96
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
;* Register Stack pointer and frame pointer registers.
|
;* Register Stack pointer and frame pointer registers.
|
||||||
|
|
||||||
|
/* The assembly language is supposed to be Sierra High-C */
|
||||||
|
#if 0
|
||||||
.extern Rrsp, Rfp
|
.extern Rrsp, Rfp
|
||||||
|
|
||||||
.reg regsp, %%Rrsp
|
.reg regsp, %%Rrsp
|
||||||
@@ -212,3 +214,4 @@
|
|||||||
; .reg LTemp1, OStmp8 ; local temp 1
|
; .reg LTemp1, OStmp8 ; local temp 1
|
||||||
|
|
||||||
; ****************************************************************************
|
; ****************************************************************************
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -310,7 +310,7 @@ extern void a29k_sigdfl_sup(void);
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#warning "Check these definitions!!!"
|
/* #warning "Check these definitions!!!" */
|
||||||
|
|
||||||
#define CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES FALSE
|
#define CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES FALSE
|
||||||
#define CPU_BIG_ENDIAN TRUE
|
#define CPU_BIG_ENDIAN TRUE
|
||||||
@@ -458,7 +458,11 @@ typedef struct {
|
|||||||
boolean do_zero_of_workspace;
|
boolean do_zero_of_workspace;
|
||||||
unsigned32 idle_task_stack_size;
|
unsigned32 idle_task_stack_size;
|
||||||
unsigned32 interrupt_stack_size;
|
unsigned32 interrupt_stack_size;
|
||||||
unsigned32 extra_system_initialization_stack;
|
unsigned32 extra_mpci_receive_server_stack;
|
||||||
|
void * (*stack_allocate_hook)( unsigned32 );
|
||||||
|
void (*stack_free_hook)( void* );
|
||||||
|
/* end of fields required on all CPUs */
|
||||||
|
|
||||||
} rtems_cpu_table;
|
} rtems_cpu_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -905,7 +909,7 @@ void _CPU_ISR_install_vector(
|
|||||||
void _CPU_Install_interrupt_stack( void );
|
void _CPU_Install_interrupt_stack( void );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _CPU_Internal_threads_Idle_thread_body
|
* _CPU_Thread_Idle_body
|
||||||
*
|
*
|
||||||
* This routine is the CPU dependent IDLE thread body.
|
* This routine is the CPU dependent IDLE thread body.
|
||||||
*
|
*
|
||||||
@@ -913,7 +917,7 @@ void _CPU_Install_interrupt_stack( void );
|
|||||||
* is TRUE.
|
* is TRUE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void _CPU_Internal_threads_Idle_thread_body( void );
|
void _CPU_Thread_Idle_body( void );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* _CPU_Context_switch
|
* _CPU_Context_switch
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
; */
|
; */
|
||||||
|
|
||||||
; .include "register.ah"
|
; .include "register.ah"
|
||||||
.include "amd.ah"
|
#include <amd.ah>
|
||||||
.include "pswmacro.ah"
|
#include <pswmacro.ah>
|
||||||
.comm WindowSize,4
|
.comm WindowSize,4
|
||||||
.text
|
.text
|
||||||
.reg it0,gr64
|
.reg it0,gr64
|
||||||
@@ -23,26 +23,33 @@
|
|||||||
|
|
||||||
.global _intr14
|
.global _intr14
|
||||||
_intr14:
|
_intr14:
|
||||||
|
#if 0
|
||||||
const it3,14
|
const it3,14
|
||||||
sup_sv
|
sup_sv
|
||||||
jmp interrupt
|
jmp interrupt
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _intr18
|
.global _intr18
|
||||||
_intr18:
|
_intr18:
|
||||||
|
#if 0
|
||||||
const it3,18
|
const it3,18
|
||||||
sup_sv
|
sup_sv
|
||||||
jmp interrupt
|
jmp interrupt
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
.global _intr19
|
.global _intr19
|
||||||
_intr19:
|
_intr19:
|
||||||
|
#if 0
|
||||||
const it3,19
|
const it3,19
|
||||||
sup_sv
|
sup_sv
|
||||||
jmp interrupt
|
jmp interrupt
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
interrupt:
|
interrupt:
|
||||||
|
#if 0
|
||||||
push msp,it3
|
push msp,it3
|
||||||
push msp,gr1
|
push msp,gr1
|
||||||
push msp,rab
|
push msp,rab
|
||||||
@@ -72,10 +79,12 @@ interrupt:
|
|||||||
or it0,it1,it0
|
or it0,it1,it0
|
||||||
mtsr cps, it0
|
mtsr cps, it0
|
||||||
; fall through to _sigcode
|
; fall through to _sigcode
|
||||||
|
#endif
|
||||||
|
|
||||||
.extern _a29k_ISR_Handler
|
.extern _a29k_ISR_Handler
|
||||||
.global _sigcode
|
.global _sigcode
|
||||||
_sigcode:
|
_sigcode:
|
||||||
|
#if 0
|
||||||
|
|
||||||
push msp, lr1 ; R stack support
|
push msp, lr1 ; R stack support
|
||||||
push msp, rfb ; support
|
push msp, rfb ; support
|
||||||
@@ -156,18 +165,22 @@ lower:
|
|||||||
raise:
|
raise:
|
||||||
jmp sendsig ;
|
jmp sendsig ;
|
||||||
add gr1, rab, 0 ;
|
add gr1, rab, 0 ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
.global _a29k_sigdfl_sup
|
.global _a29k_sigdfl_sup
|
||||||
_a29k_sigdfl_sup:
|
_a29k_sigdfl_sup:
|
||||||
|
#if 0
|
||||||
repair_R_stack ;
|
repair_R_stack ;
|
||||||
repair_regs ;
|
repair_regs ;
|
||||||
sig_return ; return
|
sig_return ; return
|
||||||
halt ; never executes
|
halt ; never executes
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
.global _sigret
|
.global _sigret
|
||||||
_sigret:
|
_sigret:
|
||||||
|
#if 0
|
||||||
;assume msp points to tav
|
;assume msp points to tav
|
||||||
mfsr it0,cps
|
mfsr it0,cps
|
||||||
const it1,FZ
|
const it1,FZ
|
||||||
@@ -190,8 +203,11 @@ _sigret1:
|
|||||||
add gr1,it0,0
|
add gr1,it0,0
|
||||||
add msp,msp,4 ;discount signal
|
add msp,msp,4 ;discount signal
|
||||||
iret
|
iret
|
||||||
|
#endif
|
||||||
|
|
||||||
_a29k_sigdfl:
|
_a29k_sigdfl:
|
||||||
|
#if 0
|
||||||
asneq SIGDFL,gr1,gr1
|
asneq SIGDFL,gr1,gr1
|
||||||
jmpi lr0
|
jmpi lr0
|
||||||
nop
|
nop
|
||||||
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user