* vmeUniverse/README.universe, vmeUniverse/vmeUniverse.c,
vmeUniverse/vmeUniverse.h: New files.
* Makefile.am: Modified to reflect addition of files.
* Per PR214, contributes a driver for the TUNDRA UNIVERSE
VME-PCI bridge to libbsp/shared.
NOTE: This driver is maintained _outside_ RTEMS by Till. Please
forward future modifications to him.
* rtems/powerpc/registers.h, rtems/score/ppc.h: Per PR213, add
the following:
- support for the MPC74000 (AKA G4); there is no
AltiVec support yet, however.
- the cache flushing assembly code uses hardware-flush on the G4.
Also, a couple of hardcoded numerical values were replaced
by more readable symbolic constants.
- extended interrupt-disabled code section so enclose the entire
cache flush/invalidate procedure (as recommended by the book).
This is not (latency) critical as it is only used by
init code but prevents possible corruption.
- Trivial page table support as been added.
(1:1 effective-virtual-physical address mapping which is only
useful only on CPUs which feature hardware TLB replacement,
e.g. >604. This allows for write-protecting memory regions,
e.g. text/ro-data which makes catching corruptors a lot easier.
It also frees one DBAT/IBAT and gives more flexibility
for setting up address maps :-)
- setdbat() allows changing BAT0 also (since the BSP may use
a page table, BAT0 could be available...).
- asm_setdbatX() violated the SVR ABI by using
r20 as a scratch register; changed for r0
- according to the book, a context synchronizing instruction is
necessary prior to and after changing a DBAT -> isync added
* startup/linkcmds.bootp, startup/linkcmds.prom: Per PR192 add
sections needed by gcc 3.1. linkcmds had already been fixed on
a gcc 3.1 clean up sweep.
* c/src/libchip/network/i82586.c: Per PR210, adjust the mbuf
lengths to remove the ethernet header as the FreeBSD (RTEMS)
stack requires it to be stripped.
* src/m68k/rdbg_cpu_asm.S: Per PR163, Fix incorrect assumption that
exception stack frames on M68K members with VBR always are 6 byte long.
The incorrect assumption resulted in some gdb commands like "next"
to fail on the 68360.
* startup/linkcmds: In support of gcc 3.1, added one of more
of the sections .jcr, .rodata*, .data.*, .gnu.linkonce.s2.*,
.gnu.linkonce.sb2.*, and .gnu.linkonce.s.*. Spacing corrections
and direction of segments to memory regions may also have been
addressed. This was a sweep across all BSPs.
* startup/linkcmds.real: Ditto.
* clock/ckinit.c: Add volatile to Clock_driver_ticks.
* src/exinit.c: Slightly rework initialization so there
is a valid thread as _Thread_Executing when the pre_tasking
hook is called. This allows one directives and malloc
to potentially use mutex protection.
* startup/linkcmds: In support of gcc 3.1, added one of more
of the sections .jcr, .rodata*, .data.*, .gnu.linkonce.s2.*,
.gnu.linkonce.sb2.*, and .gnu.linkonce.s.*. Spacing corrections
and direction of segments to memory regions may also have been
addressed. This was a sweep across all BSPs.
* monitor/mon-command.c: Per PR192 the RTEMS monitor makes everything
lowercase. The capture engine need to set triggers or watches on task
with uppercase names.
Also stop the monitor repeating command when enter is pressed.
* include/rtems/score/object.h, inline/rtems/score/object.inl,
src/objectcomparenamestring.c: Address PR81 that
reworked POSIX message queues to add a descriptor separate from
the underlying message queue. This allows non-blocking to follow
the "open" not the underlying queue. As part of debugging this
it became clear that _Objects_Compare_name_string was broken
and a simple version using strncmp() was substituted.
* psxmsgq01/init.c: Reflect changes made to address PR81 that
reworked POSIX message queues to add a descriptor separate from
the underlying message queue. This allows non-blocking to follow
the "open" not the underlying queue.
* include/rtems/posix/mqueue.h, inline/rtems/posix/mqueue.inl,
src/mqueue.c, src/mqueueclose.c, src/mqueuecreatesupp.c,
src/mqueuegetattr.c, src/mqueuenotify.c, src/mqueueopen.c,
src/mqueuerecvsupp.c, src/mqueuesendsupp.c, src/mqueuesetattr.c:
Per PR81 reworked to add a message queue descriptor separate from
the underlying message queue. This allows non-blocking to follow
the "open" not the underlying queue.