Commit graph

195 commits

Author SHA1 Message Date
Uwe Hermann
cec4aad017 The selection of the default log level is a select-box where you can choose
log level names now, which is a bit more intuitive than a single digit.

Add a "Console support" option which globally enables or disables
support for (any) debug console. This might prove useful when you want
to silence the boot process and/or make your image smaller.

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@182 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-04 12:22:43 +00:00
Uwe Hermann
80136bc17c Mention that lar.h and example.c are dual-licensed (trivial).
Remove Changelog section from README; not needed as we have svn logs.

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@178 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-03 13:26:06 +00:00
Uwe Hermann
71467c3ebc Clarify that the three files are dual-licensed under the GPLv2 and the
revised BSD license (without advertising clause).

Add the BSD license text to the files, in addition to the GPL header.

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@176 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-03 13:12:58 +00:00
Ronald G. Minnich
53283b1e36 fix a stupid bug in malloc.
add debug printks. 

make dtc put 'root' as the first_node, instead of making the last node
be the first node .... much happier in linuxbios. 

sprintf is broken ... dammit. I hope someone will fix it. I've got about
another week of full-time I can spend on this and then I go back to part
time. So I'm going to need some help soon.

other fixups, and also, make the dts conform to the needs of the device
tree. So we have a domain0 and a device (0,0) that is the north. 

Mostly things are working, but we're STILL not getting any memory in the
LB tables from the north. The device tree is a bitch. 

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@175 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-03 00:39:30 +00:00
Ronald G. Minnich
637e4588be add pci ops so that we can do something.
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@172 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-02 18:17:02 +00:00
Uwe Hermann
60dd8e3ff1 Add support for generating Doxygen-documentation via 'make doc'.
The output is in HTML format and will be stored in the doxygen/html
directory. You can enable more output formats (latex, RTF, ...)
in the config file, util/Doxyfile.LinuxBIOS.

The current config options seem pretty reasonable to me, but we can
adapt them further to our needs, if required.

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@171 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-02 15:03:02 +00:00
Uwe Hermann
a15e17c12d Add Doxygen config file for LinuxBIOS (trivial). This is a default file
generated with 'doxygen -g' and needs to be adapted for LinuxBIOS. A patch
which does just that will follow...

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@169 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-02 13:26:58 +00:00
Uwe Hermann
aba7bdf6a6 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@168 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-02 13:15:31 +00:00
Ronald G. Minnich
7f949f70f5 This set of changes gets us here.
Phase 1: done
Phase 2: early setup ...
Phase 2: done
Phase 3: Enumerating buses...
qemu-x86 enable_dev done
dev_phase3_scan: scanning Root Device
scan_static_bus for root(Root Device)
cpus: Unknown device path type: 0
cpus() enabled
i440bxemulation_enable_dev: 
i440bxemulation_enable_dev: DONE
northbridge_intel_i440bxemulation() enabled
northbridge_intel_i440bxemulation() scanning...
dev_phase3_scan: scanning 
pci_scan_bus start
PCI: pci_scan_bus for bus 00
PCI: scan devfn 0x0 to 0xff
PCI: devfn 0x0
PCI: pci_scan_bus pci_scan_get_dev returns dev <NULL>

Change dts compiler to emit a new struct member, dtsname, for devices,
so we can get actual useful names for things. 

Several mods and printks added. 

