Commit Graph

72 Commits

Author SHA1 Message Date
Eric Biederman dbec2d4090 - Bump the LinuxBIOS major version
- Rename chip_config chip_operations throughout the tree
- Fix Config.lb on most of the Opteron Ports
- Fix the amd 8000 chipset support for setting the subsystem vendor and device ids
- Add detection of devices that are on the motherboard (i.e. In Config.lb)
- Baby step in getting the resource limit handling correct, Ignore fixed resources
- Only call enable_childrens_resources on devices we know will have children
  For some busses like i2c it is non-sense and we don't want it.
- Set the resource limits for pnp devices resources.
- Improve the resource size detection for pnp devices.
- Added a configuration register to amd8111_ide.c so we can enable/disable individual ide channels
- Added a header file to hold the prototype of isa_dma_init
- Fixed most of the superio chips so the should work now, the via superio pci device is the exception.
- The code compiles and runs so it is time for me to go to bed.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1698 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-21 10:44:08 +00:00
Eric Biederman 5ea19c134f - FIXED resources are also ASSIGNED resources
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1687 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-18 23:24:25 +00:00
Eric Biederman 7faae8309c - Set the parent's link properly in the bus field
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1686 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-18 21:21:06 +00:00
Eric Biederman 04da1d35d1 - Bump MAX_LINKS to 4 I have actually found an i2c bridge that needs this
- Fix the hdama Config.lb to not longer use the link keywords oops,
  and instead to have it nest everything properly.
- Update config.g to not support the link keyword
- update config.g to not support northbridge/southbridge/cpu/pmc noise words
  we can just use chip now.
- Remove old link handling from the code
- Detect and handle duplicate paths so we generate one device with multiple links


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1685 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-16 19:58:35 +00:00
Eric Biederman f3ed1cfad7 - HDAMA boots!
- Set the bootstrap processor flag in the mptable.
- Implement 64bit support in our print statements
- Fix the reporting of how many cpus we are waiting to stop.
  It is the 1 less than the actual number of cpus running.
- Actually enable cpu_initialization.
- Fix firstsiblingdevice in config.g
- Add IORESOURCE_FIXED to all of the resources set by config.g
- Fix the apic_cluster rule to add an apic_cluster path not an apic path.
- Add a div64.h to assist in the 64bit printf.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1682 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-16 08:38:58 +00:00
Eric Biederman 7003ba4a88 - First stab at running linuxbios without the old static device tree.
Things are close but not quite there yet.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1681 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-16 06:20:29 +00:00
Eric Biederman 216525d1fd - Fix config.g and the hdama config so everthing builds again.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1680 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-16 02:48:37 +00:00
Ronald G. Minnich 688af4be2b add back stuff from before
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1679 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-15 20:47:41 +00:00
Ronald G. Minnich 9510aa888b fixes for apic, i2c
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1678 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-15 19:28:56 +00:00
Ronald G. Minnich 09b0aeddd3 closer
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1677 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-15 19:17:43 +00:00
Ronald G. Minnich ab55d1f4b4 this now works right.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1676 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-15 15:09:30 +00:00
Ronald G. Minnich 5d7dafea86 more or less more or less broken
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1668 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-14 21:57:29 +00:00
Ronald G. Minnich 4b93394872 more breakage, thanks to Ron
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1665 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-14 21:40:58 +00:00
Eric Biederman 98e619b1ce - Add chip and a few other bug fixes
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1656 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-10-14 16:25:01 +00:00
Greg Watson 65046b16f9 remove brain-dead verify code
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1590 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-06-03 14:34:31 +00:00
Li-Ta Lo d16753be86 chaged chip_device_path::enable to chip_device_path::enabled,
again, I am the only one who can't speak English.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1544 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-04-29 20:30:02 +00:00
Li-Ta Lo 1dad71bf32 back out incorrect commit on config.g
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1501 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-04-13 21:08:28 +00:00
Li-Ta Lo fd8f02f762 porting getpir to freebios2
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1500 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-04-13 21:06:45 +00:00
Greg Watson 4f8311ae58 These changes tighten up rules for exporting options.
1. Exportable options ('export used') used to be exported if referred to in
   a 'uses' statement. These options will now only be exported if the
   option is set, or the default value is changed.

2. Options marked as 'export always' with no default value ('default none')
   used to generate defines with no values 'export k8:='. This behavior
   has changed so that the option will ONLY be exported if it has a value
   assigned using 'set' or 'default'. Otherwise it is an error.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1467 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-03-23 17:37:02 +00:00
Eric Biederman 5cd81730ec - Moved hlt() to it's own header.
- Reworked pnp superio device support.  Now complete superio support is less than 100 lines.
- Added support for hard coding resource assignments in Config.lb
- Minor bug fixes to romcc
- Initial support for catching the x86 processor BIST error codes.  I've only seen
  this trigger once in production during a very suspcious reset but...
