summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Patch from Eric Valette <valette@crf.canon.fr> and Emmanuel RaguetJoel Sherrill1998-07-246-61/+85
| | | | <raguet@crf.canon.fr> to make their patches work together.
* Patch from Emmanuel Raguet <raguet@crf.canon.fr>:Joel Sherrill1998-07-236-3/+738
| | | | | | | | | | | | 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, ...
* Patch from Eric VALETTE <valette@crf.canon.fr>:Joel Sherrill1998-07-2319-114/+1591
| | | | | | | | | | | | | 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...
* Patch from Quality Quorum <qqi@world.std.com>. Comments:Joel Sherrill1998-07-103-11/+89
| | | | | | | | | | | | | | | | | | | 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.
* PC386 BSP enhancements from Aleksey Romanov (Quality QuorumJoel Sherrill1998-06-2715-313/+950
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <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
* Monstrous patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. I haveJoel Sherrill1998-06-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Clean up from Aleksey Romanov (Quality Quorum <qqi@world.std.com>).Joel Sherrill1998-06-251-26/+3
| | | | | | | Here are his comments: I removed all unnecessary stuff from start16.s - setting idt and setting 16-bit stack using .code32 istructions.
* Added support for -qrtems_debug flag.Joel Sherrill1998-06-041-1/+3
|
* Update from Pedro Romano <pmcnr@camoes.rnl.ist.utl.pt> with an attemptJoel Sherrill1998-06-032-15/+39
| | | | to fix start16.s. It does not work locally.
* Update from Pedro Romano <pmcnr@camoes.rnl.ist.utl.pt> which replaces C++Joel Sherrill1998-06-032-9/+208
| | | | versions of these utilities with C implementations.
* Deleted blank lines.Joel Sherrill1998-05-271-6/+0
|
* Added "speaker on" debug code.Joel Sherrill1998-05-271-0/+12
|
* Numerous changes including the following:Joel Sherrill1998-05-273-257/+194
| | | | | | | | | | | | + 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.
* Moved rtemsReboot() to console/inch.c.Joel Sherrill1998-05-271-14/+0
|
* Deleted HEAP_SIZE constant.Joel Sherrill1998-05-271-5/+0
|
* Removed illegally formatted comments.Joel Sherrill1998-05-271-4/+4
|
* Moved rtemsReboot() to here from exit.c. This appears to have beenJoel Sherrill1998-05-271-0/+12
| | | | necessary because a patch did not apply cleanly.
* Corrected license notices per Eric's permissionJoel Sherrill1998-05-212-34/+12
|
* New file from Eric ValetteJoel Sherrill1998-05-212-0/+152
|
* Patch from Ralf Corseipus to fix latent configure problems suddenly triggered:Joel Sherrill1998-05-206-273/+209
| | | | | | | | | | | | | | | | | | | | | | | 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.
* New file from Pedro RomanoJoel Sherrill1998-05-181-0/+178
|
* Updates from Pedro Romano.Joel Sherrill1998-05-181-6/+10
|
* New file.Joel Sherrill1998-05-182-1/+26
|
* Corrected and added sections to link cleanly under i386-rtemself.Joel Sherrill1998-05-041-35/+44
|
* Update from Pedro Romano <pmcnr@camoes.rnl.ist.utl.pt>.Joel Sherrill1998-04-2711-820/+274
|
* Numerous changes which in total greatly reduced the amount of sourceJoel Sherrill1998-04-157-106/+0
| | | | | | | | | | | | 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.
* Transitioned to shared bsp_libc_init() and cleaned up comments.Joel Sherrill1998-04-158-184/+77
|
* Per suggestion from Eric Norum, went from one initial extension setJoel Sherrill1998-04-154-51/+0
| | | | | | 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.
* Stack checker extension now accounted for in confdefs.hJoel Sherrill1998-04-144-26/+2
|
* Now accounts for region used by RTEMS malloc and extension usedJoel Sherrill1998-04-144-52/+0
| | | | by newlib.
* Moved bsp_postdriver_hook() to a shared file and made it a commonJoel Sherrill1998-03-306-89/+11
| | | | component.
* Renamed crt0.o to crt0_go32.o to avoid build problems.Joel Sherrill1998-03-301-1/+1
|
* Update from "erik.ivanenko" <erik.ivanenko@utoronto.ca>.Joel Sherrill1998-03-3012-130/+1432
| | | | | Also removed bsp_postdriver_hook() from every bsp possible and moved to shared version.
* Added BSP specific start since it had become VERY complex to attemptJoel Sherrill1998-03-213-1/+325
| | | | to share the start code across i386 BSPs.
* Switch to using a shared main() for all of the embedded BSPsJoel Sherrill1998-03-217-44/+13
| | | | | | | | 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.
* updated copyright to 1998Joel Sherrill1998-02-1746-46/+46
|
* Added .eh_frame, C++ constructor, and C++ destructor sections.Joel Sherrill1998-02-173-1/+55
|
* Incorporated Ralf Corsepius' idea for new -q flags to properly supportJoel Sherrill1998-02-113-6/+21
| | | | "gmake debug".
* Don't install tools using variant name.Joel Sherrill1998-02-111-1/+1
|
* Problem report from Brian Cuthie regarding incorrect calculationJoel Sherrill1998-02-061-1/+2
| | | | | | | | | 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.
* Big patch form Ralf Corsepius described in this email:Joel Sherrill1998-01-3032-128/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fixed missing carriage return at the bottom of the file reportedJoel Sherrill1998-01-271-1/+0
| | | | by Ralf Corsepius
* Added some GRUB information from Phil Wilshire.Joel Sherrill1998-01-221-0/+12
|
* Removed CONFIG_DIR and PROJECT_HOME directories.Joel Sherrill1998-01-2032-48/+33
|
* Ralf Corsepius reported a number of missing CVS Id's:Joel Sherrill1998-01-1621-101/+138
| | | | | | | | | | > 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.
* Moved -qnolinkcmds option so arguments passed on the command line areJoel Sherrill1997-12-203-6/+6
| | | | | | | | | | | | | | | | | | | | | 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!
* Modified bsp_specs per Eric Norum's suggestion to handle -qnolinkcmdsJoel Sherrill1997-12-193-3/+3
| | | | switch which lets the user specify a different linker script.
* Modified a lot of files to take a first cut at supporting building fromJoel Sherrill1997-12-1032-33/+129
| | | | | 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).
* Changed the uuencode line to work better with VPATH setups.Joel Sherrill1997-12-061-2/+2
|
* Inclusion of PC386 BSP submitted by Pedro Miguel Da Cruz Neto RomanoJoel Sherrill1997-12-0130-0/+4892
| | | | | <pmcnr@camoes.rnl.ist.utl.pt> and Jose Rufino <ruf@asterix.ist.utl.pt> of NavIST (http://pandora.ist.utl.pt/).