summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* New network driver from Erik Ivanenko <erik.ivanenko@utoronto.ca>.Joel Sherrill1998-11-234-0/+3113
|
* Patch from Ian Lance Taylor <ian@airs.com>:Joel Sherrill1998-10-281-8/+60
| | | | | | | | | | | | | | | The RTEMS i386 stub in c/src/lib/libbsp/i386/shared/comm/i386-stub.c doesn't take advantage of some of the newer gdb remote features which permits shorter and fewer packets. Here is a patch which uses the 'T' response to report the registers which gdb generally needs, and implements the 'P' request to set only a single register. The general effect is to avoid sending all the register contents back and forth between gdb and the stub every time the stub stops. This also implements the 'D' request which handles the gdb detach command, so you can cleanly quit out of the debugger and leave the target board running.
* Typos spotted by Ian Lance Taylor <ian@airs.com>.Joel Sherrill1998-10-221-2/+2
|
* Added missing .rodata and *(.gnu.linkonce.r*) section.Joel Sherrill1998-10-221-0/+4
|
* 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-073-4/+4
| | | | <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-0531-376/+3515
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-304-7/+10
| | | | | | 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.
* Changed based on patch from pc386 linkcmds from Ian Lance TaylorJoel Sherrill1998-09-301-1/+1
| | | | | | | | | <ian@airs.com>: 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.
* 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 Erik Ivanenko <erik.ivanenko@utoronto.ca>:Joel Sherrill1998-09-242-33/+7
| | | | | | | | | | | | | | | | Please find attached a start.s that includes a cli prior to the hlt instruction. This ensures that external interrupts cannot restart the system after returning to the startup code. ( According to the hlt docs, they will! ) Also find a new timer.c. ( I forgot to update the countdowm value in the timer when I changed the PSCLK frequency in start.s) . This improves timer accuracy. The raw_idt_notify messages are no longer infinite, I tested sp11 and sp05, both which were bad, and I have seen the message print once in one test. I think it's ok if it prints out once. In fact, I don't think you can effectively stop it!
* New version from Erik Ivanenko <erik.ivanenko@utoronto.ca>.Joel Sherrill1998-09-241-1/+23
|
* Updated to remove bad comment.Joel Sherrill1998-09-231-4/+1
|
* Removed printk() references.Joel Sherrill1998-09-231-4/+4
|
* Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca>:Joel Sherrill1998-09-232-23/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Please find attached the two files that have been changed relative to 980921 . The changes here are in the handling of the counter-timer used as the basis for the rtems executive clock. For the most part, these are housekeeping changes. The PSCLK frequency change in start.s... was a part of several bug-fixes. The fix improves executive clock and timer accuracy. changes : start.s -- All timers are disabled by the initialization routine -- PSCLK ( used by clock and timers ) frequency changed to 1MHz The clock_initialize routine now assumes that the PSCLK frequency is exactly 1 MHz. ckinit.c Clock_isr -- removed division by 1000. Now use 'static' variable -- clock_intial_isr_value -- to reset Clock_isrs variable. clock_initialize -- moved counter timer initialization here. Values used to configure the timer are totally dependent on BSP_configuration.microseconds_per_tick ( and the PSCLK assumption). Initializes clock_initial_isr_value used by th Clock_isr to reset Clock_isrs. clock_on -- no longer configures the timer, just enables it. Since altering the number of sections in the BSP, I decided to give it a good "once over" . The clock handling is now cleaner.
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>):Joel Sherrill1998-09-236-57/+54
| | | | | | | | | | | 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.
* Switched "NEW_GAS" flag.Joel Sherrill1998-09-231-2/+0
|
* New file from Emmanuel Raguet <raguet@crf.canon.fr>.Joel Sherrill1998-09-211-0/+64
|
* Update from Aleksey (Quality Quorum <qqi@world.std.com>) to pick up someJoel Sherrill1998-09-211-16/+46
| | | | patches missing from 980911.
* Removed by patch from Aleksey.Joel Sherrill1998-09-211-1/+0
|
* 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-214-16/+16
| | | | | | 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.
* Update from Erik Ivanenko <erik.ivanenko@utoronto.ca> to bring theJoel Sherrill1998-09-215-298/+138
| | | | | | | i386ex bsp up to date. 1) A 'hlt' instruction is coded in case of a return from boot_card in start.s.
* 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-312-25/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-216-18/+41
| | | | | | | | | | 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 Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-192-53/+49
| | | | | | | - Use the "hlt" instruction for the Idle thread, - Optimise interrupt PATH leadding to thread wakeup, - Preparation for Intel exception management that should come before the end of the week...
* 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-198-21/+34
| | | | | | 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-0521-70/+354
| | | | inline with the new IRQ structure.
* Automatic CPU type detection code from Eric Valette <valette@crf.canon.fr>.Joel Sherrill1998-08-057-22/+27
| | | | Enabled on the pc386.
* 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
|