Commit graph

21 commits

Author SHA1 Message Date
Myles Watson
cc295dd73a This patch removes all *_PLUGIN_SUPPORT options and replaces most
*_SUPPORT options with NO_*_SUPPORT options.  This means that you have
to specify that you want a smaller BIOS, otherwise you get full
functionality.

HyperTransport is the only exception for a couple of reasons.  HT
requires a mainboard.h file which not all mainboards have, and it's
less likely to be "plugged in" to a board that doesn't have some
onboard HT.

It also fixes a trivial typo in Kconfig (paylaod -> payload)

Signed-off-by: Myles Watson <mylesgw@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@1140 f3766cd6-281f-0410-b1cd-43a5c92072e9
2009-02-25 17:50:38 +00:00
Myles Watson
d2f540f35e This patch introduces {PCIX,PCIE,AGP...}_SUPPORT config variables.
Kconfig:
       Add *_SUPPORT variables.
       Add select statements for the hardware that needs them.

device/Makefile:
       Test *_SUPPORT variables instead of chip names.

device/Kconfig:
       Add *_PLUGIN_SUPPORT variables.

device/pci_device.c:
       Conditionally include headers if *_PLUGIN_SUPPORT.
       Update default drivers to depend on CONFIG_*_PLUGIN_SUPPORT.

Signed-off-by: Myles Watson <mylesgw@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@1097 f3766cd6-281f-0410-b1cd-43a5c92072e9
2009-01-05 22:57:45 +00:00
Myles Watson
f3e9e1dd35 This patch continues the device code cleanup.
The largest changes are to get_pci_bridge_ops, and related changes to make it
compile and use correct declarations.  

While I was doing that I moved the checks for CONFIG_<BUS>_PLUGIN_SUPPORT to
the Makefile.

The only functional difference is a possible NULL dereference in a debug
statement.

I also added a few more consts, now that my other patch is in.

Signed-off-by: Myles Watson <mylesgw@gmail.com>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@983 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-11-05 22:27:36 +00:00
Myles Watson
12f47ecf89 This fixes the 8132 so that it can be included in the build for serengeti.
Signed-off-by: Myles Watson <mylesgw@gmail.com>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@956 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-10-28 02:06:15 +00:00
Stefan Reinauer
87adbc377b small dependency fix, plus make oldconfig & co need libintl, too :)
(trivial)

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/coreboot-v3@842 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-08-28 22:44:49 +00:00
Ronald G. Minnich
081602b211 More sensible way to conditionally include hypertransport.c
Builds both K8 and Geode bioses with no trouble.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Ronald G. Minnch <rminnich@gmail.com>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@811 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-08-24 06:16:03 +00:00
Ronald G. Minnich
99792d89fc Emergency patch for an ancient bug in device_util.c, self-acked:
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: : Ronald G. Minnich <rminnich@gmail.com>
smbus_ops patched
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@758 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-08-14 00:02:27 +00:00
Carl-Daniel Hailfinger
1a09707fd6 Convert stage2 and initram makefile rules from object to source files.
This creates a clearer distinction between source files in the source 
tree we want to have compiled and indirectly created object/source files 
in the object tree.

It also will make enable us to move to whole-program 
optimization/compilation which should yield substantial size savings.
Then again, we may be able to do that without the makefile conversion as 
well.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@714 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-08-02 20:56:11 +00:00
Stefan Reinauer
6220b632e7 Now version 3: LinuxBIOS -> coreboot rename.
- I left LB_TAG_ intact because they are used by the payloads
- file renames are still missing. see next commit
- some lb_ renames might be missing. feel free to provide patches.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/coreboot-v3@564 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-01-27 18:54:57 +00:00
Stefan Reinauer
276a0e0ec9 * move post_code() to a seperate file
* statically link linuxbios.initram for now (depends on printk, post_code
  and die)
* greatly simplify all makefiles by creating a global Rules.make
* use $(dir $@) in Makefiles instead of absolute paths for mkdir..
* clean up Makefiles by calling components' code locally instead of in the
  Makefile. (Remember: one day, no code per mainboard)