printk(BIOS_SPEW
gives no output for reasons I don't understand. 

Next in line is bringing back v2 support for pci, but not doing it the
way v2 does it. 

note the cpus() printk above. cpus don't have a valid path yet. 

We still need to work out the dts syntax for systems with multiple links
(opteron)

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@163 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-01 09:20:25 +00:00
Ronald G. Minnich
bf544534fe This is ridiculous. 31-character names? What decade are we in?
If this is a hard OFW limitation, let's fix OFW.

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@161 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-28 19:50:15 +00:00
Ronald G. Minnich
b520f3201e Some serious changes to get qemu working with pci.
Also added comments. 

A big change is in the dts. In OFW trees, the hierarchy seems to be:
/root/cpu/northbridge 
          south
          other pci

note that the north is in the hierarchy under the south. This hierarchy
makes no sense on systems with a shared frontside bus, or at least I
don't see how it can. In those systems, it's easier to think about 
the CPUs AND northbridges as children of the front side bus. 

in LinuxBIOS, it has always been this:
/root/cpu/whatever
/root/northbridge/
                  south
                  other pci

There have been many discussions over how it ought to be, for 8 years
now, and we've always come back to how LB does it. So I have changed the 
dts for qemu for now to match LB's way of doing things. Note that the
new system is flexible enough that, on K8, we CAN do things as above:
/cpu@0/amd8knorthbridge/etc.
/cpu@1/amd8knorthbridge/etc.

But on qemu, for now, the root is the mainboard, and the CPU and
northbridge are siblings. 

I've added some informational printks, cleaned up pci_ops, and done
other things so that it builds and all seems to work -- until it hangs
hard in enumeration in i440bx ...

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@160 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-28 19:17:59 +00:00
Stefan Reinauer
3a15a5db71 add lzma and nrv2b to util/. util/lzma/C/* is LGPL.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@157 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-27 22:43:57 +00:00
Uwe Hermann
1a4be55c7f Cosmetic changes (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@152 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-27 21:33:33 +00:00
Uwe Hermann
0f7316cbfc Various, mostly 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@148 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-27 20:40:47 +00:00
Uwe Hermann
02598fb2de 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@147 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-27 20:08:02 +00:00
Stefan Reinauer
7dea9e43f8 Replace 'Linux kernel' with 'LinuxBIOS' in the generated .config
(and other) files.

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@145 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-27 14:42:17 +00:00
Stefan Reinauer
86d6551987 Fix coding style of util/lar/*.[ch] by running:
indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs *.[ch]

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@142 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-27 13:00:22 +00:00
Stefan Reinauer
2e42b88a9a Large patch but trivial: Fix Copright error.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@137 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-26 23:17:40 +00:00
Stefan Reinauer
f8682ef7f3 fix compilation. This is trivial.
I was meaning to check in more, but I lost 4h of work due to some ext3
problem. Bummer I believed those saying its more stable than reiserfs.

Signed-off-by: Stefan Reinauer <stepan@openbios.org>
Acked-by: Stefan Reinauer <stepan@openbios.org>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@134 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-26 19:10:51 +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
Uwe Hermann
0322a3b582 Various typos, output beautifications and 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@125 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-26 01:38:12 +00:00
Uwe Hermann
b68d589126 s/linuxbios/LinuxBIOS/ in a number of places (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@124 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-26 01:19:39 +00:00
Stefan Reinauer
950845543b fix make xconfig
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@120 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-25 16:00:21 +00:00
Stefan Reinauer
79222aaba1 more silence in make ?config
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@119 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-25 14:21:38 +00:00
Stefan Reinauer
39a8f1f159 get rid of all warnings but one (lb table fake)
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@107 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-23 15:35:42 +00:00
Stefan Reinauer
02a4d350c6 fix more warnings.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@99 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-23 12:36:45 +00:00
Stefan Reinauer
281cd76b38 * cleanup/refactor makefiles.
* remove some warnings

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@95 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-23 12:19:25 +00:00
Ronald G. Minnich
01d7545b50 Set up default root device. Fix up printk stuff.
Fix up dts to set up ops struct member. Fix dts for qemu mainboard. 
We are getting past stage2 now, it is time for elfboot. 

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@88 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-23 10:38:22 +00:00
Stefan Reinauer
b4a7dad494 Clean up nasty dtc warnings
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@87 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-23 10:13:24 +00:00
Stefan Reinauer
9c4c15c5ac Clean up Makefiles
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@86 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-23 09:54:10 +00:00
Stefan Reinauer
ef81173a39 * drop objdir/srcdir
* seperate vsprintf to a seperate file as it was in v2.

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@83 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-23 09:20:15 +00:00
Stefan Reinauer
af8c57a00e * drop obsolete scripts directory
* fix make config

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@73 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-22 21:12:33 +00:00
Stefan Reinauer
16a3503d0d clean up the build system.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@71 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-02-22 19:12:14 +00:00
Stefan Reinauer
c275218a89 Add a first bit of a framework. Builds the following parts, in
accordance to the newboot document:

* reset vector (16 bytes)
* vpd (240bytes)
* boot block (8k - 256b)
* lar archive (256-8 k)

The boot block is kind of simple, still. It enables pmode, car, and
starts looking for an initram module in the lar archive.

Note: This doesnt do much at the moment,
as gas seems to produce buggy code in init.S.

Take this as a suggestion of how it might work and please provide
patches fixing it and bringing it into shape.

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@62 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-01-29 22:09:50 +00:00
Ronald G. Minnich
3b79d32caf This is an incredibly long commit message, but I want it in here as I
expect to hear about this change. Note that Stefan and I have discussed
this change and feel it is at least worth trying. 

Also, please be aware that this change is backed by a
lot of experience with LinuxBIOS users and usage of the last 7 years. 

First I detail changes, then I detail why. 


Major changes for the new config system. 
Selection of object files, and variable setting, is now controlled by
Kconfig. 

There is only one dts now. It is in the mainboard file. It may later 
move to the target file -- we will see. 

The dts is in two parts, seperated by %%. The first part is a 
fairly standard dts, and the dtc will automatically generate a device 
tree from it. The device tree is composed of generic structures. These 
structures are identical to those of the old V2 device tree. All the 
hierarchy and parent/child/sibling relationships appear to be correctly
generated. This means that all the v2 code will work without change. 

For each node in the tree, if the node has a  property named 'config', 
then the dtc will generate a reference to a structure and an include
directive for a path -- much as in the old Config tool. 

Example: here is a fragment of a dts
==========
north {
        config = "northbridge,intel,i440bx";
};

%%

struct northbridge_intel_i440bx_config north = {
        .whatever = 1;
};
===========

The dtc will create:
#include <northbridge/intel/i440gx/config.h>
struct northbridge_intel_i440bx_config north = {
        .whatever = 1;
};

struct device dev_north {
        .chip_ops = &northbridge_intel_i440bx_ops;
        .chip_info = &north;

        .
        .
        .
};

So the programmer specifies the tree structure in dts form, indicates
which devices have a config entry, and sets up the C code for the
config. I have worked with this and am finding it very easy to use. I
think this is the way to go. Plus, we are getting rid of most of the 
include hell of the old Config system. 

Note that the config node is OPTTONAL! If you do not set it then no
structure usage/include will occur. 

WHY? 
Here is my setup for v3. I think this is good. I like it and am
finding it easy to work with.

Basically, the old config system combined makefile generation, tree
generation, and chip struct initialization in one file -- config.lb.

What we need are four things:
1. selection of .c files to build the bios with
2. the device tree -- this is built with generic structures defined in
include/device/device.h
3. The per-chip structures, usually defined in, e.g.,
northbridge/intel/i440bx/chip.h
4. setting of variables such as baud rate, etc.

Again, this was all done in Config.lb, spread all over the place, like this:
config chip.h
object superio.o

This was hard for people. So we moved the makefile stuff out into the
Kconfig system. This change eliminates (1) and (4) above.

OK, what's left? Well, with our plans from last October, we had device
object model tree stuff, AND still had chip struct initialization in
one file. (2) and (3) above. This is tough, because I was fighting the
mapping of DTS stuff to the C code. It was getting just as ugly as the
old Config.lb. I have been struggling with this for months and it just
wasn't going anywhere.

But it's way too hard to set up the device tree by hand -- I've tried
it. OTOH, it's really easy to set up the per-chip stuff by hand --
I've tried that too. I did a search via:
find ~/src/LinuxBIOSv2/src/ -name chip.h -print
and looked at them all. These files are really simple. There's no
reason to get too tricky, as there is nothing worth getting tricky
about. The problem is the device tree, not these simple chip info
structs.

So, here's the solution.

The ONLY dts is in the mainboard directory. There is no equivalent of
Config.lb in the south, north, cpu, all that stuff any more. The
Kconfig and Makefile in those directories replaced the build-related
functions of Config.lb.-- (1) and (4) above.  The only thing left was
chip.h anyway (3) above.

But how can we express the settings in chip.h via the DTS? IT's been
very hard to get this going.

So, here is the trick. The dts in the mainboard directory divides into
two parts. The first part is the standard dts. The second part is the
C code. They are seperated, as in lex and yacc, with a %%.

Here is the dts for qemu (note that the cpus keyword is still not
right, and maybe this structure needs to change; i'm not that worried
about that too much, just the big picture I'm discussing here). Also,
note I'm working with some new properties, e.g. pcipath and pcidomain
-- if these properties exist ina node, then I create initialized
structure members for them. Also see enabled and on_mainboard --
properties, but I catch them and use them.
/{
       cpus {
               config="mainboard,emulation,qemu-i386";
               emulation,qemu-i386@0{
                       enabled;
                       on_mainboard;
                       device_type = "cpu";
                       name = "emulation,qemu-i386";
                       pcidomain = "0";

                       /* the I/O stuff */
                       northbridge,intel,440bx{
                               pcipath = "0,0";
                               southbridge,intel,piix4{
                               };
                       };
               };
       };


};

