This allows the old stack's configuration structures to be used
unchanged even though this code currently does not support all
of the options. It likely will never support all of the options
as some should eventually come through configuration files as
they would in a real FreeBSD system. Other configuration
parameters are likely configurable via "hints".
Each target has the option of reusing a file from another target.
To be able to get pieces from different architectures cleanly,
files are copied by the Makefile to a central directory named "copied".
This makes them easier to remove and keeps the source tree clean.
+ sparc did not really have a unique in_cksum.c and Makefile
needed to be adjusted to reflect this
+ some destination directories for copied files did not exist.
make the destination directory before copying.
This is really not a great thing to do as it messes with the source
tree but it works for now. It would be better to make a special
place to put generated source and integrate that into the build system.
The MIPS in_cksum.c method supports big and little endian targets. This
does not include any inline assembly and should be reasonable for most
targets.
The current implementation assumes that the architecture supports the Programmable
Interrupt Controller interrupt API in RTEMS. Most architectures do not use this
model and provide only the Simple Vectored interrupt API. The SPARC port has an
implementation of the PIC API that builds on the Simple Vectored API.
The code added here is just enough to compile. The hope is that a generic
PIC API wrapper will be implemented on top of the Simple Vectored which will
instantly provide support for all other architectures.
For now, the issues of code portability related to PCI support, in_cksum,
cpufunc.h, linkcmds etc are sufficiently challenging that just ensuring we are
able to compile for all RTEMS supported architectures will let us address many
issues.
In summary, this is just a placeholder which lets the RTEMS LibBSD code compile
on Simple Vectored architectures.
At least 80 files in this tree have an advertisting clause. 56 in
the old TCP/IP stack did. We will not have a functional stack unless
we accept this unfortunate situation.
At this point, we are unsure what actual functionality will be
required for a functional MIPS port so just provide a stub.
This lets the build complete and avoids the code with the
advertising clause.