diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-12-20 15:39:19 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-12-20 15:39:19 +0000 |
commit | 5c491aef41558df022032b543d826ef4e49493b5 (patch) | |
tree | 248c4d31610a83b98c65dc26fb6a9b54b9db77e1 /c/src/lib/libbsp/m68k/mvme162 | |
parent | initial history lost in disk crash (diff) | |
download | rtems-5c491aef41558df022032b543d826ef4e49493b5.tar.bz2 |
changes remerged after lost in disk crash -- recovered from snapshot, partially recovered working tree, etc
Diffstat (limited to 'c/src/lib/libbsp/m68k/mvme162')
-rw-r--r-- | c/src/lib/libbsp/m68k/mvme162/README | 19 | ||||
-rw-r--r-- | c/src/lib/libbsp/m68k/mvme162/include/bsp.h | 14 | ||||
-rw-r--r-- | c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c | 2 |
4 files changed, 33 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/m68k/mvme162/README b/c/src/lib/libbsp/m68k/mvme162/README index 4f4a263722..af6082db21 100644 --- a/c/src/lib/libbsp/m68k/mvme162/README +++ b/c/src/lib/libbsp/m68k/mvme162/README @@ -28,6 +28,25 @@ any case I am ready to answer questions regarding the port and intend to follow the future RTEMS versions. I will do my best to provide whatever support I can afford time-wise. +MVME162FX and DMA on the IP bus +------------------------------- + +From Eric Vaitl <eric@viasat.com>: + +If you have any customers that will be using the 162FX, tell them to +be careful. The main difference between the 162 and the 162FX is DMA +on the IP bus. I spent over a month trying to write a DMA HDLC driver +for GreenSprings IP-MP and couldn't get it to work. I talked to some +people at GreenSprings, and they agreed that there really is no way to +get DMA to work unless you know the size of the packets in advance. +Once the IP2 chip DMA controller is given the character count and +enabled, it doesn't accept further commands until all of the +characters have arrived. The only way to terminate a DMA transfer +prematurely is by raising DMAEND* during the last read. None of the IP +modules that I know of are currently able to do that. GreenSprings is +working on the problem, but nothing is going to available for a few +months. + Installation ------------ Nothing unique to the MVME162. It has been incorporated into the diff --git a/c/src/lib/libbsp/m68k/mvme162/include/bsp.h b/c/src/lib/libbsp/m68k/mvme162/include/bsp.h index 54e74da532..37b16cb69b 100644 --- a/c/src/lib/libbsp/m68k/mvme162/include/bsp.h +++ b/c/src/lib/libbsp/m68k/mvme162/include/bsp.h @@ -1,6 +1,6 @@ /* bsp.h * - * This include file contains all MVME162 board IO definitions. + * This include file contains all MVME162fx board IO definitions. * * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. * On-Line Applications Research Corporation (OAR). @@ -165,6 +165,13 @@ typedef volatile struct mcchip_regs { * Prototypes for the low-level serial io are also included here, * because such stuff is bsp-specific (yet). The function bodies * are in console.c + * + * NOTE from Eric Vaitl <evaitl@viasat.com>: + * + * I dropped RTEMS into a 162FX today (the MVME162-513). The 162FX has a + * bug in the MC2 chip (revision 1) such that the SCC data register is + * not accessible, it has to be accessed indirectly through the SCC + * control register. */ enum {portB, portA}; @@ -190,10 +197,11 @@ typedef volatile struct scc_regs { #define ZREAD0(port) (scc[port].csr) #define ZREAD(port, n) (ZWRITE0(port, n), (scc[port].csr)) -#define ZREADD(port) (scc[port].buf) +#define ZREADD(port) (scc[port].csr=0x08, scc[port].csr ) #define ZWRITE(port, n, v) (ZWRITE0(port, n), ZWRITE0(port, v)) -#define ZWRITED(port, v) (scc[port].buf = (unsigned char)(v)) +#define ZWRITED(port, v) (scc[port].csr = 0x08, \ + scc[port].csr = (unsigned char)(v)) /*----------------------------------------------------------------*/ /* diff --git a/c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c b/c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c index 215a53cc46..8c8497aaf5 100644 --- a/c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c +++ b/c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c @@ -28,6 +28,8 @@ void bsp_return_to_monitor_trap() { extern void start( void ); + page_table_teardown(); + lcsr->intr_ena = 0; /* disable interrupts */ m68k_set_vbr(0xFFE00000); /* restore 162Bug vectors */ asm volatile( "trap #15" ); /* trap to 162Bug */ diff --git a/c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c b/c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c index 211ce19032..c862548700 100644 --- a/c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c @@ -188,7 +188,7 @@ int main( lcsr->vector_base = (VBR0 << 28) | (VBR1 << 24); - m68k_enable_caching(); + page_table_init(); /* * we only use a hook to get the C library initialized. |