%%
/* the user sets up these structs */
struct mainboard_emulation_qemu_i386_config cpus = {
               .nothing = 1,
};

You can see the device tree stuff at top. If a given node has a
property named 'config', then that means what the old 'chip' thing
meant in Config.lb. The dtc will generate an #include to pull in a
file with the path name specified in the config property. The dtc will
not set up the per-chip struct, but it will set up a pointer to a
struct when it sets up the device tree. Note that at bottom, it's up
to you to set up the initialized struct. But this was always the easy
part anyway. Instead of wacky pseudo-C like we had in config.lb, we
just do real C. It's easy. Here is what the dtc generates.

#include <device/device.h>
#include <device/pci.h>
#include <mainboard/emulation/qemu-i386/config.h>
struct device dev_southbridge_intel_piix4;
struct device dev_northbridge_intel_440bx;
struct device dev_emulation_qemu_i386_0;
struct device dev_cpus;
struct device dev_root;
extern struct chip_operations mainboard_emulation_qemu_i386_ops;
struct mainboard_emulation_qemu_i386_config cpus = {
.nothing = 1,
};

struct device dev_root = {
       .path =  { .type = DEVICE_PATH_ROOT },
       .links = 1,
       .link = {
               [0] = {
                       .dev = &dev_root,
                       .link = 0,
                       .children = &dev_cpus
               },
       },
       .bus = &dev_root.link[0],
};
struct device dev_cpus = {
       .chip_ops = &mainboard_emulation_qemu_i386_ops,
       .chip_info = &cpus,
       .links = 1,
       .link = {
               [0] = {
                       .dev = &dev_cpus,
                       .link = 0,
                       .children = &dev_emulation_qemu_i386_0
               },
       },
       .bus = &dev_root.link[0],
       .next = &dev_root,
};
struct device dev_emulation_qemu_i386_0 = {
       .enabled = 1,
       .on_mainboard = 1,
       .path = {.type=DEVICE_PATH_PCI_DOMAIN,.u={.pci_domain={ .domain = 0 }}}
,
       .links = 1,
       .link = {
               [0] = {
                       .dev = &dev_emulation_qemu_i386_0,
                       .link = 0,
                       .children = &dev_northbridge_intel_440bx
               },
       },
       .bus = &dev_cpus.link[0],
       .next = &dev_cpus,
};
struct device dev_northbridge_intel_440bx = {
       .path = {.type=DEVICE_PATH_PCI,.u={.pci={ .devfn = PCI_DEVFN(0,0)}}},
       .links = 1,
       .link = {
               [0] = {
                       .dev = &dev_northbridge_intel_440bx,
                       .link = 0,
                       .children = &dev_southbridge_intel_piix4
               },
       },
       .bus = &dev_emulation_qemu_i386_0.link[0],
       .next = &dev_emulation_qemu_i386_0,
};
struct device dev_southbridge_intel_piix4 = {
       .bus = &dev_northbridge_intel_440bx.link[0],
       .next = &dev_northbridge_intel_440bx,
};



