Commit graph

95 commits

Author SHA1 Message Date
Eric W. Biederman
0f7f76fb40 Hopefully this is my last commit of major infrasture changes for a while.
Highlights:
 - elfboot.c Now can load images to the ram location where linuxBIOS is running
 - Added the standalone directory for bootloaders built from the linuxBIOS source

Other things:
- Correctly maode fallback_boot.c conditional
- Added entry32.lds to do the math for segment descriptor table entries
- Merged ldscript.cacheram and ldscript.base
- Moved assembly code to the sections .rom.text and .rom.data
- Modified linuxBIOS so C code completely runs from RAM as the SiS630
  case does
- Updated and commented example config files for the supermicro p4dc6
- Bumped the elfboot loader version to 1.0
- Removed extra carriage returns in dump_northbridge.inc (DOS->UNIX)
- General cleanups to the config of the supermicro p4dc6
2002-01-16 05:54:23 +00:00
Eric W. Biederman
5346fd33f9 Deleted makerom instead of mkrom oops 2002-01-15 21:09:55 +00:00
Eric W. Biederman
c24de9ffa9 Remove the unneeded mkrom utility 2002-01-15 21:03:59 +00:00
Ronald G. Minnich
4687184cfa Added simple comments for 'usage' 2002-01-15 18:20:14 +00:00
Eric W. Biederman
7d601c3e2b - NLBConfig better error handling
- Implement payload so it attempts no processing of the image (I can now use it for ELF images!)
- Implement linux so it does what it has always done (but is now distinct from payload)
- Implement the new expr command so I can compute values (I got inspired)
- Micro fix to rom_fill_inbuf.c so we don't get back too many bytes (Thanks Ron)
- Fix for fallback_boot.c so it is always available.  Otherwise I can't say my boot succeeded.
- Added example config scripts for the p4dc6
2002-01-11 02:18:09 +00:00
Ronald G. Minnich
7ec2aee41a Fixed a simple bug in newpci.c WRT iobases.
Jan Kok's new NLBConfig with fixes. This has been tested with build and run
of a linuxbios and appears to work fine.
2002-01-09 22:50:51 +00:00
Ronald G. Minnich
6dbc1dc170 added a little comment in Makefile so people know how to run it. 2002-01-09 19:55:07 +00:00
Eric W. Biederman
9cda94e6d2 Updates to produce a linuxBIOS table. Modeled on the earlier
uniform_boot work, but relocated.  You need the new mkelfImage to
use the elf boot format.

Previous tables were updated so I could find both the start and
the end of where they were written in memory.

Minor p4dc6 updates, to disable some debugging code.

The mkelfImage-1.9 is checked in as util/mkelfImage
2002-01-08 07:04:35 +00:00
Ronald G. Minnich
d9db3cd6c4 Jan Kok's fixes. 2002-01-07 17:09:23 +00:00
Li-Ta Lo
da5f5bfee7 removing old test12 config file 2002-01-07 01:57:35 +00:00
Eric W. Biederman
cb232f1e04 Lots and Lots of changes. Mainly bugfixes for the supermicro p4dc6,
and a bunch of generic changes.
- Started playing with automatic scanning memory for LinuxBIOS tables.
- Converted the fill_inbuf drivers to stream drivers.  This allows
  for pure data copying operations to be faster, and it allows skipping
  of unneeded data on platforms that support it.
- Added a section .rodata.streams for the stream driver control structures.
  This is preparation for building a bootloader that shares source code
  with LinuxBIOS.
- Added a driver command to NLBConfig.py for objects that should
  always be linked into LinuxBIOS if they are compiled at all.
- Moved the boot_successful logic down into the guts of the
  bootloaders.
- Modified the ip style checksum logic so it isn't specific to uniform
  boot headers...
- Added a function ndelay that uses the RTC (this is i786 specific for now).
- Added a function to delay in seconds for the braindead harddrive
  spinup logic.
- Added a floppy stream driver.
- Added a ide stream driver.
- Broke out the ram initialization for the p4dc6 into multiple c files.
- Stupidly adapted linuxbiosmain and do_inflate to the new stream
  interface.  get_byte is now a slow function call so it might be able
  to use some optimization.
- Updated the ELF bootloader to the new stream interface and adding a
  ELF header scanning function so we can boot off of harddrives and
  not smash their partition tables.
- Removed some bogus unlook ahead code from inflate.c
- Fixed a problem where we did not enable I/O resources on VGA
  compatible chips.  This caused a trident card to lock up the system
  when it's memory mapped resources were enabled.
- Correctly set up nested pci busses.  Before this a pci bus behind a
  pci bus would not get enabled.
- Config changes to the p4dc6
- Added more interrupt sources to the p4dc6 interrupt table
- Converted all of the inbuf drivers to stream drivers.
  All have good conversions except the doc_millenium.
