* shared/vectors/vectors_entry.S, motorola_powerpc/bsp_specs,
shared/start/vectors_entry.S: moved vectors_entry.S to
'start' subdir and made a start file rather than
element of vectors.rel (it should always be linked but
won't if it is the sole member of vectors.rel).
* new-exceptions/bspsupport/ppc_exc_hdl.c: make sure
RI is set in the exception frame and panic if it isn't
(state info might have been lost). This only affects
classic PPC.
* new-exceptions/bspsupport/README,
new-exceptions/bspsupport/ppc_exc_bspsupp.h
new-exceptions/bspsupport/vectors_init.c:
added crude test to make sure MMU maps memory as
write-back enabled.
* ChangeLog, preinstall.am, libmisc/Makefile.am, libmisc/shell/cmds.c,
libmisc/shell/shell.c, libmisc/shell/shell.h: Split shell commands
into multiple files and add initial stages of command configuration.
This seems to work but the monitor commands need to be integrated
this way and the ability to configure user commands needs to be
tested.
* libmisc/shell/cat_file.c, libmisc/shell/cmd_alias.c,
libmisc/shell/cmd_cat.c, libmisc/shell/cmd_cd.c,
libmisc/shell/cmd_chdir.c, libmisc/shell/cmd_chmod.c,
libmisc/shell/cmd_chroot.c, libmisc/shell/cmd_date.c,
libmisc/shell/cmd_dir.c, libmisc/shell/cmd_exit.c,
libmisc/shell/cmd_help.c, libmisc/shell/cmd_id.c,
libmisc/shell/cmd_logoff.c, libmisc/shell/cmd_ls.c,
libmisc/shell/cmd_mallocdump.c, libmisc/shell/cmd_mdump.c,
libmisc/shell/cmd_medit.c, libmisc/shell/cmd_mfill.c,
libmisc/shell/cmd_mkdir.c, libmisc/shell/cmd_mmove.c,
libmisc/shell/cmd_mwdump.c, libmisc/shell/cmd_pwd.c,
libmisc/shell/cmd_rm.c, libmisc/shell/cmd_rmdir.c,
libmisc/shell/cmd_tty.c, libmisc/shell/cmd_umask.c,
libmisc/shell/cmd_whoami.c, libmisc/shell/internal.h,
libmisc/shell/shellconfig.c, libmisc/shell/shellconfig.h,
libmisc/shell/str2int.c: New files.
* new-exceptions/bspsupport/ppc_exc_test.c,
new-exceptions/bspsupport/vectors_init.c,
new-exceptions/bspsupport/ppc_exc_bspsupp.h,
new-exceptions/bspsupport/README,
new-exceptions/bspsupport/irq_supp.h:
Added README and some comments; now use TRAP exception
in ppc_exc_test.c so that it works on PSIM.
* shared/vme/VMEConfig.h, shared/vme/vme_universe.c:
added support for Tsi148 bridge; BSP can define which
bridge driver to use from VMEConfig.h.
Added 'err' macro parameter to BSP_VME_INSTALL_IRQ_MGR(err)
macro so that an error status can be passed back.
* new-exceptions/bspsupport/, new-exceptions/bspsupport/ppc_exc.S,
new-exceptions/bspsupport/ppc_exc_test.c,
new-exceptions/bspsupport/vectors.h,
new-exceptions/bspsupport/vectors_init.c,
new-exceptions/bspsupport/irq.c,
new-exceptions/bspsupport/ppc_exc_bspsupp.h,
new-exceptions/bspsupport/ppc_exc_hdl.c,
new-exceptions/bspsupport/ppc_exc_asm_macros.h,
new-exceptions/bspsupport/nested_irq_test.c:
New files. Added 'middleware' code for helping BSPs implement
exception and interrupt handling and implementing the 'new'
RTEMS IRQ API (which I personally dislike).
* new-exceptions/e500_raw_exc_init.c, new-exceptions/raw_exception.c,
shared/include/cpuIdent.c, shared/include/cpuIdent.h:
Added different kinds of 'bookE' to the ppc_cpu_is_bookE feature
check; unfortunately...
* ep1a/irq/irq.c, gen5200/irq/irq.c, gen83xx/irq/irq_init.c,
mbx8xx/irq/irq.c, mpc8260ads/irq/irq.c, mvme5500/irq/irq.c,
psim/irq/no_pic.c, score603e/irq/irq.c, shared/irq/irq_supp.h,
shared/irq/openpic_i8259_irq.c, virtex/irq/irq_init.c:
let C_dispatch_irq_handler() return zero to indicate to
low-level exception handling code that the exception
was handled (not used yet).
* shared/irq/irq_asm.S, shared/vectors/vectors.S:
Replaced use of hardcoded PPC_EXC_MSR_BITS by a
run-time method to determine these bits (use settings
effective before exception occurred).
Replaced use of hardcoded ASM_VECTORS_CRITICAL by
'bsp_raw_vector_is_405_critical' variable.
* new-exceptions/raw_exception.c, new-exceptions/raw_exception.h:
Removed all #ifdef <cpu_flavor>. All exception vectors are now
always defined.
Changed implementation of <cpu>_vector_is_valid() from 'case'
statements to table lookup.
Replaced 'ASM_VECTORS_CRITICAL' by a variable
'bsp_raw_vector_is_405_critical' which is set at run-time.
Removed PPC_MSR_EXC_BITS. The exception handling code
(libbsp/shared/vectors/vectors.S and ../irq/irq_asm.S) now
has a run-time check for these bits.
Both files are now free of #if <cpu_flavor> constructs.
* Makefile.am, configure.ac, preinstall.am,
new-exceptions/e500_raw_exc_init.c: Started adding
support for e500 CPU. Most stuff is borrowed from mpc6xx.
* rtems/powerpc/powerpc.h: added a #ifdef __ppc_generic
branch. The goal is eventually to make this the starting
point for cleanup (remove as many branches as possible;
replace by run-time tests if necessary).