- added raminit_test to test the code paths in raminit.c for the Opteron
- Removed the IORESOURCE_SET bit and added IORESOURCE_ASSIGNED and IORESOURCE_STORED
  so we can tell what we have really done.
- Added generic AGP/IOMMU setting code to x86
- Added an implementation of memmove and removed reserved identifiers from memcpy
- Added minimal support for booting on pre b3 stepping K8 cores
- Moved the checksum on amd8111 boards because our default location was on top of
  extended RTC registers
- On the Hdama added support for enabling i2c hub so we can get at the temperature
  sensors.  Not that i2c bus was implemented well enough to make that useful.
- Redid the Opteron port so we should only need one reset and most of memory initialization
  is done in cpu_fixup.  This is much, much faster.
- Attempted to make the VGA IO region assigment work.  The code seems to work now...
- Redid the error handling in amdk8/raminit.c to distinguish between a bad value
  and a smbus error, and moved memory clearing out to cpufixup.
- Removed CONFIG_KEYBOARD as it was useless.  See pc87360/superio.c for how to
  setup a legacy keyboard properly.
- Reworked the register values for standard hardware, moving the defintions from
  chip.h into the headers of the initialization routines.  This is much saner
  and is actually implemented.
- Made the hdama port an under clockers BIOS.  I debuged so many interesting problems.
- On amd8111_lpc added setup of architectural/legacy hardware
- Enabled PCI error reporting as much as possible.
- Enhanded build_opt_tbl to generate a header of the cmos option locations so
  that romcc compiled code can query the cmos options.
- In romcc gracefully handle function names that degenerate into function pointers
- Bumped the version to 1.1.6 as we are getting closer to 2.0

  TODO finish optimizing the HT links of non dual boards
  TODO make all Opteron board work again
  TODO convert all superio devices to use the new helpers
  TODO convert the via/epia to freebios2 conventions
  TODO cpu fixup/setup by cpu type


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1390 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-03-11 15:01:31 +00:00
Greg Watson efa1f324af config.g
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1383 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-03-07 22:17:05 +00:00
Eric Biederman b8a7578a12 - Update to the latest config.g
- Everything except if statements should work correctly


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1367 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2004-02-04 09:11:51 +00:00
Greg Watson 8cb747942c New option behavior:
1. Options can only be set with 'option' statement in the target
   configuration file. Options can be set as many times as needed.
2  Option DEFAULT values can be changed (or set) in any configuration file.
   Changing a default value will display a warning message.
3. A default value is changed with the statement 'default <op> = <val>'.
4. Setting an option overrides the default value.
5. The 'mainboard' and 'arch' statements now set options implicitly. No
   'uses' statement is required.

The idea is that parts will define default values for options that
they need/use. Option overrides are only done in the target file.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1258 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-11-05 18:55:44 +00:00
Eric Biederman 3561759620 - Fix the link check so it actually checks for the appropriate maximum link
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1218 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-10-14 04:29:39 +00:00
Eric Biederman 83b991afff - O2, enums, and switch statements work in romcc
- Support for compiling romcc on non x86 platforms
  - new romc options -msse and -mmmx for specifying extra registers to use
  - Bug fixes to device the device disable/enable framework and an amd8111 implementation
  - Move the link specification to the chip specification instead of the path
  - Allow specifying devices with internal bridges.
  - Initial via epia support
 - Opteron errata fixes


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1200 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-10-11 06:20:25 +00:00
Stefan Reinauer 0502b7a64c fix buildrom statement if there's only one romimage specified.
roms always needs to be an array.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1143 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-09-26 11:40:05 +00:00
Ronald G. Minnich 10941401e8 allow default settings in the mainboard file
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1137 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-09-25 23:03:18 +00:00
Stefan Reinauer e27b08d41c add filename to buildrom
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1117 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-09-17 12:17:58 +00:00
Eric Biederman 9bdb460a97 - Updates to config.g so that it works more reliably and has initial support
for paths
- Renamed some configuration variables
  SMP -> CONFIG_SMP
  MAX_CPUS -> CONFIG_MAX_CPUS
  MAX_PHYSICAL_CPUS -> CONFIG_MAX_PHYSICAL_CPUS
- Removed some dead configuration variables
MAX_CPUS -> CONFIG_MAX_CPUS
MAX_PHYSICAL_CPUS -> CONFIG_MAX_PHYSICAL_CPUS
SMP -> CONFIG_SMP
FINAL_MAINBOARD_FIXUP
SIO_BASE
SIO_SYSTEM_CLK_INPUT
NO_KEYBOARD
USE_NORMAL_IMAGE
SERIAL_CONSOLE
USE_ELF_BOOT
ENABLE_FIXED_AND_VARIABLE_MTRRS
START_CPU_SEG
DISABLE_WATCHDOG
ENABLE_IOMMU
AMD8111_DEV