2001-12-20 04:04:42 +00:00
Ronald G. Minnich
23337bf8bf Added the 'payload' command.
Changed script from vmlinux.* to payload.*

linux command now calls payload
2001-12-14 00:05:52 +00:00
Ronald G. Minnich
afe769f4a1 getpir will get PIRQ tables for linuxbios 2001-12-10 19:16:57 +00:00
Ronald G. Minnich
6ad1cb6448 burn_mtd.old is the old dumb script that does insmod by hand.
burn_mtd now uses modprobe
2001-12-07 00:50:15 +00:00
Ronald G. Minnich
bc91d65e48 Fixes for a bug that improperly set 0x0:1.0:45 to 0 instead of 0x40 2001-12-07 00:43:26 +00:00
Li-Ta Lo
dd2204d00d fixed a old bug in flash unlock 2001-11-30 09:51:24 +00:00
Li-Ta Lo
64e3a29930 modification to fit with Eric's older update 2001-11-13 05:08:11 +00:00
Ronald G. Minnich
0222d47c61 Changed
option SERIAL_CONSOLE
to
option SERIAL_CONSOLE=1
2001-11-08 02:06:37 +00:00
Li-Ta Lo
929efbd797 add SERIAL_CONSOLE=1 2001-11-06 04:26:19 +00:00
Eric W. Biederman
a8151ba2cd Initial checkin for supermicro p4dc6
This also includes a bunch of my pending work including
- Updated serial code so we can compile in different serial port speeds
- Updates to the build system so that:
  - Makefile.settings holds all of the settings of the config variables
  - ldoptions and cpuflags are generated automatically with perl scripts
  - src/config/Config holds all of the architecture neutral make file settings
- Initial work on the P4 including how to use cache as ram
- Update to the ioapic code for the P4 because it delivers irqs on the system
  bus instead of an out of band bus
- Updated version of printf that doesn't need an intermediate buffer
  - logbuf_subr now handles the case when we want to use a log buffer
- video_subr handles the preliminary code for writing to a video device.
- Pending changes for the L440GX are merged in as well (hopefully I haven't
  messed then up since they were written).
2001-11-03 02:11:49 +00:00
Ronald G. Minnich
e433002b05 Fixes for the K7 so it will compile, but print out the fact that it will be
slow.

Notes on K7 MSRs.
2001-11-02 18:14:09 +00:00
Ronald G. Minnich
3be04423cd Fixed .config files (remove arch command)
Add support for new mainboard and chipset combos
2001-10-30 17:22:50 +00:00
Ronald G. Minnich
3260d101ea Support for ASUS CUA and other M1631 mainboards. 2001-10-25 03:15:52 +00:00
Eric W. Biederman
6032f86410 make.base
Add rule for ldscript.ld
printk.h
      Fix typo it should be printk_alert not printk_alart...
NLBConfig.py
      - Removed some dead code
      - Modified mainboardinit and ldscript to act like my recently modified
        object command and take as a suffix a config option that must be
        set to one for them to work.
      - No longer generate ldscript.ld instead generate ldoptions and
        the variable LDSUBSCRIPTS-1.
