summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-09-0510-3/+18
| | | | | | | * 3c509/Makefile.am, clock/Makefile.am, console/Makefile.am, ne2000/Makefile.am, start/Makefile.am, startup/Makefile.am, timer/Makefile.am, wd8003/Makefile.am, wrapup/Makefile.am: Include compile.am
* 2000-08-30 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-08-302-12/+50
| | | | | * console/keyboard.h: Changed numerous routines from extern inline to static inline.
* 2000-08-26 Rosimildo da Silva <rdasilva@connecttel.com>Joel Sherrill2000-08-3023-351/+6182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Major rework of the "/dev/console" driver. * Added termios support for stdin ( keyboard ). * Added ioctls() to support modes similar to Linux( XLATE, RAW, MEDIUMRAW ). * Added Keyboard mapping and handling of the keyboard's leds. * Added Micro FrameBuffer driver ( "/dev/fb0" ) for bare VGA controller ( 16 colors ). * Added PS/2 and Serial mouse support for PC386 BSP. * console/defkeymap.c: New file. * console/fb_vga.c: New file. * console/fb_vga.h: New file. * console/i386kbd.h: New file. * console/kd.h: New file. * console/keyboard.c: New file. * console/keyboard.h: New file. * console/mouse_parser.c: New file. * console/mouse_parser.h: New file. * console/pc_keyb.c: New file. * console/ps2_drv.h: New file. * console/ps2_mouse.c: New file. * console/ps2_mouse.h: New file. * console/serial_mouse.c: New file. * console/serial_mouse.h: New file. * console/vgainit.c: New file. * console/vt.c: New file. * console/Makefile.am: Reflect new files. * console/console.c, console/inch.c, console/outch.c: Console functionality modifications. * startup/Makefile.am: Pick up tty_drv.c and gdb_glue.c
* Adding ChangeLogs.Joel Sherrill2000-08-102-0/+6
|
* Moved i386 and m68k cache management code to libcpu. EverythingJoel Sherrill2000-06-131-1/+2
| | | | | | now is an implementation of the prototypes in rtems/rtems/cache.h. The libcpu/i386/wrapup directory is no longer needed. The PowerPC needs this done to it.
* Removed references to printk as part of moving it to a more shareableJoel Sherrill2000-06-121-1/+1
| | | | location in libc.
* Merged from 4.5.0-beta3aJoel Sherrill2000-06-1218-97/+91
|
* Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill2000-04-1312-0/+46
| | | | adds .cvsignore.
* Patches rtems-rc-20000204-0.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-02-082-4/+8
| | | | | | | | | | | | | | | | | that contains: * Removes remaining (now illegal) references to $(SRC) from a couple of Makefile.ams * Removes duplicate AC_CONFIG_SUBDIRS macro from c/configure.in * Moves ENABLE_LIBCDIR into RTEMS_PROG_C[C|XX]_FOR_TARGET (hides LIBCDIR from most configure scripts, i.e. LIBCDIR becomes less visible) * Adds RTEMS_PROG_C[C|XX]_FOR_TARGET and RTEMS_CANONICALIZE_TOOLS to libbsp/*/configure.ins (A minor bug in previous implementations, which only has an impact when switching to GNU/Cygnus canonicalization) * Cleans up several bogus comments. * Removes MKLIB * Switches the version number to 4.5.0 (for testing version number handling)
* Patches rtems-rc-20000118-3.diff and rtems-rc-20000118-4.diff fromJoel Sherrill2000-01-3110-72/+74
| | | | | | | | | | Ralf Corsepius <corsepiu@faw.uni-ulm.de> that contain: * Modifications, (minor) corrections, cleanups to most existing Makefile.ams * Adds automake support to all remaining BSPs which have not yet been converted to automake. * Makefile.am for all remaining wrapup/Makefile.ams
* Patch rtems-rc-20000118-1.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-01-311-0/+1
| | | | | | | | | | | | | | that contains: * cleanups to configuration files * A reworked gccnewlib.spec.in: I have reformated it for enhanced readability and added more rtems-base packages. It now should be free of any installation conflicts (If there still remain some, they should be regarded as bugs). * A fix to the bin2boot RTEMS_BSP issue (make RTEMS_BSP="pc386 pc486" now works). * removes libbsp/bare/wrapup * Further cleanups
* Modification to properly support BSP aliases (pc[456]86).Joel Sherrill2000-01-311-4/+4
|
* Suggested modification from Rosimildo da Silva <rdasilva@connecttel.com>Joel Sherrill2000-01-311-9/+10
| | | | to make the BSP boot on netboot.
* Added AC_SUBST(RTEMS_BSP) so the makefiles properly honor theJoel Sherrill2000-01-311-0/+1
| | | | BSP alias on the tools.
* Patch rtems-rc-20000104-16.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-01-1223-702/+372
| | | | that converts the libbsp/i386 subdirectory to full automake.
* Patch rtems-rc-20000104-15.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-01-121-0/+4
| | | | | | | | | | that fixes the following problems: 1. Removing bogus ';' in some configure.in (cosmetical fix) 2. Moves GAS_CODE16 checks to libbsp/i386/*/configure.in (essential fix) #2 was responsible for the gcc/binutils-2.9.5 choking while building for the pc386.
* Removed old hack of using Configuration Table entry ticks_per_timesliceJoel Sherrill2000-01-111-8/+4
| | | | | | | being set to 0 to indicate that there should be no Clock Tick. This was used by the Timing Tests to avoid clock tick overhead perturbing execution times. Now the Timing Tests simply leave the Clock Tick Driver out of the Device Driver Table.
* Removed warning by changing %eax -> %ax as source of move to segmentJoel Sherrill2000-01-101-3/+3
| | | | registers.
* Patch rtems-rc-20000104-11.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-01-1013-56/+83
| | | | | | | | that converts the i386 directory to automake. NOTE: Ralf is unable to build any i386 BSPs. This was true before and after this patch and appears (to Joel) to be a tool issue unrelated since others can build i386 BSPs.
* Patch from Emmanuel Raguet <raguet@crf.canon.fr> which corrects the followingJoel Sherrill2000-01-072-5/+5
| | | | | | | problems: - unclosed comment in pc386/start/start16.S - bad #endif in pc386/startup/ldseg.S
* Made to compile again.Joel Sherrill2000-01-041-1/+1
|
* Fixed path to shared/include/coverhd.h.Joel Sherrill2000-01-031-1/+1
|
* Patch rtems-rc-19991203-12.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-01-031-5/+5
| | | | to added the bin2boot_SOURCES warning.
* Reverted the delay logic.Joel Sherrill1999-12-211-8/+8
|
* Now use coverhd.h out of the libbsp/shared directory.Joel Sherrill1999-12-211-1/+2
|
* Now use shared coverhd.hJoel Sherrill1999-12-211-103/+0
|
* Removed warnings.Joel Sherrill1999-12-134-5/+8
|
* Warning removal patch from Philip A. Prindeville <philipp@zembu.com>.Joel Sherrill1999-12-133-2/+10
|
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>) to change theJoel Sherrill1999-12-032-6/+46
| | | | | | | | | | | delay loop in this BSP. Here is his response to a question about the patch: Yes, or that other machine has a different chipset with different timing requirements on enabling Gate 20. I am strongly suspecting that it may some how related to the video card I am using (on my old P-75 target it was plain PCI VGA, on my new one it is Diamond Stealth 3D 2000).
* Modification from Emmanuel Raguet <raguet@crf.canon.fr> to merge theJoel Sherrill1999-12-035-945/+9
| | | | | | dec21140 drivers from the i386/pc386 and powerpc/mcp750 (all Motorola PowerPC boards) and move the network driver to libchip. This driver should work on all PCI based uses of this chip.
* Patch from Rosimildo DaSilva <rdasilva@connecttel.com> for CygwinJoel Sherrill1999-12-031-2/+2
| | | | to consistently use $(EXEEXT).
* Patch rtems-rc-19991117-9.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1999-11-229-12/+13
| | | | | to convert the libc directory to automake and "dozens of small fixes for Makefile.ins/configure.ins below c/src/lib."
* Patch rtems-rc-19991117-4.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .. a major configuration cleanup ... major enhancement of automake support. ... and it contains a *major* breakthough: Automake support for libchip and libmisc *LEAF* directories. To implement this I have used several nasty tricks * The basical trick is to wrap an old Makefile.in's contents into a Makefile.am and still continue to use (i.e include) the old *.cfg files. * Replaced each INSTALL_IF_CHANGE and INSTALL_VARIANT with make dependencies * Add a gnu-make ifdef AUTOMAKE to main.cfg to avoid conflicts between automake and RTEMS make rules * Replaced each install:: and preinstall:: rule with make dependencies * Replaced SUB_DIRS with SUBDIRS in all Makefile.ins (Automake convention) * Removed each manually added autoconf substitution which automake performs automatically. This is not yet full automake support, because using the temporary installation directory, preinstallation in general and building variants are in contradiction to automake's basic working principles ... ... the new Makefile.ams work still somewhat clumsy ... nevertheless they work (quite well). WARNING: At first glance this patch is small, but * it affects the whole configuration system. * it opens the road to introducing automake to all Makefile.ins currently not being under automake control. JOEL> Does this remove or add any files? Both, all Makefile.ins below libchip and libmisc get replaced with Makefile.ams.
* Updated copyright notice.Joel Sherrill1999-11-1714-28/+14
|
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>) toJoel Sherrill1999-10-272-19/+36
| | | | | | increase ease of application configuration of the pc386 BSP. This patch allows switching the printk console to a serial port and overriding bsp_start by making it a weak alias.
* Added $(EXEEXT) in attempt to help Cygwin install process.Joel Sherrill1999-10-271-2/+2
|
* Patch from Emmanuel Raguet <raguet@crf.canon.fr> to fix a small bug whereJoel Sherrill1999-10-261-1/+1
| | | | the receive buffer size was 16 bytes too small.
* Modifications from Erik Ivanenko <erik.ivanenko@utoronto.ca> to addJoel Sherrill1999-10-262-5/+17
| | | | | proper Multiboot signature to pc386 BSP. This enables Grub to recognize the image.
* Removed aclocal.m4 generated from aclocal macrosJoel Sherrill1999-10-061-266/+0
|
* Removed configure generated from configure.inJoel Sherrill1999-10-061-1656/+0
|
* Corrected comment.Joel Sherrill1999-10-052-2/+2
|
* Regenerated.Joel Sherrill1999-10-052-95/+99
|
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make fix bugJoel Sherrill1999-10-041-4/+4
| | | | where wrapup left pieces out of the librtemsall.a.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch below actuallly consists of two patches: 1) moving librpc to c/src/librpc similar to what has been done to librtems++ 2) reworked configure scripts, many safety and dependency checks added to aclocal/*.m4 macros + configuration fixes. To apply: mkdir c/src/librpc mkdir c/src/librpc/src cp c/src/lib/librpc/*.c c/src/librpc/src cp c/src/lib/librpc/Makefile.in c/src/librpc/src mkdir c/src/librpc/include mkdir c/src/librpc/include/rpc cp c/src/lib/include/rpc/* c/src/librpc/include/rpc patch -p1 < ../rtems-rc-19990820-7.diff rm -rf c/src/lib/librpc rm -rf c/src/lib/include/rpc ./autogen The additional checks in aclocal/*m4 macros add rather restrictive, sometimes unnecessarily restrictive constraints on the sequence of how macros can be used in a configure.in script. Adding them has let my problems with some more complicated configuration options vanish. Apparently some macros had not been in the required order . ---- Now I still get some linking errors for some cpus and bsps, esp when linking cdtest, but also at other locations: e.g. this happens for mips64orion/p4600: # make[5]: Entering directory `/lfs/poseidon/users/rtems/src/multi/build/mips64orion-rtems/c/p4600/tests/samples/hello' /opt/rtems/bin/mips64orion-rtems-gcc --pipe -B../../../../../../p4600/lib/ -specs bsp_specs -qrtems -DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3 -mcpu=4600 -G0 -I../../../../../../p4600/lib/include/networking -g -Wall -ansi -fasm -O4 -fomit-frame-pointer -o o-p4600/hello.exe o-p4600/init.o ../../../../../../p4600/lib/no-dpmem.rel ../../../../../../p4600/lib/no-event.rel ../../../../../../p4600/lib/no-msg.rel ../../../../../../p4600/lib/no-mp.rel ../../../../../../p4600/lib/no-part.rel ../../../../../../p4600/lib/no-signal.rel ../../../../../../p4600/lib/no-timer.rel ../../../../../../p4600/lib/no-rtmon.rel /opt/rtems/mips64orion-rtems/lib/libc.a(dtoa.o): In function `_dtoa_r': /opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol /opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol /opt/hermes/embedded/build/build-mips64orion-tools/mips64orion-rtems/newlib/libc/stdlib/../../../../../src/newlib/libc/stdlib/dtoa.c:348: relocation truncated to fit: R_MIPS_LITERAL no symbol collect2: ld returned 1 exit status # mips64orion-rtems-gcc -v Reading specs from /opt/rtems/lib/gcc-lib/mips64orion-rtems/2.95.1/specs gcc version 2.95.1 19990816 (release) # mips64orion-rtems-ld -v GNU ld version 2.9.5 (with BFD 2.9.5)
* Removed Makefile.in generated from Makefile.amJoel Sherrill1999-10-041-395/+0
|
* Regenerated.Joel Sherrill1999-10-043-33/+37
|
* Applied patch rtems-rc-19990820-6.diff.gz fromJoel Sherrill1999-09-0713-25/+25
| | | | | Ralf Corsepius <corsepiu@faw.uni-ulm.de> which converted many Makefile.in's to Makefile.am's. This added a lot of files.
* Patch rtems-rc-19990709-6-diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1999-08-062-2/+2
| | | | | applied. This modified many Makefiles and custom files and makes many more settings (network, multiprocessing, etc) gnerated by autoconf.
* Patch from Eric Valette <valette@crf.canon.fr> to fix interruptJoel Sherrill1999-08-031-2/+0
| | | | initialization typo and make i8259s_cache only accessed from C.
* Patch from Eric Valette <valette@crf.canon.fr> based on a tremendousJoel Sherrill1999-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug report from David Decotigny <David.Decotigny@irisa.fr>: During the last few days, I've been back working on RTEMS. Let me remind you that RTEMS didn't boot on our (old) Dell P90 machines (ref: PC 590) : we could only get a reboot out of them. 1/ The symptoms --------------- Hopefully, the problem was rather deterministic. The stack couldn't be written correctly : issueing one or more "push" would always push '0' onto the stack. The way to solve this was to issue a "pop", such as "pushl eax ; popl eax". After this "pop", the stack would be writeable again. BUT, it will be writable for 8 consecutive "push"s. After these 8 "push"s, the other "push"s are wrong again, and a blank push/pop is needed. Considering that the L1 cache lines of this pentium are 32 bytes long, and that 8 long int are 32 bytes long too, it came to us that there was a problem with the cache. Actually, the bug of the push could be shown through memory accesses directly : writing on an not-in-cache mem location would put 0 until this mem location is accessed through a single "read". Then, the whole cache line would be right again. 2/ The consequences ------------------- Of course, that was the first thing that we've been able to observe ;) RTEMS could not boot. Actually, when a "call" pushed 0 onto the stack, the ret could only lead to raise an exception a bit later. Since, in the early stage, the Interrupt vector points to 0, averything couldn't get worse : triple fault + reboot. 3/ Explanation -------------- This cache mechanism corruption only appeared after load_segment() returned (through a jump). Investigating a bit further shows that this appears /sometimes/ during the PICs initialization. "Sometimes" proved to be "When writing something with the 4th bit of %al set". That is "when writing 0x28 or 0xff" for example. Clearing this bit would just make the things work right. Actually, this isn't a bug in the proper PIC initialization (which is quite academic). It came from the "delay" routine, which theoretically does nothing but writing to an "inexistant" port (0xed), in order to lose some time. BUT, in the special case of our Dell P90, it appears that this 0xed port does something cruel with the cache mechanism when its 4th bit (aka bit 3 or 0x8) is set. I didn't investigate this non-standard behaviour of the P90 any further : I don't know if this is documented, or if it is just another (known ?) bug of the early Pentiums. Just notice that we have 5 such machines, and it has the same effect on the cache mechanism. ----------------------------------------------------------------------