- Removed some assembly files that are no longer needed
killed src/southbridge/amd/amd8111/smbus.inc
killed src/southbrideg/amd/amd8111/cmos_boot_failover.inc
killed src/ram/ramtest.inc
- Updates to config.g so that it works more reliably and has initial support
  for paths
- Renamed some configuration variables
  SMP -> CONFIG_SMP
  MAX_CPUS -> CONFIG_MAX_CPUS
  MAX_PHYSICAL_CPUS -> CONFIG_MAX_PHYSICAL_CPUS
- Removed some dead configuration variables
MAX_CPUS -> CONFIG_MAX_CPUS
MAX_PHYSICAL_CPUS -> CONFIG_MAX_PHYSICAL_CPUS
SMP -> CONFIG_SMP
FINAL_MAINBOARD_FIXUP
SIO_BASE
SIO_SYSTEM_CLK_INPUT
NO_KEYBOARD
USE_NORMAL_IMAGE
SERIAL_CONSOLE
USE_ELF_BOOT
ENABLE_FIXED_AND_VARIABLE_MTRRS
START_CPU_SEG
DISABLE_WATCHDOG
ENABLE_IOMMU
AMD8111_DEV

- Removed some assembly files that are no longer needed
killed src/southbridge/amd/amd8111/smbus.inc
killed src/southbrideg/amd/amd8111/cmos_boot_failover.inc
killed src/ram/ramtest.inc
killed src/sdram/generic_dump_spd.inc
killed src/sdram/generic_dump_spd.inc

- Updated the arima/hdama to build with the new configuration system
- Updated config.g to list all of the variables with make echo


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1093 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-09-01 23:17:58 +00:00
Ronald G. Minnich f9ffa475ab I mean it this time. NO more unnecessary 'dir' commands for cpus.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1082 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-08-06 15:14:46 +00:00
Ronald G. Minnich 6d76ba1492 end silly multiple sources of /cpu/whatever.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1081 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-08-06 15:06:27 +00:00
Greg Watson 0c3fd559ec Fixed version skew problem.
Use warning() and fatal().


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1072 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-08-05 16:35:34 +00:00
Ronald G. Minnich a43048d371 Commits for the new config static device design, to allow more than one static
cpu of a certain type and to eliminate the
cpu p5
cpu p6
cpu k7

nonsense in the old config files.

Next step is to hook into Eric's pci device stuff.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1067 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-08-04 21:05:19 +00:00
Greg Watson b265254e1c Added support for naming instances of parts. This is to allow arbitrary
device arrangement that can be statically configured during boot.


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1058 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-28 21:35:14 +00:00
Greg Watson f9e756c386 added a bit of error checking!
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1041 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-25 17:29:13 +00:00
Greg Watson 8c19a4ffb4 cpu should be vendor/device too...
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1033 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-24 21:19:19 +00:00
Greg Watson b794667b75 added uses checking at top level
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1029 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-24 15:14:39 +00:00
Greg Watson 3bb83b8a00 static device names start with static_
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1013 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-23 21:29:49 +00:00
Greg Watson 6ba9ff837b add clean to Makefile
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1012 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-23 18:52:17 +00:00
Greg Watson 252d3ff1f6 new register format
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1007 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-23 18:13:19 +00:00
Ronald G. Minnich 3874d40ad6 Fix the generation of .o from .S
The object rules now have four members, this is getting KLUDGY!

[object, source, type (i.e. suffix), base]


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1006 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-23 03:11:40 +00:00
Greg Watson 6d4512cdf9 added payload
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@997 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-21 17:28:35 +00:00
Greg Watson 634a99110c fix crt0 includes ordering
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@996 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-21 16:51:40 +00:00
Ronald G. Minnich 9a0989b941 typo fixed.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@995 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-21 16:22:17 +00:00
Greg Watson 8275bad6f6 more chip stuff
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@990 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-21 04:20:08 +00:00
Greg Watson d0580343b6 chip stuff
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@988 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-20 23:28:01 +00:00
Greg Watson fe4414587a tidy up
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@986 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-19 04:19:48 +00:00
Greg Watson c361a6b218 a few changes
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@985 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-19 04:07:07 +00:00
Greg Watson 6ae46145e6 Allow options in mainboard configuration file
Moved payload into romimage
More flexible romimage declaration


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@983 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-18 17:05:10 +00:00
Greg Watson ce72e7ee21 fix problems with options, more functionality
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@981 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2003-07-18 01:06:15 +00:00