| Commit message (Collapse) | Author | Files | Lines |
|
<raguet@crf.canon.fr> to make their patches work together.
|
|
Here is a patch for KA9Q stack.
This patch contains an Ethernet Driver for Western Digital,
some fixes for the UDP and TCP protocols (for endian conversion)
and some little programs which allow the test of UDP and TCP
sockets via Ethernet.
I have tested that on an Intel machine. If someone can test it
on a big-endian machine, ...
|
|
Here is a enhanced version of my previous patch. This patch enables
to potentially share the new interrupt management code for all Intel targets
(pc386, go32 and force386) bsp.
Note : this patch is complete only for pc386. It still needs to
be completed for go32 and force386. I carrefully checked
that anything needed is in for force386 (only some function
name changes for IDT manipulation and GDT segment
manipulation). But anyway I will not be able to test any
of theses targets...
|
|
c/src/lib/libbsp/i386/pc386/console/console.c
__assert() modified so it prints on selected console instead of
PC console
c/src/lib/libbsp/i386/pc386/console/inch.c
inch_sleep() modified, so it does not depend upon tmacros.h
c/src/lib/libbsp/i386/pc386/pc386dev/GDB.HOWTO
description updated
c/src/lib/libbsp/i386/pc386/startup/exit.c
last output before call to exit() will be printed properly on
serial console
c/src/lib/libbsp/i386/pc386/startup/irq.c
re-submitted bug fix for problem in irqs over 7.
|
|
<qqi@world.std.com>). Unfortunately after merging these,
the pc386 will not boot using grub for for. It still does not
work using netboot for me. Here is his summary of changes:
rtems/c/src/lib/libbsp/i386/pc386/Makefile.in
Added support for new sub-directory
rtems/c/src/lib/libbsp/i386/pc386/bsp_specs
Made possible to build COFF image
rtems/c/src/lib/libbsp/i386/pc386/console/console.c
Added support for serial consoles, selectable by patching
binary image, added __assert(), use _IBMPC_inch_sleep()
instaed of _IMBPC_inch()
rtems/c/src/lib/libbsp/i386/pc386/console/inch.c
Added _IMBPC_inch_sleep()
rtems/c/src/lib/libbsp/i386/pc386/console/outch.c
Oops - just formatting
rtems/c/src/lib/libbsp/i386/pc386/include/Makefile.in
Added support for new files
rtems/c/src/lib/libbsp/i386/pc386/include/bsp.h
Added support for new features
rtems/c/src/lib/libbsp/i386/pc386/include/pc386uart.h
New file: definitions for serial ports
rtems/c/src/lib/libbsp/i386/pc386/include/pcibios.h
New file: definitions for PCI BIOS
rtems/c/src/lib/libbsp/i386/pc386/pc386dev/Makefile.in
New file: makefile in new directory
rtems/c/src/lib/libbsp/i386/pc386/pc386dev/i386-stub-glue.c
New file: i386-stub interface
rtems/c/src/lib/libbsp/i386/pc386/pc386dev/i386-stub.c
New file: i386-stub itself
rtems/c/src/lib/libbsp/i386/pc386/pc386dev/pc386uart.c
New file: serial ports
rtems/c/src/lib/libbsp/i386/pc386/pc386dev/pcibios.c
New file: PCI BIOS support
rtems/c/src/lib/libbsp/i386/pc386/start/start.s
Commented out DEBUG_EARLY stuff, everything is working fine
rtems/c/src/lib/libbsp/i386/pc386/start/start16.s
Cleaned up
rtems/c/src/lib/libbsp/i386/pc386/startup/bspstart.c
Added call to console_resereve_resources
rtems/c/src/lib/libbsp/i386/pc386/startup/exit.c
Added support for serial console
rtems/c/src/lib/libbsp/i386/pc386/startup/ldsegs.s
Fixed typo in comments
rtems/c/src/lib/libbsp/i386/pc386/tools/Makefile.in
Changed to reflect cnages in code
rtems/c/src/lib/libbsp/i386/pc386/tools/bin2boot.c
Trivialized, problem - I do not know how to make patch
remove obsolete files - there are a lot of them there
rtems/c/src/lib/libbsp/i386/pc386/tools/binpatch.c
New file: utility to do binary patches
rtems/c/src/lib/libbsp/i386/pc386/wrapup/Makefile.in
Added support for new directory
rtems/make/custom/pc386.cfg
Add COFF image building
|
|
made no attempt to divide the comments up and place them with just
the appropriate files. Here is an excerpt from Ralf's email:
Changes including comments on changes I made after cycling through
all the targets:
* Added ranlib support. Now all targets use "ranlib" instead of "ar -s"
to build an index for a library. If ranlib isn't detected during
configuration, check if ar -s is working and try "ar -s" instead of
* Removed $(XXX_FOR_TARGET) from make/target.cfg.in, use $(XXX) instead now.
* gcc-target-default.cfg: LINK_XXXX-defines reworked to solve the -l
problem under posix (cf gcc-target-default.cfg)
* rtems-glom replaced by Makefile-rules inside of the wrapup/Makefile.in
that has been using rtems-glom until now.
* Removed CCC and friends in gcc-target-default.cfg, as they have been
breaking CXX support.
* Removed CONFIG.$(TARGET_ARCH).CC lines from several custom/*.cfg
files, because this is now set in custom/default.cfg.
* Added aclocal/ar-s.m4, check whether "ar -s" is working
* Added aclocal/cygwin.m4 and aclocal/exeext.m4.
* Reworked aclocal/canonicalize-tools.m4: Added ar -s check; fixes for
problems when XXX_FOR_TARGET is given via environment variables (didn't
work for gcc until now), adding cygwin check, improved autoconf-cache
handling.
* Removed -l from make rule dependencies. LINK_LIBS is now allowed to
contain -L and -l. LINK_OBJS and LINK_FILES must not contain -L or -l.
gcc28 make-exe rules now link using $(LINK_OBJS) $(LINK_LIBS) => Almost
all custom/*.cfg are modified. This is very likely to break something
because of typos or having missed to edit a file.
Open problems, known bugs, things I didn't do:
* custom/p4000.cfg seems to be out of date and requires to be reviewed.
(JRS NOTE: It is subordinate p4650 and p4600 -- both of which build ok
after minor changes.)
* custom/psim.cfg needs to be reviewed, I added some changes to it, I am
insecure about.
(JRS NOTE: psim had a minor problem endif/endef swapped but runs fine.)
* rtems-glom.in can now be removed.
* gcc*.cfg files "make depend" rules don't honor language specific flags
(e.g CXXFLAGS is ignored for *.cc) - Nothing to worry about now, but may
cause problems for hosts/targets not using gcc or rtems-add-ons that use
external packages.
* AFAIS, the no_bsp BSP can't be build anymore, i.e. configure refused
to configure for it whatever I tried.
* The toplevel and toplevel+1 README files are quite out-dated
* cygwin.m4 isn't of much use for rtems. In most cases (cf.
aclocal/*.m4) it is worked around by directly using $host_os. I think
I'll remove it soon after the next snapshot
* Before release the cygwin patch needs to be tested under cygwin. I may
have broken/missed something (esp. the sed-pattern to convert \\ into /
may be broken).
* You should try to build/run the posix-BSP under solaris - I don't
expect problems, but I am not 100% sure, esp. with regard to ranlib/ar -s.
* You should consider to convert all make/compilers/*.cfg files into
make/compilers/*.cfg.in files and let autoconf generate the *.cfg. This
may help getting rid of some if/then/else statements and help
hard-coding some defines into those files in future and shouldn't
disturb now.
* Not having installed libc.a/libm.a on a host may still break building
rtems, esp. when using -disable-gcc28 as the gcc27-configuration scheme
directly accesses libc.a and libm.a. The problem should not appear when
using gcc28 because it references libc/libm only through -lc and -lm
which may be static or dynamic (I didn't test this).
* shgen is not yet included (I didn't yet have enough time to integrate it).
* I know about a few more configure-probs (esp. cross-checking
--enable-* flags).
+ warn/refuse to configure when --enable-libcdir and
--enable-gcc28 are given.
+ force --enable-libcdir when --disable-gcc28 is given
* Replaced KSHELL with @KSH@ in some shell scripts generated by configure.in.
* Added a dependency to aclocal/*.m4 in the toplevel Makefile => configure
and aclocal.m4 will now be rebuild when any aclocal/*.m4 file is changed
* Some changes to aclocal/gcc-pipe.m4 and aclocal/gcc-specs.m4
* Replaced i[[3456]]86-unknown-freebsd2.[[12]] with i[[3456]]86-*freebsd2.*
in configure.in, as I suppose there might exist a variety of valid vendors
(2nd field of the name-tripple)
* Disabled override MAKEFLAGS in toplevel Makefile.in - Potential
side-effects are not really clear to me.
* In mvme162.cfg, $(LINK_LIBS) is missing in the CC line in gcc28's make-exe
rule (yet another one I missed to edit). Just append $(LINK_LIBS) to
the "CC" line, like I hopefully did to ALL other custom/*.cfg files.
* the problem with mvme162lx.cfg is a follow-up problem of the
mvme162.cfg-bug.
* mvme162/console and idp/console had variables named Buffer which
conflicted with similarly named variables in some tests.
|
|
Here are his comments:
I removed all unnecessary stuff from start16.s - setting idt and
setting 16-bit stack using .code32 istructions.
|
|
to fix start16.s. It does not work locally.
|
|
versions of these utilities with C implementations.
|
|
|
|
|
|
+ DEBUG_EARLY_START re-added (Eric Valette)
+ segment register initialization (Aleksey/Quality Quorum)
+ heap size use correction
+ more debug printk's
+ increased heap size.
Now works with grub boot on all systems I have access to including
desktops and a laptop. This is with the i386-rtems tools.
Neither i386-rtemself nor netboot produces a working executable.
|
|
|
|
|
|
|
|
necessary because a patch did not apply cleanly.
|
|
|
|
|
|
The breakdown:
* CC_FOR_TARGET and CXX_FOR_TARGET were not correctly re-read
from autoconf's configuration cache (config.cache)
* If <target>-[gcc|g++] was not found while running configure,
the config macros tried to use other (wrong) compilers (e.g. cc).
Changes:
* New RTEMS_PROG_CC macro (aclocal/prog-cc.m4).
* New RTEMS_PROG_CXX macro (aclocal/prog-cxx.m4)
* Moved a shell script fragment from configure.in to a
new m4-autoconf macro (New file: aclocal/tool-prefix.m4)
* Minor changes to configure.in
I tested it with linux/posix (native gcc/primary libc) and
sh-rtems/gensh1 on a linux host and didn't notice any bugs
related to the problems mentioned above. There seem to be
more bugs with the posix bsp, but I consider them minor as
the build run completed successfully. It is just too late
for me to attempt to fix them now.
|
|
|
|
|
|
|
|
|
|
code in each BSP's bspstart.c. These changes were:
+ confdefs.h now knows libio's semaphore requirements
+ shared/main.c now copies Configuration to BSP_Configuration
+ shared/main.c fills in the Cpu_table with default values
This removed the need for rtems_libio_config() and the constant
BSP_LIBIO_MAX_FDS in every BSP. Plus now the maximum number of open
files can now be set on the gcc command line.
|
|
|
|
to multiple. This lets the stack check extension be installed
at system initialization time and avoids the BSP having to
even know about its existence.
|
|
|
|
by newlib.
|
|
component.
|
|
based on the GNU tools. This usually involved correcting the
type of bsp_start(), bsp_cleanup(), adjusting the start code to
call the right start routine (the shared boot_card()), and then
removing code from bsp_start() which was performed in the new
boot_card()/main() path.
|
|
|
|
|
|
"gmake debug".
|
|
|
|
of BSS size. The conversion from a count of u8's to a count of
u32's was shifting in the wrong direction. This error had been in
the start code a long time. It had not caused problems because
the BSS is typically much smaller than the C heap which typically
follows it in memory. Plus since this code was executed at start
time, all that really happened was an extra zeroing of some memory.
|
|
Here is the result of my nightly work to get RTEMS_ROOT=$srcdir working
with different shells and relative/absolute paths.
What I did is relatively simple in principle:
Instead of setting RTEMS_ROOT in configure.in and then let configure
substitute @RTEMS_ROOT@ inside the Makefiles, I now let each Makefile
set RTEMS_ROOT from each Makefile's @top_srcdir@ value.
The difference is subtile, but with enormous side effects:
- If RTEMS_ROOT is set in configure, then the same single value will be
propagated to all Makefiles. This breaks using relative paths, as the
relative path to the root of the source tree is used inside of all
subdirectory Makefiles.
- Now each Makefile.in sets RTEMS_ROOT = @top_srcdir@. top_srcdir is
computed individually by configure for each single Makefile.in, hereby
receiving the correct value, no matter if relative or absolute paths are
used.
To get this working, I needed to remove setting RTEMS_ROOT from
target.cfg.in, because this overrides the value of RTEMS_ROOT from each
individual Makefile.
Furthermore, I removed RTEMS_CUSTOM from the Makefiles and replaced all
"include $(RTEMS_CUSTOM)" directives with"include
$(RTEMS_ROOT)/make/custom/$(RTEMS_BSP)". Perhaps you don't like this,
but I think, to have one variable less is clearer and easier to
understand than having several variables refering to the next one.
I enclose a small patch to this mail, which
- fixes the config.h problem (to finally clearify misunderstands)
- removes assignment/subsitution of RTEMS_ROOT from configure.in
- contains a workaround for the application Makefile's RTEMS_ROOT
problem (reported by Eric)
- removes some unused lines from the toplevel Makefile.in
- removes assignment of RTEMS_ROOT from make/target.cfg.in
|
|
|
|
|
|
> RTEMS is under CVS control and has been since rtems 3.1.16 which was
> around May 1995. So I just to add the $Id$. If you notice other files
> with missing $Id$'s let me know. I try to keep w\up with it.
Now that you have asked -- I'll attach a list of files lacking an RCS-Id to
this mail. This list has been generated by a little sh-script I'll also
enclose.
|
|
interpreted at the right point per Eric Norum's discovery:
The problem with the my previous `fix' for adding linker commands
was with the ordering of the options to the linker.
For example, to make a larger heap size, the application Makefile would
CFLAGS_LD = -Wl,--defsym -Wl,HeapSize=0x40000
The command passed to the linker would be :
m68k-rtems-ld .... -T xxx/linkcmds .... --defsym HeapSize=0x40000 .....
This doesn't work because the script in linkcmds inserts a default
value for HeapSize if HeapSize is not defined by the time the linker
looks at the linkcmds script.
The solution seems to be to move the -T linkcmds%s in the bsp_specs
file out of the link specfication and into the lib specification -- a
little unorthodox, perhaps, but it seems to work!
|
|
switch which lets the user specify a different linker script.
|
|
any directory in the build tree. The only variable which must be set
before the command "gmake" is invoked is RTEMS_BSP (e.g. RTEMS_BSP=erc32).
|
|
|
|
<pmcnr@camoes.rnl.ist.utl.pt> and Jose Rufino <ruf@asterix.ist.utl.pt>
of NavIST (http://pandora.ist.utl.pt/).
|