* mongoosev/include/mongoose-v.h, mongoosev/vectorisrs/vectorisrs.c,
r46xx/vectorisrs/vectorisrs.c, tx39/vectorisrs/vectorisrs.c,
tx39/include/tx3904.h: All exceptions were given low numbers and thus
can be now be installed and processed in a uniform manner just like interrupts.
Variances between various MIPS ISA levels are not accounted for at this time.
* mongoosev/vectorisrs/Makefile.am, mongoosev/vectorisrs/maxvectors.c,
r46xx/vectorisrs/Makefile.am, r46xx/vectorisrs/maxvectors.c,
tx39/vectorisrs/Makefile.am, tx39/vectorisrs/maxvectors.c,
shared/interrupts/maxvectors.c, shared/interrupts/Makefile.am: Split the
shared maxvectors.c into a variety of CPU model specific versions to simplify
the build process and reduce depdencies. Deleted shared/interrupts/maxvectors.c
and created various CPU model versions.
* Assisted in design and debug by Joel Sherrill <joel@OARcorp.com>.
* mongoosev/duart/mg5uart.c, mongoosev/duart/mg5uart.h,
mongoosev/include/mongoose-v.h, mongoosev/vectorisrs/vectorisrs.c,
shared/interrupts/maxvectors.c: Now works. Significant rework
of exceptions and interrupt vectoring to clean things up.
* shared/interrupts/vectorexceptions.c: Removed.
* shared/interrupts/Makefile.am: Reflects above.
* Assisted in design and debug by Joel Sherrill <joel@OARcorp.com>.
* clock/clockdrv.c, console/conscfg.c: Corrected.
* include/bsp.h: Support for tm27 and addition of CPU_CLOCK_RATE.
* startup/bspstart.c: Properly set initial status register and
pending interrupts.
* timer/timer.c: Works now.
* configure.in: Use RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]), adapt
bspopts.h handling to other sh-BSPs.
* include/.cvsignore: Add stamp-h*, bspopts.h*.
* include/Makefile.am: Use include_HEADERS instead of H_FILES.
* startup/bspstart.c: Reworked, based on the amos BSP.
* shared/interrupts/vectorexceptions.c: New file to decode
exception code and vector appropriate NON-interrupt exception.
* shared/interrupts/Makefile.am: Modified to reflect above.
* libc/libio.c (rtems_libio_allocate): Make sure size and offset
fields are cleared on each file open. Before this field was cleared,
this resulted in the value from the last time that IOP was used
being still in place. Discovered by Andrew Bythell
<abythell@nortelnetworks.com>.
* libc/open.c: Remove redundant setting of iop->offset.
* start.S: Modificatins to preserve the current CWP and adjust the
WIM accordingly. This improves compatibility with the remote
debugger and the mkprom prom-builder.
* include/rtems/libio_.h, libc/chroot.c, libc/privateenv.c:
Private environment and chroot() enhancements and fixes. Comments:
+ privateenv has been modified to let at chroot() to be more
POSIX like Sergei Organov recommended.
+ A task owner lets that rtems_set_private_env() will be
called twice or more times.
+ chroot() can be called without a previous
rtems_set_private_env(); (transpanrently)
+ The second call of rtems_set_private_env() makes a internal
chroot("/") into global imfs_root.
+ chroot() runs like chdir() without a previous chdir("/") with
the global root.
+ The current directory can be in a wrong place like Linux and
many other Unices.
* mongoosev/duart/mg5uart.c (mg5uart_enable_interrupts): Honor
the other bits set in the Peripheral Function Interrupt Mask
Register when modifying those enabled for the DUART.
* mongoosev/include/mongoose-v.h (MONGOOSEV_ATOMIC_MASK,
MONGOOSEV_PFICR, MONGOOSEV_PFIMR, mongoosev_set_in_pficr,
mongoosev_clear_in_pficr, mongoosev_set_in_pfimr,
mongoosev_clear_in_pfimr, MONGOOSEV_UART_ALL_IRQ_BITS): New macros.
* include/bsp.h (Clear_tm27_intr): Stop the timer and disable
the interrupt. This was not quite right before and we were
getting uncontrolled interrupt nesting in tm27.
* timer/timer.c (Timer_Initialize): Added an extra reset and
changed the ITMR register so we will never get an interrupt.
(Read_timer): Fixed so the timer actually stops before it
is read. Before some times reported were outraguously high.
* start/start.S: Major clean including using stack in linkcmds,
deleting unused code, and zeroing the BSS using the linkcmds
information.
* startup/linkcmds: Put heap in lower memory than workspace
and move _clear_end so both are zeroed.
* mongoosev/duart/mg5uart.c, mongoosev/duart/mg5uart.h
Modifications made with Gregory Menke <gregory.menke@gsfc.nasa.gov>
as he debugged this BSP using a logic analyzer. In particular,
there was a mistake where the index not offset of registers was
in the header file and the baud rate calculation was incorrect.
* start/start.S, startup/bspstart.c, startup/linkcmds:
Modifications made with Gregory Menke <gregory.menke@gsfc.nasa.gov>
as he debugged this BSP using a logic analyzer.
* start/start.S, startup/bspstart.c, startup/linkcmds:
Modifications made with Gregory Menke <gregory.menke@gsfc.nasa.gov>
as he debugged this BSP using a logic analyzer.
* Makefile.am, configure.in, console/console.c,
include/Makefile.am, include/bsp.h, network/network.c,
startup/Makefile.am, startup/bspstart.c, startup/linkcmds,
wrapup/Makefile.am: Switch the eth_comm BSP to use the
"new exception processing model."
* mpc8xx/vectors/.cvsignore, mpc8xx/vectors/Makefile.am,
mpc8xx/vectors/README, mpc8xx/vectors/align_h.S
mpc8xx/vectors/vectors.S: These files were removed in
support of switching the mpc8xx to the use the "new exception
processing model."
* configure.in, motorola_powerpc/Makefile.am,
motorola_powerpc/configure.in: These modifications are in
support of switching the mpc8xx to the use the "new exception
processing model."
* Makefile.am, console/consoleIo.h, include/bsp.h:
These modifications are part of the conversion of the
mpc8xx CPU to the "new exception processing model."
* mpc8xx/exceptions/.cvsignore, mpc8xx/exceptions/Makefile.am,
mpc8xx/exceptions/asm_utils.S, mpc8xx/exceptions/raw_exception.c,
mpc8xx/exceptions/raw_exception.h: New files.
* configure.in, mpc6xx/mmu/bat.h, mpc8xx/Makefile.am,
mpc8xx/clock/clock.c,
mpc8xx/console-generic/console-generic.c,
mpc8xx/include/mpc8xx.h, mpc8xx/mmu/mmu.c,
new_exception_processing/cpu.h, shared/include/byteorder.h,
wrapup/Makefile.am: This is conversion of the
mpc8xx CPU to the "new exception processing model."
* clock/.cvsignore, clock/Makefile.am, clock/p_clock.c,
include/8xx_immap.h, include/commproc.h, include/mbx.h,
irq/.cvsignore, irq/Makefile.am, irq/irq.c, irq/irq.h,
irq/irq_asm.S, irq/irq_init.c, vectors/.cvsignore,
vectors/Makefile.am, vectors/vectors.S, vectors/vectors.h,
vectors/vectors_init.c: New files.
* Makefile.am, configure.in, console/console.c,
include/Makefile.am, network/network.c, startup/Makefile.am,
startup/bspstart.c, startup/imbx8xx.c, startup/linkcmds,
startup/mmutlbtab.c, startup/start.S, wrapup/Makefile.am:
The modifications to this BSP reflect the conversion of the
mpc8xx CPU to the "new exception processing model."
* The Generic Mongoose-V BSP uses only the peripherals found on
the Synova Mongoose-V CPU. This is a radiation hardened CPU
based on the LSI Logic 33K.
* .cvsignore, ChangeLog, Makefile.am, README, bsp_specs, configure.in,
clock/.cvsignore, clock/Makefile.am, clock/clockdrv.c,
console/.cvsignore, console/Makefile.am, console/conscfg.c,
include/.cvsignore, include/Makefile.am, include/bsp.h,
start/.cvsignore, start/Makefile.am, start/regs.S, start/start.S,
startup/.cvsignore, startup/Makefile.am, startup/bspstart.c,
startup/linkcmds, timer/.cvsignore, timer/Makefile.am, timer/timer.c,
wrapup/.cvsignore, wrapup/Makefile.am: New files.