* unconditionally create .xcompile in case it changed
* add NM to xcompile                          
* create $(obj)/linuxbios.map with all symbols of all stages

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@463 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-07-23 16:49:00 +00:00
Uwe Hermann
db44381c57 Fix build error (trivial).
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@375 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-06-27 19:55:45 +00:00
Ronald G. Minnich
b175ce06ac Add pnp code and remove pnp inlines.
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@374 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-06-27 19:47:27 +00:00
Uwe Hermann
53099f8d1c Fix various license headers.
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@330 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-05-20 20:35:59 +00:00
Stefan Reinauer
0528863e20 This patch reshapes northbridge and southbridge inclusion. It selects
southbridge drivers in Kconfig.

* It includes initial superio code as well, but there is at least one
  error in the pnp_device.c/superio scenario left

* Fixed biosemu.c, vm86.c, pnp_device.c (sort of)

* Enable vm86 instead of x86emu per default for vga init for now. This
  makes VGA in qemu work. There might be a bug in x86emu or the compiler
  I am using. (gcc version 4.1.2 20070115 (prerelease) (SUSE Linux))

* Import isa-dma.c, keyboard.c and i8259.c from v2 /pc80, which was taken
  from LinuxBIOSv1 released from LANL under release LA-CC Number 00-34
  and using parts from the Linux kernel.

This patch makes vga and keyboard work in qemu. Yippie

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@260 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-13 09:31:08 +00:00
Stefan Reinauer
fe23cd79ba Add x86emu support. This adds initial x86emu/vm86 support to LinuxBIOSv3
This is an infrastructure patch, it will not make vga output work yet. 
Another patch will follow.

This code is imported from LinuxBIOSv2 which had this code imported from
LinuxBIOSv1.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@256 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-12 23:47:26 +00:00
Stefan Reinauer
9c67ea60b7 Make the LinuxBIOS build output look a lot like the stuff people
are used to from the Linux kernel.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@243 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-11 17:55:16 +00:00
Uwe Hermann
12213f870d This patch drives the idea of a hierarchical structure below $(obj) a bit
further. It is only tested with my Kconfig build dir fixes applied.

Not sure how pretty this is. All the mkdirs increase build time by 0.2s,
so it looks a lot more nasty than it actually is. If wishes, we can create the
whole directory structure below build in the "prepare" target. It's not faster,
but more limited to one place.

The next step could be to spread out *_LIB_OBJ to lib/Makefile. in which case
it is nice that you can just write object.o instead of $(obj)/object.o or
$(obj)/lib/object.o ...

The top level modules (initram, stage0, stage2, ..) are still in $(obj).

So are the northbridge and southbridge object files - These require some more
cleanup anyways, as they're defined in the mainboard Makefile.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@242 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-11 16:48:33 +00:00
Uwe Hermann
54bfbf97e5 Various cosmetic fixes (trivial).
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@200 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-06 05:08:31 +00:00
Uwe Hermann
44fbc3e786 Add the author of the respective changes by coresystems GmbH.
Some minor cosmetic fixes (trivial).

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@155 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-27 21:49:28 +00:00
Ronald G. Minnich
7513bfdb03 Lots of changes here, build broken, but people need to see this.
renamed the phase3 etc. to stuff like phase3_scan, so you can get a
rought idea what it is. The names mean more. 

adding pci_device and, at the same time, showing how we can get rid of
the really ugly stuff that crept in. note you can specify ops in the
dts, which avoids the need for hideous stuff like this:
static void enable_dev(struct device *dev)
{
        /* Set the operations if it is a special bus type */
        if (dev->path.type == DEVICE_PATH_PCI_DOMAIN) {
                dev->ops = &pci_domain_ops;
                pci_set_method(dev);
        }
        else if (dev->path.type == DEVICE_PATH_APIC_CLUSTER) {
                dev->ops = &cpu_bus_ops;
        }
}

So that foolishness is gone. 

added delay functions. 

Note that we have include/lib.h, and define all the functions in there,
instead of in lots of fiddly includes. 

Brought back the enable op, once I understood it; renamed it to
something that makes sense. 


I'll be on a plane soon, will continue to work, but at least you can see
what's going on here. 

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@139 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-27 06:02:52 +00:00
Stefan Reinauer
6b86ee6c96 some dependencies fixes.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@132 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-26 13:59:35 +00:00