summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Typos spotted by Ian Lance Taylor <ian@airs.com>.Joel Sherrill1998-10-221-2/+2
|
* Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1998-10-221-0/+1
| | | | | | | | | I noticed that in the 4.0.0-beta4a tar file, the file c/src/lib/libbsp/i386/pc386/startup/linkcmds was changed so that it no longer handles the .gnu.linkonce.r* sections. The appended patch was applied to the file. I'm not sure why. I think this patch should probably be backed out, although it's not critical for the release.
* Uncommented the conditional stuff for "good gas 16 bit code".Joel Sherrill1998-10-151-2/+2
|
* NEXT_GAS should have been NEW_GAS. Spotted by Emmanuel Raguet ↵Joel Sherrill1998-10-071-1/+1
| | | | <raguet@crf.canon.fr>.
* Removed files pc386uart.h and pcibio.h from Makefile since they areJoel Sherrill1998-10-061-1/+0
| | | | now installed from the shared directory.
* Patch from Emmanuel Raguet <raguet@crf.canon.fr> to add networkingJoel Sherrill1998-10-061-0/+10
| | | | information to this file to be more like the gen68360.
* Large patch from Erik Ivanenko <erik.ivanenko@utoronto.ca> whichJoel Sherrill1998-10-0512-61/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | moves pieces of the pc386 bsp up to a shared level for all i386 BSPs and modifies the i386ex BSP to use those shared pieces. Serial remote debugging is included for both targets. Erik's notes: There are several workarounds in it: 1) #define NEXT_GAS is hardcoded in pc386/start/start.s 2) #define NEXT_GAS is hardcoded in i386ex/start/start.s 3) #define NEW_GAS is hardcoded in pc386/start16.s 4) #undef __assert and redeclare _assert hardcoded in console.c for both pc386 and i386ex due to my egcs1.1b ~ newlib problem. Should have modified t-rtems.cfg ( no time ) I've tested pc386 with both video and serial consoles and GDB remote. All work fine, except that GDB acts weird. ( re: other posting) I hope this will work for you. It took quite some time to locate the autoconf error. The remainder was just grunt work. Unfortunately, I think I've unwound the removal of the IBMPCInitVideo stuff. Sorry. I REALLY can't spend more time... I've been at this conversion to 4.0 locally and updating the release since Sept. 8th, and have yet to compile my network driver.... This is as much as I can do right now. I look forward to the next patch to really test i368ex. I did make sure that the sample tests worked for pc386.
* Added new autoconf test for i386 code16/code32 support. The guts of theJoel Sherrill1998-09-301-1/+4
| | | | | | test were suggested by Ian Taylor <ian@airs.com> and Joel did the hard part of putting it in aclocal and editting all the offending Makefiles and source code which could use this feature.
* Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1998-09-301-0/+1
| | | | | | | The pc386 linker scripts omits .gnu.linkonce.r* sections. It's not a big deal, but they should be treated like .rodata sections. ELF versions of g++ generate them for static constants defined in template classes, such as string::npos.
* Removed superfluous initialization of PC video.Joel Sherrill1998-09-241-3/+4
|
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>):Joel Sherrill1998-09-234-44/+40
| | | | | | | | | | | 1. Finally fixes raw interrupts for pc386 2. Makes some minor cleanup in console and startup 3. Makes rtems_termios_dequeue_characters() to return count of outstanding chars - it allows to simplify console isrs a little bit. 4. pc386 uart modified to be friendlier to termios parameter changes, to have minor performance improvement and to take advantage of of above termios modification.
* New file from Emmanuel Raguet <raguet@crf.canon.fr>.Joel Sherrill1998-09-211-0/+64
|
* Patches from Aleksey which were not in 980911.Joel Sherrill1998-09-211-1/+4
| | | | | | I am sending you patch which was lost. As far as I remember there were minor patches on top of it, either by Eric Valette or by Eric Norum or by both.
* Update from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-09-212-6/+7
| | | | | | Here are patches that bring 980911 back to what I think is a correct version of raw IDT management as well as a correct initialisation of video console and rtems managed interrupts.
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-09-201-1/+1
| | | | | Compiled and booted without problem. However console was set on COM2. At least for 4.0 it should be video :-)
* Patch from Eric Valette <valette@crf.canon.fr>. Most of this was includedJoel Sherrill1998-09-101-1/+8
| | | | | | | | | | | | in a previous patch. Comments from Eric: patch_com2 was before your own fixes of raw IDT vector management routine. It mainly use human readable constants for the serial line driver code + the patch you gave me for com2 write routine. I applied your patch for raw IDT mngt on top of that. Then made minor cleaning in patch_idt_mngt. I hope this helps.
* Patch from Emmanuel Raguet <raguet@crf.canon.fr>:Joel Sherrill1998-09-103-10/+114
| | | | | | | | | After some good comments from Eric Norum [thanks, Eric !], I have added some modifications to my previous driver patch : - wait for transmitter ready before sending a packet, - new delay management in case of ring-overwritting.
* Patch from Emmanuel Raguet <raguet@crf.canon.fr>:Joel Sherrill1998-08-315-357/+447
| | | | | I have reworked the ethernet driver for the BSP pc386 and here is the patch to apply.
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-314-78/+39
| | | | | | | | | | | | | | | | | | | Eric> NB : there is still a bug on PC386 serial line : exit does not Eric> flush the remaining output queue. As this is not a bug in the Eric> driver itself but somewhere in PC386 initialization/termios Eric> relationship it will be part of another patch. Eric> NB2 : As Emmanuel excerced the exception hanlder code, while Eric> porting the SMC driver to the new BSD stack, we found a bug Eric> in the exception handler : it shall not delete the current Eric> thread in case we are running at interrupt level. This will Eric> be part of another patch... So here is the patch. This patch fixes the two problems mentionned above + it use vpath mechanism intead of copying the irq related files in the right directory. This avoid to compile them each time and is more homogenous with other Makefiles.
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-311-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is a brief description of the attached patch : 1) There was a bug in the code for the COM2 serial line driver. Aleksey gave me a fix that fixes the driver code itself. I would like to thank him again publicly, 2) I introduced constants in the serial driver code because I had a hard time reading the meanning of hexadecimal values in the NS data book :) 3)You can now mix printk and printf on serial line (tested on COM2). There is a #ifdef PRINTK_ON_SERIAL in console.c that enables to have printk on console while printf on serial line, 4) Removed call to displayCpuInfo because anyway if was at the wrong place for serial line console (too early). It can anyway be called at application level, 5) The original printk was unable to display negative integer values and was also recursive. It now works corectly, All the modifications have been tested here on the COM2 port from a PC running RTEMS to a PC running linux, NB : there is still a bug on PC386 serial line : exit does not flush the remaining output queue. As this is not a bug in the driver itself but somewhere in PC386 initialization/termios relationship it will be part of another patch. NB2 : As Emmanuel excerced the exception hanlder code, while porting the SMC driver to the new BSD stack, we found a bug in the exception handler : it shall not delete the current thread in case we are running at interrupt level. This will be part of another patch...
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-241-63/+16
| | | | | | | | | | | | | | | | Celso Labinaz <labinaz@tin.it> pointed to me thatthe console on serial line was not working. After spending quite a time to find the right cable and software, I confirm this. I'm going to debug this in the next days because I want to use the serial line for debugging. In the meantime, in order to be sure that this was a driver initialization/bug, I made printk work on the serial line in order to be sure the receiver part and configuration was OK. Here is the for printk on serial line. BTW, does anyone else use the serial line facilities for PC? printf seems to output nothing (hello.exe output everything that has a printk but application printf seems to be broken).
* Patch from Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-214-11/+20
| | | | | | | | | | Here is a patch that enables to catch exception and get message before crashing RTEMS :) It should be generic to any Intel port although enabled only for pc386 BSP... [Joel] I fixed the bug I introduced in irq_asm.s...
* Fixed discrepancies noted by John Oleynick <johno@sirius.com>.Joel Sherrill1998-08-211-6/+11
|
* Patches from Eric NorumJoel Sherrill1998-08-204-7/+10
|
* Patch from Aleksey <qqi@world.std.com>:Joel Sherrill1998-08-192-10/+45
| | | | | | | | | | | | This patch has same changes as one I sent to you earlier plus it fixes _heap_size problem for pc386 we had discussed earlier. Now, _heap_size is defined and set to 0 in pc386/startup/bspstart.c It can be patched to desireable value in binary image. If it is left unpatched, then startup code will determine size of memory (on the assumption that at least 2MB are present) and use max possible heap.
* Patch from Aleksey <qqi@world.std.com>:Joel Sherrill1998-08-196-17/+30
| | | | | | It fixes netboot build problem, KA9Q configuration for pc386, some compiler wardning, it also removed some stuff ifdef'ed with '#if 0'.
* Patch from Eric Valette <valette@crf.canon.fr> which brings the i386ex BSPJoel Sherrill1998-08-056-4/+22
| | | | inline with the new IRQ structure.
* Automatic CPU type detection code from Eric Valette <valette@crf.canon.fr>.Joel Sherrill1998-08-053-11/+14
| | | | Enabled on the pc386.
* Patch from Eric Valette <valette@crf.canon.fr> and Emmanuel RaguetJoel Sherrill1998-07-245-60/+82
| | | | <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-2310-113/+167
| | | | | | | | | | | | | 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.
* 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
|