summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386/startup (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 2000-12-05 Eric Valette <valette@crf.canon.fr>Joel Sherrill2000-12-051-7/+1
| | | | | | | | | | | | | * console/inch.c, console/keyboard.c, console/pc_keyb.c, console/vt.c, include/bsp.h: Correct incorrect interrupt level handling in new keyboard management code. Correct BSP_poll_char initialization routine. * start/start.S, startup/bspstart.c: Correct when the video is initialized. * timer/timer.c (Calibrate_1ms_loop): Address problem where this did not work correctly on all PC speeds. The new calibrate routine has been tested on Pentium 166, pentium II 200, pentium III 300 Mhz and does work as expected.
* 2000-11-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-11-011-1/+1
| | | | | | | * startup/bspstart.c: assoc.h, error.h, libio_.h, libio.h, and libcsupport.h moved from libc to lib/include/rtems and now must be referenced as <rtems/XXX.h>. Header file order was cleaned up while doing this.
* 2000-10-29 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-10-291-51/+0
| | | | * startup/sbrk.c: Removed. Redundant with shared version.
* 2000-10-17 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-10-171-2/+2
| | | | | * startup/Makefile.am: Added idt.c since it has been moved libcpu/i386 to libbsp/i386/shared/irq.
* 2000-09-29 Charles-Antoine Gauthier <charles.gauthier@nrc.ca>Joel Sherrill2000-09-291-1/+42
| | | | | | * startup/linkcmds: Added lines so DWARF debug information would be available. Otherwise gdb complains that the offsets for the debug info are incorrect and doesn't load the files.
* 2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-09-051-0/+1
| | | | | | | * 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-26 Rosimildo da Silva <rdasilva@connecttel.com>Joel Sherrill2000-08-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Merged from 4.5.0-beta3aJoel Sherrill2000-06-123-22/+20
|
* Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill2000-04-131-0/+2
| | | | adds .cvsignore.
* Patches rtems-rc-20000118-3.diff and rtems-rc-20000118-4.diff fromJoel Sherrill2000-01-311-11/+10
| | | | | | | | | | 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-20000104-16.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-01-123-82/+47
| | | | that converts the libbsp/i386 subdirectory to full automake.
* Patch rtems-rc-20000104-11.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-01-101-2/+2
| | | | | | | | 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-071-1/+1
| | | | | | | problems: - unclosed comment in pc386/start/start16.S - bad #endif in pc386/startup/ldseg.S
* Reverted the delay logic.Joel Sherrill1999-12-211-8/+8
|
* Removed warnings.Joel Sherrill1999-12-131-0/+2
|
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>) to change theJoel Sherrill1999-12-031-4/+23
| | | | | | | | | | | 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).
* Patch rtems-rc-19991117-9.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1999-11-221-1/+1
| | | | | to convert the libc directory to automake and "dozens of small fixes for Makefile.ins/configure.ins below c/src/lib."
* Updated copyright notice.Joel Sherrill1999-11-175-10/+5
|
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>) toJoel Sherrill1999-10-271-1/+8
| | | | | | 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.
* 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.
* Applied patch rtems-rc-19990820-6.diff.gz fromJoel Sherrill1999-09-071-2/+2
| | | | | 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-061-1/+1
| | | | | 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. ----------------------------------------------------------------------
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | A bug in acpolish made it into rtems-rc-19990709-0.diff, which unfortunately affects all Makefile.ins: * The maintainer mode conditional was erroniously applied to the dependencies of "Makefile". In case you already checked in rtems-rc-19990709-0.diff to CVS you have to check in all Makefile.ins again after applying the patch below :). Please apply the patch below as follows: patch -p1 < rtems-rc-19990709-1.diff tools/update/rtems-polish.sh -ac Note: There is no need to rerun your tests if you have used --enable-maintainer-mode to configure RTEMS, because this patch converts all Makefile.ins to the same settings as used for --enable-maintainer-mode.
* This is part of a major patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1999-07-261-25/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to move RTEMS more to automake/autoconf and GNU compliance. Finally, here they are: the "big-patch" patches - merged into one big patch (~1.5MB). Sorry for the delay, but testing took much more time than I had expected - esp. reworking the acpolish script triggered many more tiny issues than I had expected (cf. below). At least, now you've got something to spend your weekend with :-. WARNINGS: * I've gone a little (??) further than I had announced before. * Several directories have been moved. * Several files have been added and removed * I have tested it with many BSPs/CPUs and a variety of permutiations of configuration flags, but not with all. * Most parts of the patch are automatically generated, however there are many tiny manual modifications. APPLYING THE PATCH: ./autogen -c mkdir tools mv c/src/exec/score/tools tools/cpu mv c/build-tools tools/build mv c/update-tools tools/update patch -p1 -E < rtems-rc-19990709-0.diff ./autogen If the patch doesn't apply to rtems-cvs, I would suggest that you should try to apply it brute-force and then to run tools/update/rtems-polish.sh -ac -am afterwards. A recursive diff between rtems-19990709 + patch and rtems-cvs + patch then should report only a few dozen significant changes to configuration files which need to be merged manually (IIRC, I did not change any source files). *** Attention: There are files to be removed, moved, copied and added in/to CVS! NEWS/CHANGES: 1. Configuration takes place in 3 stages: 1. per host (toplevel configure script), 2. per target (c/configure), 3. per bsp c/src/configure automatically triggered from ./configure and c/Makefile.am. 2. Building of subdirectory c/ takes place in c/$(target_alias) for cross-targets in c/ for native targets 3. Building of subdirectory c/src takes place in c/${target_alias}/<bsp> for cross-targets, c/<bsp> for native targets 4. c/build-tools moved to tools/build 5. c/src/exec/score/cpu/tools moved to tools/cpu (=cpu-tools split out) 6. c/update-tools moved to tools/update 7. New subdirectory c/src/make, handles files from make/ on a per BSP basis 8. Maintainer mode support: Ie. if configuring with --enable-maintainer-mode disabled (the default), then tracking of many dependencies will be disabled in Makefiles. Esp. many dependencies for auto* generated files will be switched off in Makefiles. Ie. if not using "--enable-maintainer-mode" many auto* generated files will not be updated automatically, i.e. normal users should not be required to have auto* tools anymore (untested). 9. Independent configuration scripts for / (toplevel), tools/build, tools/cpu, tools/update, c/, c/src/, c/src/exec, c/src/lib, c/src/tests, c/src/make 10. Automake support for all directories above and besides c/src 11. "preinstall" now is implemented as depth-first recursive make target 12. host compiled tools (exception bsp-tools) are accessed in location in the build tree instead of inside the build-tree when building RTEMS. 13. RTEMS_ROOT and PROJECT_ROOT now point to directories inside the build-tree - many tiny changes as consequence from this. 14. --with-cross-host support removed (offically announced obsolete by cygnus) 15. Changing the order of building libraries below c/src/lib/ 16. Former toplevel configure script broken into aclocal/*.m4 macros 17. Newlib now detected by configure macros, RTEMS_HAS_NEWLIB removed from *cfg. 18. sptables.h now generated by autoconf 19. Rules for "mkinstalldirs temporary installation tree" moved from c/Makefile to subdirectories. 20. Cpu-tools do not get installed. 21. FIX: Use ACLOCAL_AMFLAGS instead of ACLOCAL = -I ... in Makefile.ams which are in directories with own configure scripts. 22. Hardcoding BSP names into libbsp/.../tools to avoid RTEMS_BSP get overridden from the environment. 22. FIX: Handling of MP_PIECES in various Makefiles 23. FIX: Removing "::" rules from some Makefile.ins 24. FIX: File permission chaos: (-m 444 and -m 555 vs. -m 644 and -m 755) - Now all include files use -m 644. 25. Removed many gnumake-conditionals in Makefile.ins - Partially replaced with automake-conditional, partially replaced with conditionalized Makefile variables (... _yes_V) 26. Massively reworked acpolish: acpolish now parses Makefile.ins and interprets parts of the Makefile.ins. 27. FIX: Some $(wildcard $(srcdir)/*.h) macros removed / replaced with explicit lists of files in Makefile.ins. 28. FIX: Replacing MKLIB with RANLIB in Makefile.ins 29. HACK: Add preinstallation for pc386 specific $(PROJECT_RELEASE)/BootImgs directory ... many more details, I can't recall KNOWN BUGS: 1. make [debug|profile]_install do not do what they are promissing. "make [debug|profile] install" does what "make [debug|profile]_install" has been doing. Proposal: remove [debug|profile]_install 2. Dependencies between temporary installation tree and source tree are not yet handled correctly. 3. Dependencies between temporary installation tree and source tree are handled ineffencently (Using INSTALL_CHANGE instead of make dependencies) 4. RTEMS_ROOT, PROJECT_ROOT, top_builddir, RTEMS_TOPdir now are redundant. 5. The new configure scripts still are in their infancy. They contain redundant checks and might still contain bugs, too. 6. RTEMS autoconf Makefile.ins use a mixture of configuration information gathered in c/$(target_alias)/<bsp>/make and of information collected from their configure scripts. 7. make dist is not fully functional 8. Subdirectory host-/build-/target- configure options (--target, --host, --build) do not conform to Cygnus/GNU conventions. 9. Some RTEMS autoconf Makefile.in's makefile targets are not supported in automake Makefile.ams/ins (e.g. get, clobber). 10. Some automake standard targets are not propagated from toplevel and c/Makefile.am to autoconf subdirectories (eg. make dist). 11. rpcgen generated files are not part of the source-tree (Automake conventions favor supplying generated files inside the source-tree, however there is no support for rpcgen generated files in automake, cf. yacc/lex support in automake). 12. RTEMS_HAS_RDBG handling is flaky. make/*.cfg use RTEMS_HAS_RDBG per CPU, while librdb's sources can only be built per BSP. Raises the more general question whether librdbg located correctly in the source-tree. 13. All make/*cfg files are configured per cpu, currently there is no location to store per-bsp configuration information --> bsp.cfg, per aconfig.h? 14. "make install" without having run "make all" beforehand does not work. 15. handling of --enable-multiprocessing seems to be broken in make/custom/* 16. Makefile.ins still exploit many gmake features. 17. File permisson chaos on libraries (no explict -m for libraries/rels/etc). 18. mcp750 Makefiles are broken (Note: I *do* mean buggy - I am not talking about "not-conforming to conventions", here :-). 19. Dependencies between configure scripts are not handled, eg. aborting "make RTEMS_BSP=<bsp>" can leave the build-tree in an unusable state. 20. "make clean" does not delete <build-tree>/<bsp>. This is intentional for now, because rerunning "make" after "make clean" requires an explicit "make preinstall" afterwards now. This should be done automatically, but doesn't work in this case for now. To work around this problem <build-tree>/<bsp> is kept during "make clean" for now (HACK). TODO: 1. split out host-compiled bsp-tools 2. Use Cygnus/GNU standards for cross-compiling target-subdir (CC=CC_FOR_TARGET .. configure --host=${target_alias} --build=`config.guess'}), to be added to toplevel configure script after splitting out bsp-tools. 3. Exploit per cpu support directory (c/src/<cpu>)- Splitting out per-cpu libraries - Are there any? 4. Further automake support 5. Converting subdirectories into standalone / self-contained subdirectories (Esp. moving their headers to the same common root as their sources, eg. mv lib/include/rtems++ lib/librtems++/include/rtems++) - This is the main obstacle which prevents moving further towards automake. 6. Propagating values from *.cfg into Makefiles instead of propagating them at make time via Makefile-fragments (i.e. try to avoid using *.cfg). 7. Testing on cygwin host (I *do* expect cygwin specific problems). 8. The ARCH in o-$(ARCH)-$(VARIANT) build-subdirectories is not needed anymore. GENERAL ISSUES: 1. Temporary installation tree -- Ian and I seem to disagree basically. Though I think that I understand his argumentation, I do not share it. IMO, his way of using the buildtree is mis-using the build-tree, relying on an inofficial feature of RTEMS's current implementation, which doesn't even work correctly in the current build-tree, though it attempts hard to do so. From my very POV, it unnecessarily complicates the structures of the source- and build-trees. It is not supported by automake (No automatic generation for the necessary rules) and complicates the transition to automake significantly (Generating the rules with an enhanced version of acpolish could be possible). As Ian correctly pointed out, here a management decision is needed - though I don't see the need to draw this decision in short terms. 2. preinstallation generally is a sure means to spoil the structure of the source tree, IMHO (No ranting intended, I am completly serious about this one). eg. through tree dependencies. The worst problem related to this I have found in the meantime is bsp_specs. bsp_specs is part of libbsp, ie. there is *no* way to build *any* part of the source tree *without* having a BSP *preinstalled*. Note: This issue is related to issue 1., but is not identical - The difference is the change of the order make rules have to be triggered. While preinstallation triggers rules spread all over the source tree before a "make all" can be run, a temporary installation tree could also be installed by post "make all" hooks (all-local:, to be run after make all in a directory is completed) if the directories' dependencies would be a tree, 3. Stuctural dependencies between subdirectories. 4. Depth of the source tree (Prevents multilibbing and introduces many unnecessary configure scripts). 5. per cpu vs. per bsp configuration (There are no real per-cpu parts yets :-). 6. automake does not support $makefiles in AC_OUTPUT. Unlike before, we now should try to avoid RTEMS_CHECK_MAKEFILE and to hard-code as much paths to Makefiles as possible. 7. General redesign of the source tree 8. Main installation point - Changing it to ${prefix}/${target_alias}. ? Besides item 8. (which is a must, IMHO), as far as I see most of them can not be solved soon and will remain issues in the mid- to long-term :-. REMARKS: * You (as the maintainer) should always use --enable-maintainer-mode when building RTEMS to ensure that maintainer mode generated files (esp. those in c/src/make) will be updated when make/* files have changed. * Use @RTEMS_BSP@ in Makefile.ins and Makefile.ams below c/src/, $(RTEMS_BSP) or ${RTEMS_BSP} will be overridden from environment variables when using make RTEMS_BSP="....". * c/src/make is a temporary cludge until configuration issues are solved. At the moment it is configured per bsp, but contains per-target/cpu info only. Its main purpose now is to circumvent modifying make/*.cfg files, because I consider make/* to be frozen for backward compatibilty. * This patch should only affect configuration files. At least I do not remember having touched any source files. * To build the bare bsp you now need to mention it in --enable-rtemsbsp. Example: building gensh1 and sh1/bare simultaneously: ../rtems-rc-19990709-1/configure --target=sh-rtems \ --enable-rtemsbsp="bare gensh1" \ --prefix=/tmp/rtems \ --enable-bare-cpu-cflags='-DMHZ=20 -m1 -DCPU_CONSOLE_DEVNAME=\"/dev/null\"' \ --enable-bare-cpu-model=sh7032 \ --enable-maintainer-mode \ --enable-cxx make make install * The next steps in development would be to split out bsp-tools and then to change to Cygnus/GNU canonicalization conventions for building the c/ subdirectory afterwards (i.e. many standard AC_*.m4 macros could be used instead of customized versions) FINAL REMARK: The issues mentioned in the lists above sound much worser than the situation actually is. Most of them are not specific to this patch, but are also valid for the snapshot. I just wrote down what I came across when working on the patch over the last few weeks. I wouldn't be too surprised if you don't like the patch at the current point in development. I am willing to discuss details and problems, I also have no problem if you would post-pone applying this patch to times after 4.1, but rejecting it as a whole for all times would be a false management decision, IMHO. Therefore I would suggest that you, if your time constaints allow it, should at least play a little while with this patch to understand what is going on and before drawing a decision on how to handle this proposal. I know this patch is neither perfect nor complete, but I consider it to be a major breakthrough. Don't be anxious because of the size of the patch, the core of the patch is rather small, the size is mainly the side effect of some systematic cleanups inside the Makefiles (result of acpolish). Feel free to ask if you encounter problems, if you don't understand something or if you meet bugs - I am far from being perfect and am prepared to answer them. Ralf. -- Ralf Corsepius Forschungsinstitut fuer Anwendungsorientierte Wissensverarbeitung (FAW) Helmholtzstr. 16, 89081 Ulm, Germany Tel: +49/731/501-8690 mailto:corsepiu@faw.uni-ulm.de FAX: +49/731/501-999 http://www.faw.uni-ulm.de
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> that splitsJoel Sherrill1999-07-021-1/+1
| | | | | | boot_card() and main() into separate files to ease configuration of other packages. This was a big step in the way to build TCL, ncurses, and zlib for RTEMS.
* Added dummy gnatinstallhandler code for all BSPs. This lets Ada programsJoel Sherrill1999-06-241-1/+1
| | | | link even if they do not actually support Ada interrupts.
* Patch from Rosimildo DaSilva <rdasilva@connecttel.com> to make C++Joel Sherrill1999-06-152-2/+9
| | | | | exceptions work on the pc386 BSP with i386-elf. This patch also included changes to the i386-rtemself egcs configuration.
* Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-04-191-1/+1
| | | | | | | | | | | | | | This one is an enhancement to acpolish. It replaces some Makefile variables by others variable in Makefile.ins (tries to use unique name for some variables). It therefore eases parsing Makefile.ins for further automatic Makefile.in conversions in future. To apply: cd <rtems-source-tree> sh <path-to>/rtems-rc-19990407-8.sh ./autogen
* Towards automake XI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-03-191-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:Joel Sherrill1999-02-181-1/+3
| | | | | | | | | | | | | | | | > 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 Ralf Corsepius <corsepiu@faw.uni-ulm.de> to rename allJoel Sherrill1998-12-142-3/+3
| | | | | .s files to .S in conformance with GNU conventions. This is a minor step along the way to supporting automake.
* 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.
* Large patch from Erik Ivanenko <erik.ivanenko@utoronto.ca> whichJoel Sherrill1998-10-054-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 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.
* Patch from Aleksey (Quality Quorum <qqi@world.std.com>):Joel Sherrill1998-09-232-13/+6
| | | | | | | | | | | 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.
* 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-211-3/+6
| | | | | | 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 Emmanuel Raguet <raguet@crf.canon.fr>:Joel Sherrill1998-09-101-0/+6
| | | | | | | | | 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 Eric Valette <valette@crf.canon.fr>:Joel Sherrill1998-08-312-67/+14
| | | | | | | | | | | | | | | | | | | 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-211-2/+5
| | | | | | | | | | 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...
* Patch from Aleksey <qqi@world.std.com>:Joel Sherrill1998-08-191-4/+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 Eric Valette <valette@crf.canon.fr> which brings the i386ex BSPJoel Sherrill1998-08-051-1/+1
| | | | inline with the new IRQ structure.
* Automatic CPU type detection code from Eric Valette <valette@crf.canon.fr>.Joel Sherrill1998-08-051-2/+4
| | | | Enabled on the pc386.
* Patch from Eric Valette <valette@crf.canon.fr> and Emmanuel RaguetJoel Sherrill1998-07-241-3/+3
| | | | <raguet@crf.canon.fr> to make their patches work together.
* Patch from Eric VALETTE <valette@crf.canon.fr>:Joel Sherrill1998-07-233-28/+20
| | | | | | | | | | | | | 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-101-0/+6
| | | | | | | | | | | | | | | | | | | 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-273-7/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <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
* Deleted blank lines.Joel Sherrill1998-05-271-6/+0
|