summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Towards automake XI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-03-1912-44/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is the most scary of all proposals I've been mailing to you this week until now. It consists of 3 parts: 1. a patch 2. a perl script (acpolish) 3. a shell script wrapper to invoke the perl-script. The perl-script reads in each Makefile.in and modifies them ("polishes/beautifies" them :-). These modifications are not easy to describe: Basically, it hard-codes some automake Makefile-variables and rules into RTEMS autoconf-Makefile.ins (Note: autoconf vs. automake!!) and converts some settings/variables to configure scripts' requirements (Yes, plural). E.g. it adds the automake standard variables $top_builddir and $subdir, adds dependency rules for automatic re-generation of Makefiles from Makefile.in, adds support variables for relative paths to multiple configure scripts etc. The patch is a one-line patch to enable the support of the new features added by acpolish. The shell script is a wrapper which pokes around inside of the source tree for Makefile.ins and invokes acpolish on all autoconf-Makefile.ins. acpolish is designed to be able to run several times on the same Makefile.in and may once become a more general tool to convert RTEMS Makefile.in to automake. Therefore, I'd like to keep it inside of source tree. (e.g. as contrib/acpolish or c/update-tools/acpolish). However, it doesn't make sense to export it outside of RTEMS. To apply this: cd <source-tree> patch -p1 -E < <path-to-patch>/rtems-rc-19990318-1.diff tar xzvf <path-to>/rtems-rc-polish.tar.gz ./rtems-polish.sh ./autogen Note: The path contrib/acpolish is hard-coded into rtems-polish.sh, if you decide to put it in an alternative place, please modify rtems-polish.sh to reflect this change. Later: cvs rm make/rtems.cfg (It isn't used anymore) cvs add contrib cvs add contrib/acpolish cvs commit I've tested this intensively, but naturally I can't exclude bugs. Ralf. PS.: Most probably, this is the last "Towards automake" patch. The next one probably will be a real automake patch.
* Towards automake X patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-03-191-0/+5
| | | | | | | | | | | | | | | | | | | This one once again changes the scheme to preinstall bsp_specs. It moves generating PROJECT_ROOT/lib/bsp_specs to libbsp/<cpu>/<bsp>/wrapup/Makefile.in. I.e. it decentralizes generation of bsp_specs to a bsp-dependent directory, because preinstalling bsp_specs in a centralized Makefile like it has been done until now does not harmonize well with spliting the toplevel configure script in cpu and bsp-dependent configure scripts and automake. First apply the patch (rtems-rc-19990318-0.diff) below, then run the reorg-bsp_specs.sh script. IMO, this one is comparatively harmless and eases automake support significantly.
* Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1999-03-181-16/+27
| | | | | | Erik Ivanenko pointed out a problem in the ne2000.c driver I submitted: it did not work correctly with bootp. Here is a patch, based on a patch he sent me.
* Switch to using standard compile rule for assembly.Joel Sherrill1999-02-241-4/+2
|
* Renamed network to wd8003.Joel Sherrill1999-02-184-4/+4
|
* Patch from Emmanuel RAGUET <raguet@crf.canon.fr> to add filesJoel Sherrill1999-02-185-8/+942
| | | | | | that were accidentally not committed earlier. The DECNet driver is being added as its own directory to avoid forcing the driver to have to pull in the complete set of network drivers.
* Added comments.Joel Sherrill1999-02-181-0/+20
|
* Added NE2000 Driver from Ian Lance Taylor <ian@airs.com>. Comments:Joel Sherrill1999-02-184-2/+998
| | | | | | | | | | | | | | | | | | | | | | Both the ne2000 and the wd80x3 are based on the National Semiconductor 8390 chip, so there is a fair amount of overlap between the two drivers. It would be possible in principle to combine some code into a separate set of subroutines called by both. In fact, the drivers in both OpenBSD and Linux work this way. I didn't bother, because for the relatively simple drivers used by RTEMS, the overlap is not especially large, and any reasonable use of subroutines would lead to slightly less efficient code. This ne2000 driver uses two transmit buffers. While one packet is being transmitted over the Ethernet, RTEMS will upload another. Since uploading a packet to the ne2000 is rather slow, I don't think there is any point to having more than two transmit buffers. However, the code does make it possible, by changing NE_TX_BUFS, although that would of course reduce the number of receive buffers. I suspect that the wd80x3 driver would benefit slightly from copying the multiple transmit buffer code. However, I have no way to test that.
* Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-02-1810-5/+25
| | | | | | | | | | | | | | | | > 5) rtems-rc-19990202-1.diff/reorg-install.sh > > reorg-install.sh fixes a Makefile variable name clash of RTEMS > configuration files and automake/autoconf standards. > Until now, RTEMS used $(INSTALL) for install-if-change. Automake and > autoconf use $(INSTALL) for a bsd-compatible install. As > install-if-change and bsd-install are not compatible, I renamed all > references to install-if-changed to $(INSTALL_CHANGED) and used > $(INSTALL) for bsd-install (==automake/autoconf standard). When > automake will be introduced install-if-change will probably be replaced > by $(INSTALL) and therefore will slowly vanish. For the moment, this > patch fixes a very nasty problem which prevents adding any automake file > until now (There are still more).
* Patch from Emmanuel Raguet <raguet@crf.canon.fr>:Joel Sherrill1999-02-182-1/+10
| | | | | | | You will find enclosed a patch which contains, for Intel PC386 target : - an Ethernet driver for DEC21140 device based boards. - a simple cache management with paging mechanism.
* Patch from Eric Valette <valette@crf.canon.fr> to correct _exitJoel Sherrill1999-02-151-2/+1
| | | | undefined problem.
* Changed call to __rtems_close() to close().Joel Sherrill1999-01-201-3/+3
|
* Patch from D. V. Henkel-Wallace <gumby@zembu.com> to remove unused variable.Joel Sherrill1999-01-041-1/+0
|
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to eliminate anotherJoel Sherrill1998-12-171-1/+1
| | | | compiler dependent flag in a Makefile.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1998-12-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Some Makefile.ins depend on gcc by hard-coded gcc-specific compiler flags: -g added to CFLAGS /LDFLAGS in > find . -name Makefile.in -exec grep -l ' \-g' {} \; ./c/src/lib/libbsp/i386/i386ex/startup/Makefile.in ./c/src/lib/libbsp/i386/pc386/tools/Makefile.in -Wall added CFLAGS in > find . -name Makefile.in -exec grep -l ' \-Wall' {} \; ./c/src/exec/score/tools/sh/Makefile.in ./c/src/lib/libbsp/i386/pc386/tools/Makefile.in Both -g and -Wall should not be used in any Makefile.in (Yes, I know, tools/sh/Makefile.in was written by me :-). I'd like to propose to remove these flags from the files mentioned above.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to rename allJoel Sherrill1998-12-148-9/+9
| | | | | .s files to .S in conformance with GNU conventions. This is a minor step along the way to supporting automake.
* Renamed ASFLAGS to ASMFLAGS for consistency per suggestion from Ralf ↵Joel Sherrill1998-12-141-4/+4
| | | | Corsepius <corsepiu@faw.uni-ulm.de>.
* 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