2001-08-22 01:07:18 +00:00
Li-Ta Lo
ed79fb980d added SPD dump utility 2001-08-21 06:43:55 +00:00
Eric W. Biederman
e1b09246c2 Compile fixes from linuxBIOS hopefully it works for everyone again.
crt0.base
     - SMP compile fixes
     - No longer unconditionally include cpu/p5/start32.inc
         (it's been renamed  cpu/i386/entry16.inc)
ldscript.base
     - Simplfied, and moved some content into reset16.lds and entry16.lds
stddef.h
     - Use C style comments for #endif /* I386_STDDEF_H */
pirq_routing.h
     - The define is HAVE_PIRQ_TABLE not HAVE_PIRQ_ROUTING_TABLE
mtrr.c
     - Remove the need for defining INTEL_PPRO_MTRR
mainboard/xxx/Config
     - start32.inc is no longer automatically included include
       entry16.inc and reset16.inc where appropriate
       In particular if we are using a docipl we don't want
       reset16.inc or reset16.lds
tyan/guiness/mptable.c
     - Removed spurious define USE_ALL_CPUS
northbridge/intel/440gx/
     - Updated to compile with the factored generic memory code.
nortsouthbridge/sis/xxx/
     - Remove includes of northsouthbridge/sis/630/param.h did I add them?
       The file is gone now so including it is just bad...
NLBConfig.py
      - Allow relative filename arguments
      - Add directive ldscript to add an include file into
        our linker script
      - Fixed docipl to use strings when calling set_option
      - Allow target the target directive to use relative paths
      - Add extra dependencies to ldscript.lds
2001-08-21 02:37:35 +00:00
Eric W. Biederman
71be41d193 make.base(i386 & alpha)
make.base -- renamed OBJECTS to OBJECTS-1 to allow conditional compilation of objects
ldscript.base -- realized that assignemnts to the location counter inside of sections
           are relative to their start so simplfied the code
pirq_routing.h -- includeded types.h so we don't have suprises
hardwaremain.c -- unconditionally included arch/smp/mpsec.h
arch/i386/smp/Config introduced conitional on the compilation objects into
                  the compilation process
         ioapic.c -- removed (now) unneeded ifdef around this file
         mpsec.c -- removed (now) unneeded ifdef around this file

cpu/cpufixup.h -- Fix typo in the case when no cpufixup is needed.
parts/framebuffer.h -- Added a missing semicolon.
smp/atomic.h -- renamed second atmoic_inc to atomic_dec oops.

tyan/guinnes/Config -- reordered the options so they are grouped a little
                better and said mptable.o is dependent on HAVE_MP_TABLE
tyan/guiness/mainboard.c -- small change for clarity.

northsouthbridge/sis/630/northbridge.c
northsouthbridge/sis/630/southbridge.c
           -- Remove unused include of the now dead param.h

NLBConfig.py
          -- Only include numeric options in the linker script
          -- Update to handle adding a condition for when to build
             objects
2001-08-15 21:30:08 +00:00
Eric W. Biederman
ed8c9d7e0d Code changes from my work and the AMD760MP chipset.
The primary changes is the way in which printk works.
But there are many other assorted code cleanups.
Just look and see :)
2001-08-08 02:45:10 +00:00
Ronald G. Minnich
ad44ad6bc8 added README 2001-08-06 15:11:40 +00:00
Ronald G. Minnich
3715ec2eaa web config tool 2001-08-06 15:09:27 +00:00
Ronald G. Minnich
518541e0aa mkflashimage to build flash images. 2001-06-23 22:11:44 +00:00
Ronald G. Minnich
492c2068c6 fix stupid typo in NGLConfig.py
sample files for tftp
2001-06-23 22:09:54 +00:00
Ronald G. Minnich
9ea31ee45a Support for etherboot. 2001-06-23 21:04:48 +00:00
Ronald G. Minnich
61cf86c18e Added doxygen targets and support files.
made remaining changes for new superio support.
2001-06-18 04:04:42 +00:00
Ronald G. Minnich
463dafc4a7 Added etags rule 2001-06-06 05:22:30 +00:00
Li-Ta Lo
42e38b5a3e add sis 540 support 2001-05-23 02:48:26 +00:00
Ronald G. Minnich
57ae756c26 manpreet's new files for 440bx.
The name 'l440gx' is sort of a generic mainboard.
2001-05-07 01:42:59 +00:00
Ronald G. Minnich
bdea0ef843 Config file mods for via. Example config file. 2001-04-30 20:00:03 +00:00
Li-Ta Lo
e187729ead remove console=ttyS0 since SiS550 does not even have serial port 2001-04-26 01:03:11 +00:00
Li-Ta Lo
ca060f6fb1 add support for SiS 550 SoC 2001-04-25 03:38:49 +00:00
Ronald G. Minnich
b1e09fa054 Chances for the new superio setup. pci.h has new structs.
newpci.c has some new functions. asus config is fixed for i386 stuff.
NLBconfig has a new command (nsuperio) and will take arch, mainboard, or
target as the first command. sis 950 superio has changes for the new
superio model
2001-04-11 21:38:46 +00:00
Li-Ta Lo
4abb0055ef add arch i386 fo comfig files 2001-04-09 02:23:55 +00:00
Ronald G. Minnich
b8bbc234a6 Simple changes to get ASUS all memory working 2001-03-30 21:20:15 +00:00
Ronald G. Minnich
245df55323 first cut at ds10 config 2001-03-27 03:41:28 +00:00
Ronald G. Minnich
ee2455bf9d asus cua is back alive. 2001-03-26 22:06:39 +00:00
Ronald G. Minnich
dd99e41d73 Trying to resync with Eric's changes
First, grow heap size in src/arch/i386/config/ldscript.base for DoC
Minor include fixes
Fixes to cua -- but it's now broken, won't find IDE
Minor fix to util/config/NLBConfig.py: for docipl, use CFLAGS

Added files so that CUA works with config tool.
2001-03-26 21:49:23 +00:00
Li-Ta Lo
d3956f5c22 minor changes after Eric's major merge 2001-03-26 01:55:46 +00:00
Eric W. Biederman
0785f9f233 Final updates for my code cleanup and alpha code merge. 2001-03-23 22:56:05 +00:00
Ronald G. Minnich
faf0c47b79 testing I HATE CVS 2001-03-22 21:26:32 +00:00
Ronald G. Minnich
4b99e6561f 440gx config 2001-03-14 16:49:25 +00:00