This compiles just fine.

I think this is the right way to go, comments to me.

But, note, IT COMPILES. And it's simple. And, it will work with our
current device tree code!



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


git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@59 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-01-26 17:30:40 +00:00
Stefan Reinauer
f2000cd4ad * This patch renames remainders the arch i386 to x86.
* fix arch/io.h to use consistent types
* add compression code and start integration into Kconfig
* update to newer version of Kconfig, and rename some occurences
  of "Linux" to "LinuxBIOS"
* set up Make framework to create linuxbios.rom

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@55 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-01-04 20:12:02 +00:00
Uwe Hermann
4a133b426c Use the same format for the lar license headers as in the rest of the
LinuxBIOS code.

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@45 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-11-10 17:06:53 +00:00
Uwe Hermann
b7a15c4a52 Whitespace 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@42 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-11-09 18:51:12 +00:00
Uwe Hermann
11d26612af Fix some typos and other small cosmetic issues in the lar README file.
Also, add a license statement in the README.

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



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@41 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-11-09 18:49:12 +00:00
Stefan Reinauer
92efb61fa7 Add initial version of lar to the archive.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-By: Stefan Reinauer  <stepan@coresystems.de> and others.


git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@39 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-11-07 17:32:43 +00:00
Ronald G. Minnich
c65898c00b Wrong syntax for initialisers, now fixed.
signed-off-by: ronald g. minnich


git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@31 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-10-19 23:26:10 +00:00
Ronald G. Minnich
0cfd87938b fix up initialisation. can an IBM person please take this back to IBM
and see if the -O lb produces structs that are in the least sensible? 
signed-off-by: Ronald G. minnich


git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@30 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-10-19 23:17:43 +00:00
Ronald G. Minnich
71651ca836 Fix the emit so that hex constants have a 0x preceding it
signed-off-by: Ronald G. Minnich


git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@28 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-10-19 15:39:00 +00:00
Ronald G. Minnich
c7c30e50b4 get rid of a cruft file from git
git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@3 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-10-06 19:22:48 +00:00
Ronald G. Minnich
a28296a6d2 filling in
git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@2 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-10-06 19:19:14 +00:00