Re: [LinuxBIOS] Intel refactoring and microcode updates

2008-01-11 Thread Uwe Hermann
On Fri, Jan 11, 2008 at 04:34:39AM +0100, Peter Stuge wrote:
 On Thu, Jan 10, 2008 at 09:34:28PM -0500, Corey Osgood wrote:
   How many different cores could you put in even the most popular
   socket, three?
  
  LGA775 currently has 19 (and may have more I don't know about).
  Using some rough math, I get a rounded-down size of 186KB (really
  is quite a bit more) for its updates, and that would go into both
  normal and fallback images.
 
 I think we need to make it configurable.

Yep, agreed. You should be able to specify exactly which CPU you want to
use and the build process should only include the updates for just that CPU
(or list of CPUs if you specify more than one).


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Intel refactoring and microcode updates

2008-01-11 Thread Uwe Hermann
On Tue, Jan 08, 2008 at 09:36:20PM -0500, Corey Osgood wrote:
 Both patches Signed-off-by: Corey Osgood [EMAIL PROTECTED]

I checked that this doesn't break abuild, so far so good.

On which hardware has this been tested so far? I'm reluctant to commit
this without some broader testing on actual hardware. I'd say at least
some of the 440BX boards, i810, and others.

I can test some of the above soonish I hope, but someone with
server-grade boards should probably also do some tests (E7520 boards and
similar).


 Index: src/cpu/intel/microcode/2107-m406fbB4.inc
 ===
 --- src/cpu/intel/microcode/2107-m406fbB4.inc (revision 0)
 +++ src/cpu/intel/microcode/2107-m406fbB4.inc (revision 0)
 @@ -0,0 +1,266 @@
 +/**
 + *   Copyright  Intel Corporation, 1995, 96, 97, 98, 99, 2000, 01, 02,
 + *   03, 04, 05, 06, 07.
 + *
 + *   These microcode updates are distributed for the sole purpose of 
 + *   installation in the BIOS or Operating System of computer systems
 + *   which include a Genuine Intel microprocessor sold or distributed
 + *   to or by you. You are not authorized to use this material for
 + *   any other purpose.
 +**/

Where exactly do these files come from (URL on intel.com?) We should
document this in either the files and/or the wiki.

I know about
http://www.urbanmyth.org/microcode/
http://people.debian.org/~cate/files/microcode/
is that the source?

There's also some stuff at
http://downloadcenter.intel.com/detail_desc.aspx?strstate=liveproductid=528dwnldid=14303agr=nlang=engprdmap=528
for example, which has a different license header, though:


/+++
/   Copyright (c) 1995-2008, Intel Corporation.
/   All rights reserved.
/
/   Redistribution. Redistribution and use in binary form, without 
modification, are
/   permitted provided that the following conditions are met:
/   .Redistributions must reproduce the above copyright notice and 
the following
/   disclaimer in the documentation and/or other materials provided with the
/   distribution.
/   .Neither the name of Intel Corporation nor the names of its 
suppliers may be used
/   to endorse or promote products derived from this software without 
specific prior
/   written permission.
/   .No reverse engineering, decompilation, or disassembly of this 
software is
/   permitted.
/   .Binary form includes any format commonly used for electronic 
conveyance
/   which is a reversible, bit-exact translation of binary representation 
to ASCII or
/   ISO text, for example, uuencode.
/
/   DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
/   HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED
/   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
/   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
/   PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
/   OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
/   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
/   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
/   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
/   CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
/   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
/   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
/   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/
/   These microcode updates are distributed for the sole purpose of
/   installation in the BIOS or Operating System of computer systems
/   which include a Genuine Intel microprocessor sold or distributed
/   to or by you. You are not authorized to use this material for
/   any other purpose.
/---



 +/* Note: It is impossible to tell what Xeons are Socket 603 vs 604 from the 
 info
 + * on Intel's website. Also, socket 603 CPUs work in 604 systems. Hence, 
 + * combined for good reasons. */
 +struct cpu_device_id cpu_table[] = {
 + { X86_VENDOR_INTEL, 0x0f0a },
 + { X86_VENDOR_INTEL, 0x0f11 },
 + { X86_VENDOR_INTEL, 0x0f12 },
 + { X86_VENDOR_INTEL, 0x0f22 },
 + { X86_VENDOR_INTEL, 0x0f24 },
 + { X86_VENDOR_INTEL, 0x0f25 },
 + { X86_VENDOR_INTEL, 0x0f26 },
 + { X86_VENDOR_INTEL, 0x0f27 },
 + { X86_VENDOR_INTEL, 0x0f29 },
 + { 0, 0 },
 +};
 +
 +struct chip_operations cpu_intel_socket_603_ops = {
 + CHIP_NAME(Socket 603 CPU)

Shouldn't this be
CHIP_NAME(Socket 603/604 CPU)
then?


 +/* Note: It is impossible to tell what Xeons are Socket 603 vs 604 from the 
 info
 + * on Intel's website. Also, socket 603 CPUs work in 604 systems. Hence, 
 + * combined for good reasons. */
 +struct cpu_device_id cpu_table[] = {
 + { X86_VENDOR_INTEL, 0x0f22 },
 + { X86_VENDOR_INTEL, 0x0f24 },
 + { X86_VENDOR_INTEL, 0x0f25 },
 + { X86_VENDOR_INTEL, 0x0f26 },
 + { X86_VENDOR_INTEL, 0x0f27 },
 +   

Re: [LinuxBIOS] LinuxBIOSv3 Config files

2008-01-11 Thread Uwe Hermann
On Fri, Jan 11, 2008 at 01:48:36PM +0100, Stefan Reinauer wrote:
 * Myles Watson [EMAIL PROTECTED] [080111 05:00]:
   On Thu, Jan 10, 2008 at 12:18:14PM -0700, Jordan Crouse wrote:
it really should be a feature that kconfig offers.
   
   It's make defconfig in Linux.
   
  
  Make defconfig ignores your .config file.  What I wanted was something
  similar to make allyesconfig, which chooses yes for anything you didn't
  specify.  Maybe make alldefconfig?
 
 make oldconfig?

That's interactive per default, I think. But it's the correct option if
you want the defaults for unspecified options, IIRC.

If you want yes for all unspecified options:

make oldconfig  /usr/bin/yes


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Intel refactoring and microcode updates

2008-01-11 Thread Uwe Hermann
On Fri, Jan 11, 2008 at 03:54:18PM +0100, Peter Stuge wrote:
 On Fri, Jan 11, 2008 at 09:42:00AM -0500, Corey Osgood wrote:
  Peter Stuge wrote:
   I think we need to make it configurable.
  
  I don't like that. With a factory bios, you expect the correct
  microcode update for your CPU to be present, no matter what CPU you
  put in a socket.
 
 (Actually no, not always.)
 
 
  We should be able to do the same.
 
 I agree, but we should also try to be even more flexible. I think we
 should allow inclusion of 0=n=all microcode updates. Definately an
 advanced option, but still.

Yep, that's what I meant. It's fine if the default is all microcode
updates, but there should be an option for advanced users to only use
the one(s) you really want or need in order to save time and space.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] LinuxBIOSv3 Config files

2008-01-11 Thread Uwe Hermann
On Fri, Jan 11, 2008 at 07:59:17AM -0800, ron minnich wrote:
 On Jan 11, 2008 7:31 AM, Uwe Hermann [EMAIL PROTECTED] wrote:
 
  If you want yes for all unspecified options:
 
  make oldconfig  /usr/bin/yes
 
 Now, Uwe, we just came full circle. I said something like that a few
 messages ago and Jordan yelled at me :-)

Yeah, sorry, I should have read the whole thread first ;-)


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] problem about dram init

2007-12-20 Thread Uwe Hermann
On Thu, Dec 20, 2007 at 10:42:33AM -0500, Corey Osgood wrote:
 Weird, I've never seen that problem. Do you have any other dram modules
 you can try? Can you send me the specs (or a link to the datasheet would
 be best) on the module you're currently using? I have some comments I
 need to put in about some important bits, but haven't had the time or
 ambition lately to do it. Eventually those bits should be set up
 automatically, but I'm running up against ROMCC's limitations.

There are some other tricks like disabling/removing debugging stuff
etc., but one thing that helped me on some other board is a
different -mcpu option for romcc, e.g.

  action  ./romcc -mcpu=p2 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c 
-o $@

Without the '-mcpu=p2' I get 'too few registers', adding it fixes that
problem. Depending on the CPU/chipset values other than 'p2' might work.
Basically, it allows romcc to use more registers, I think, but I'm not
a romcc expert, just guessing...


HTH, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] r3018 - trunk/LinuxBIOSv2/targets/amd/serengeti_cheetah_fam10

2007-12-19 Thread Uwe Hermann
On Wed, Dec 19, 2007 at 12:36:51PM -0500, Corey Osgood wrote:
 -Wall -o rom_stream.o /home/corey/LinuxBIOSv2/src/stream/rom_stream.c
 /home/corey/LinuxBIOSv2/src/stream/rom_stream.c:47:90: error: invalid
 suffix x on integer constant
 make[1]: *** [rom_stream.o] Error 1
 make[1]: Leaving directory
 `/home/corey/LinuxBIOSv2/util/abuild/linuxbios-builds/amd_serengeti_cheetah_fam10/normal'
 make: *** [normal/linuxbios.rom] Error 1

Looks like this is the old version before your commit?

I now get:

  Compiling image ..FAILED after 14s! Log excerpt:
mv dsdt_lb.hex dsdt.c
mv: cannot stat `dsdt_lb.hex': No such file or directory
make[1]: *** [dsdt.c] Error 1


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [Fwd: Re: Patch file for Fedora 8 compile problems]

2007-12-17 Thread Uwe Hermann
On Mon, Dec 17, 2007 at 02:55:35PM -0500, Marc Karasek wrote:
 That would work, but this brings up a rather interesting point.  What 
 are we todo about all the other Distros?   At some point (if not 
 already) they will also face a similar issue.

Yep, true. The correct thing IMO is to check for the actual feature/bug,
not for version number strings of compilers or programs or distros.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Tyan s1894

2007-12-17 Thread Uwe Hermann
On Mon, Dec 17, 2007 at 03:55:06AM +0100, Peter Stuge wrote:
 On Sat, Dec 15, 2007 at 03:21:28PM -0600, Jason Green wrote:
  I am new to LinuxBIOS mailing list.  I have a few old boards I want
  to try out.  I dunno if it's compatible with this or not.
  
  http://www.tyan.com/archive/products/html/tigercub100.html
 
 Maybe it's similar enough to the s1846 that the 1846 port works as
 is? Or maybe it could at least be a good start for a s1894 port?

Yep, definately. Shouldn't be too much hassle to port this board.

Jason, please post the output of 'lspci -tvnn' and 'superiotool -dV'
here (run as root). Also, post the irq_tables.c file which is generated
when you run 'getpir' on the board.

With that information as a starting point we'll be able to make a first
patch for your board.

Do you have a possibility to flash your BIOS chip (either an external
programmer or you can use the flashrom tool (please post 'flashrom -V'
here so we know if your board might be supported).

Also, is the BIOS chip in a socket or soldered onto the board? Do you
have a null-modem cable to grab serial debugging output from LinuxBIOS
later?


Thanks, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] IDE legacy port access + UDMA/33 for 440BX boards

2007-12-17 Thread Uwe Hermann
Updated patch. It enableѕ legacy I/O port access, but disables
UDMA/33 per default as we don't know if the user's devices support it.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Enable IDE legacy port access for all 440BX based boards per default, as
this is needed (at the very least) to make FILO work on these boards.

Disable UDMA/33 per default, which is slower but the safe choice, as we
don't know which IDE devices a user has attached, and some don't support
UDMA/33 very well or at all.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: src/mainboard/a-trend/atc-6220/Config.lb
===
--- src/mainboard/a-trend/atc-6220/Config.lb	(Revision 3009)
+++ src/mainboard/a-trend/atc-6220/Config.lb	(Arbeitskopie)
@@ -130,6 +130,12 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  # Enable UDMA/33 for higher speed if your IDE device(s) support it.
+  register ide0_drive0_udma33_enable = 0
+  register ide0_drive1_udma33_enable = 0
+  register ide1_drive0_udma33_enable = 0
+  register ide1_drive1_udma33_enable = 0
 end
   end
 end
Index: src/mainboard/gigabyte/ga-6bxc/Config.lb
===
--- src/mainboard/gigabyte/ga-6bxc/Config.lb	(Revision 3009)
+++ src/mainboard/gigabyte/ga-6bxc/Config.lb	(Arbeitskopie)
@@ -128,6 +128,12 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  # Enable UDMA/33 for higher speed if your IDE device(s) support it.
+  register ide0_drive0_udma33_enable = 0
+  register ide0_drive1_udma33_enable = 0
+  register ide1_drive0_udma33_enable = 0
+  register ide1_drive1_udma33_enable = 0
 end
   end
 end
Index: src/mainboard/biostar/m6tba/Config.lb
===
--- src/mainboard/biostar/m6tba/Config.lb	(Revision 3009)
+++ src/mainboard/biostar/m6tba/Config.lb	(Arbeitskopie)
@@ -124,6 +124,12 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  # Enable UDMA/33 for higher speed if your IDE device(s) support it.
+  register ide0_drive0_udma33_enable = 0
+  register ide0_drive1_udma33_enable = 0
+  register ide1_drive0_udma33_enable = 0
+  register ide1_drive1_udma33_enable = 0
 end
   end
 end
Index: src/mainboard/azza/pt-6ibd/Config.lb
===
--- src/mainboard/azza/pt-6ibd/Config.lb	(Revision 3009)
+++ src/mainboard/azza/pt-6ibd/Config.lb	(Arbeitskopie)
@@ -130,6 +130,12 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  # Enable UDMA/33 for higher speed if your IDE device(s) support it.
+  register ide0_drive0_udma33_enable = 0
+  register ide0_drive1_udma33_enable = 0
+  register ide1_drive0_udma33_enable = 0
+  register ide1_drive1_udma33_enable = 0
 end
   end
 end
Index: src/mainboard/tyan/s1846/Config.lb
===
--- src/mainboard/tyan/s1846/Config.lb	(Revision 3009)
+++ src/mainboard/tyan/s1846/Config.lb	(Arbeitskopie)
@@ -126,6 +126,12 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  # Enable UDMA/33 for higher speed if your IDE device(s) support it.
+  register ide0_drive0_udma33_enable = 0
+  register ide0_drive1_udma33_enable = 0
+  register ide1_drive0_udma33_enable = 0
+  register ide1_drive1_udma33_enable = 0
 end
   end
 end
Index: src/mainboard/compaq/deskpro_en_sff_p600/Config.lb
===
--- src/mainboard/compaq/deskpro_en_sff_p600/Config.lb	(Revision 3009)
+++ src/mainboard/compaq/deskpro_en_sff_p600/Config.lb	(Arbeitskopie)
@@ -134,6 +134,12 @@
   device pci 14.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  # Enable UDMA/33 for higher speed if your IDE device(s) support it.
+  register ide0_drive0_udma33_enable = 0
+  register ide0_drive1_udma33_enable = 0
+  register ide1_drive0_udma33_enable = 0
+  register ide1_drive1_udma33_enable = 0
 end
   end
 end
Index: src/mainboard/asus/p2b/Config.lb
===
--- src/mainboard/asus/p2b/Config.lb	(Revision 3009)
+++ src/mainboard/asus/p2b/Config.lb	(Arbeitskopie)
@@ -130,6 +130,12 @@
   device pci 4.3 on end		# ACPI
   register ide0_enable = 1

Re: [LinuxBIOS] [PATCH] IDE legacy port access + UDMA/33 for 440BX boards

2007-12-17 Thread Uwe Hermann
On Mon, Dec 17, 2007 at 10:11:16PM +0100, Carl-Daniel Hailfinger wrote:
 On 17.12.2007 22:05, Uwe Hermann wrote:
  Enable IDE legacy port access for all 440BX based boards per default, as
  this is needed (at the very least) to make FILO work on these boards.
 
  Disable UDMA/33 per default, which is slower but the safe choice, as we
  don't know which IDE devices a user has attached, and some don't support
  UDMA/33 very well or at all.
 
  Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

 
 Acked-by: Carl-Daniel Hailfinger [EMAIL PROTECTED]

Thanks, r3010.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] superiotool: Add dump support for NSC PC87317

2007-12-17 Thread Uwe Hermann
On Sat, Dec 15, 2007 at 10:04:21PM +0100, Ulf Jordan wrote:
 Add dump support for NSC PC87317.
 
 Signed-off-by: Ulf Jordan [EMAIL PROTECTED]

Thanks, r3011.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] PCI: Left over static devices. Check your Config.lb

2007-12-17 Thread Uwe Hermann
On Mon, Dec 17, 2007 at 03:10:52PM -0700, Marc Jones wrote:
 Carl-Daniel Hailfinger wrote:
  On 10.12.2007 21:56, Marc Jones wrote:
  A devices needs to be listed in the config.lb if it requires more setup 
  than standard PCI initialization (resource allocation). Usually that 
  means the CPU, northbridge, southbridge, and SIO. Those devices are 
  usually needed to indicate the system bus structure(pci_domain) as well 
  as do any system specific initialization on those devices.
 
  During the LinuxBIOS PCI/system scan process, if a device in config.lb 
  is found, the functions to do customized initialization are called via 
  the device_operations and the chip_operations structs.

  
  Can you add that explanation to the wiki?
  
  Regards,
  Carl-Daniel
  
 
 What page would this go on? I don't see an appropriate place.

I'd say http://linuxbios.org/Developer_Manual#Config.lb
(maybe with some rewording to make it more generic and HOWTO-like)


HTH, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] superiotool: Add detection and dump support for NSC PC97307

2007-12-13 Thread Uwe Hermann
On Thu, Dec 06, 2007 at 09:11:50PM +0100, Ulf Jordan wrote:
 Add detection and dump support for NSC PC97307.
 
 Signed-off-by: Ulf Jordan [EMAIL PROTECTED]

Thanks, r3005.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] superiotool: Add dump support for NSC PC8741x

2007-12-13 Thread Uwe Hermann
On Wed, Nov 28, 2007 at 11:18:52PM +0100, Ulf Jordan wrote:
 Add dump support for NSC PC8741x.

 Signed-off-by: Ulf Jordan [EMAIL PROTECTED]

Thanks, r3004. Sorry for the delay.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] superiotool: Add dump support for NSC PC97317

2007-12-13 Thread Uwe Hermann
On Sun, Dec 09, 2007 at 04:42:05PM +0100, Ulf Jordan wrote:
 Add dump support for NSC PC97317.
 
 Signed-off-by: Ulf Jordan [EMAIL PROTECTED]

Thanks, r3006.

Good work btw, I double-checked all your patches against the datasheets
before committing and didn't notice a single typo so far -:)


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] buildrom qemu patch

2007-12-13 Thread Uwe Hermann
On Thu, Dec 13, 2007 at 04:54:44PM -0700, Myles Watson wrote:
 Index: buildrom-devel/config/platforms/Config.in
 ===
 --- buildrom-devel/config/platforms/Config.in (revision 84)
 +++ buildrom-devel/config/platforms/Config.in (working copy)
 @@ -112,15 +112,16 @@
   default n
   help
 Say 'y' here to build a patched version of QEMU to work with
 -   LinuxBIOS. This downloads the correct version and patches it
 -   it even builds it if you specify the QEMU_CC correctly.
 +   LinuxBIOS. This downloads the correct version and patches it;
 +   it even builds it if you specify the QEMU_CC correctly

Why this? You remove the full stop from the sentence, which is
incorrect. Kconfig help texts should be full sentences which end
with a full stop.


  config QEMU_CC
   string Compiler to use when building QEMU
   depends BUILD_QEMU
 - default gcc32
 + default gcc34
   help
 -   Set this string to point to your compiler (GCC_VER =3.2)
 +  qemu has known problems when built using gcc 4.x
 +   Set this string to point to your compiler (GCC_VER 3.x)

Ditto, should end with full stop.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] PCI: Left over static devices. Check your Config.lb

2007-12-10 Thread Uwe Hermann
On Mon, Dec 10, 2007 at 10:08:30AM -0800, Steve Isaacs wrote:
  For the PCI parts, LinuxBIOS sets up the static/onboard devices and scans
  for other devices dynamically, if I'm not mistaken.
  This means you do not specify PCI/AGP/PCIe extention cards in Config.lb,
  they're rather detected at runtime.
  
 By dynamic is it meant devices for which it is possible to set the
 device ID (DID) in the PCI configuration space? Which means that devices
 for which the DID cannot be configured are considered static?

No, I don't think this has anything to do with the DID. But I'm not
really an expert here, better listen to Ron (see other mail).


  For Super I/O stuff, the (PnP) settings are hardcoded from the options
  in the 'chip superio/foo/bar' section of Config.lb
 
 If I understand this then it is correct to have the Super I/O as a
 subsection under the southbridge?

Yes.


 Do the sections in Config.lb point to code that is executed

Sort of, yes. E.g. the keywords io and irq etc. in the Super I/O
section are translated to function calls in src/device/pnp_device.c
and others. PCI entries are translated into function calls in
src/device/*pci*.c.
 
 
 device pci_domain 0 on
   chip northbridge/amd/amdk8
 device pci 18.0 on #  northbridge
#  devices on link 0
   chip southbridge/broadcom/bcm21000
 
 The document shows names being appended to these (e.g.
 northbridge/amd/amdk8 mc0). What effect does that have?

None. It's just a comment for humans to better understand the file.


 device pci 6.2 on
  
  What device is 6.2? The Super I/O section below should be a child of
  the ISA/LPC device usually.
  
 
 6.2 is the LPC device on the southbridge.

OK, good, that's correct then.


  Do you have the sch4304 datasheet? If so, it would be nice if you
  could add support for this chip to superiotool, see
  http://linuxbios.org/Superiotool
  
 Yes I do. I might have an opportunity to do as you ask when the
 development schedule will allow more time.

Great, thanks.


  Where does this come from? I don't see 6.3, 6.4 etc. in the lspci output.
  
 This is part of my confusion. I installed a Phoenix BIOS to boot Linux
 and be able to run lspci. I have no visibility into what it's (Phoenix
 BIOS) design is for this board. I suspect there are several devices it
 hides (a feature of the chipset) because the assumption is they won't be
 needed for the reference board.

Hm, not sure. I usually use lspci from the vendor BIOS (Phoenix in your
case) for comparison purposes. Yes, some devices may not appear (some
depend on the BIOS config menu settings; e.g. the menu may allow to
enable/disable an AC97 modem or not, etc), but the majority of devices
(and their IDs) should be correct. 


  Can you also post the 'lspci' output? Your version of lspci doesn't
  attach the device names to the -tvnn output.
  
 One thing that keeps tripping me is it appears that some device numbers
 are 0 based and others are 1 based. For example 18.0 agrees with a PCI
 bus scan as well as 19.0 but 6.0 in the Config shows up as 7.0 in the
 scan and 0.0 as 1.0. What's up with that?

Hm, good question. Someone else will have to answer it.


 Here's the output you requested. I've included the output from
 print_pci_devices() (debug.c).

Please also post the lspci from the vendor BIOS for comparison.


Thanks, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] many trivial patches

2007-12-09 Thread Uwe Hermann
On Fri, Dec 07, 2007 at 03:21:34PM -0500, Ward Vandewege wrote:
Acked-by: Ward Vandewege [EMAIL PROTECTED]

Thanks, r3002.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] LinuxBIOSv3 lgdt and gdtptr patch

2007-12-09 Thread Uwe Hermann
On Thu, Dec 06, 2007 at 03:08:58PM -0700, Myles Watson wrote:
  On Thu, Dec 06, 2007 at 10:14:41AM -0700, Myles Watson wrote:
   It was submitted (but not in patch form) by Brendan Trotter
   http://www.mail-archive.com/linuxbios@linuxbios.org/msg08771.html
  
   Here it is in patch form.
   - data32  lgdt %cs:gdtptr
   + movl$gdtptr, %ebx
   + lgdt%cs:(%bx)
  
   It removes the first line, which causes some compilers to give a
   truncated gdtptr error, and replaces it with an intermediate load
   step. I think it should be tested by someone with the working
   compiler, to compare the output.
  
  Please repost with a Signed-off-by.
 
 I was hoping Brendan Trotter would supply that, since it was his work.  It
 could be considered trivial, though, if the compiler output is the same.

Yes, I guess this is trivial enough so you can post it with your
Signed-off-by, but if Brendan (CC'd) can re-send with a Signed-off-by
that's fine too, of course.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Will linuxBIOS Work on My Machine?

2007-12-09 Thread Uwe Hermann
On Wed, Dec 05, 2007 at 12:31:54PM -0800, Wakefield, John  wrote:
 I have an Acer 5102WLMi Notebook with Dual Core AMD TL50s, which are 64

I'm afraid LinuxBIOS doesn't yet work on laptops, those are much harder
to support than normal PCs for various reasons. It's on our TODO list to
support laptops too sooner or later, but it's not a trivial task.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] SLIT Support

2007-12-09 Thread Uwe Hermann
On Fri, Dec 07, 2007 at 02:28:42PM -0600, David Edrich wrote:
 Also though I would like to know if anyone knows if SLIT has been implemented 
 by the major BIOS vendors?
 I would think that maybe it hasn't since it would require customization 
 probably every time.

Well, yes, but that's required anyway. Each board has to get a custom
ACPI implementation (in LinuxBIOS, but I'm pretty sure that's also the
case for the commercial BIOSes).


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] PCI: Left over static devices. Check your Config.lb

2007-12-09 Thread Uwe Hermann
On Wed, Dec 05, 2007 at 12:00:59PM -0800, Steve Isaacs wrote:
 On Wed, 2007-12-05 at 12:30 +0100, Uwe Hermann wrote:
 
  Please post your Config.lb and 'lspci -tvnn' output.
  
  You're likely listing PCI devices in Config.lb which are not on the
  board, or you use the wrong nesting or order (?)
  
 
 Thanks, see below.
 
 I have been in a very uncomfortable position of having to guess about
 this. I dug around in other boards trying to find something that almost
 fits and then hacked from there.
 
 Is there anything that describes how to make a configuration in detail?
 I'd rather learn the rules than have someone figure it out for me. 

There's a PDF which describes some parts of it, not sure how complete it is:

$ cd documentation
$ make
$ xpdf LinuxBIOS-AMD64.pdf


 Other questions are, in what form and how is this information used at
 run-time?

For the PCI parts, LinuxBIOS sets up the static/onboard devices and scans
for other devices dynamically, if I'm not mistaken.
This means you do not specify PCI/AGP/PCIe extention cards in Config.lb,
they're rather detected at runtime.

For Super I/O stuff, the (PnP) settings are hardcoded from the options
in the 'chip superio/foo/bar' section of Config.lb

The CPU/socket/APIC stuff below tells LinuxBIOS which CPU init code
to execute etc.


 Config.lb
 
 chip northbridge/amd/amdk8/root_complex
   device apic_cluster 0 on
 chip cpu/amd/socket_F
   device apic 0 on
   end
 end
   end

Looks ok.


   device pci_domain 0 on
 chip northbridge/amd/amdk8
   device pci 18.0 on #  northbridge
  #  devices on link 0
 chip southbridge/broadcom/bcm21000
   device pci 0.0 on
   end
   device pci 1.0 off
   end
   device pci 2.0 on
   end
   device pci 3.0 off
   end
   device pci 4.0 off
   end
 end
 chip southbridge/broadcom/bcm11000
   device pci 0.0 on
   end
   device pci 0.1  on
   end

Hm, not sure about the above stuff...


   device pci 1.0 on
 device pci e.0 on
 end
   end

I may be wrong, but I don't think you can nest PCI entries like this.


   device pci 1.1 on
   end
   device pci 2.0 on


 device pci b.0 on
 end
 device pci b.1 on
 end
 device pci b.2 on
 end
 device pci c.0 on
 end
 device pci c.1 on
 end
 device pci c.2 on
 end
 device pci d.0 on
 end
 device pci d.1 on
 end
 device pci d.2 on
 end

What is 2.0? What are the b.0 etc. entries? This doesn't seem to match
the lspci you posted.


   end
   device pci 2.1 on
   end
   device pci 3.0 on
   end
   device pci 3.1 on
   end
   device pci 4.0 on
   end
   device pci 4.1 on
   end
   device pci 6.0 on
 chip drivers/i2c/i2cmux2 # pca9544 smbus mux
   device i2c 71 on # MIS_ P40,28,39
   end #0 pca9544 0
   device i2c 71 on # HT_ P40,24,42
   end #0 pca9544 1
   device i2c 71 on # pca9544 2 P1_ P40,2,6,7
 chip drivers/generic/generic #dimm 0-0-0
   device i2c 50 on
   end
 end
 chip drivers/generic/generic #dimm 0-0-1
   device i2c 51 on
   end
 end
 chip drivers/generic/generic #dimm 0-1-0
   device i2c 52 on
   end
 end
 chip drivers/generic/generic #dimm 0-1-1
   device i2c 53 on
   end
 end
   end
   device i2c 71 on #pca9544 3 P2_ P40,8,12,13
 chip drivers/generic/generic #dimm 1-0-0
   device i2c 50 on
   end
 end
 chip drivers/generic/generic #dimm 1-0-1
   device i2c 51 on
   end
 end
 chip drivers/generic/generic #dimm 1-1-0
   device i2c 52 on
   end
 end
 chip drivers/generic/generic #dimm 1-1-1
   device i2c 53 on
   end
 end
   end
 end
   end
   device pci 6.1 on
   end
   device pci 6.2 on

What device is 6.2? The Super I/O section below should be a child of
the ISA/LPC device usually.


 chip superio/smsc/sch4304

Please use the 'superio/smsc/smscsuperio' driver, which is a common
driver for many SMSC Super I/Os. It should be easy to add support
for the sch4304 there.

Do

[LinuxBIOS] [PATCH] Abit BE6-II V2.0 support

2007-12-09 Thread Uwe Hermann
On Fri, Dec 07, 2007 at 01:39:43PM +0300, Sergei Antonov wrote:
 I'd like to try LinuxBIOS on a 440BX-based Abit BE6-II V2.0.
 After talking on IRC, I'm sending the output of 'lspci -tvnn' and
 'superiotool -dV' and a generated irq_tabl.c.

Thanks, here's a patch for your board you can test. I guess most of the
hardware should work with this code, but some smaller issues might need
to be fixed after it has been tested on real hardware.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Add support for the Abit BE6-II V2.0 board.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: src/mainboard/abit/be6-ii_v2_0/Config.lb
===
--- src/mainboard/abit/be6-ii_v2_0/Config.lb	(Revision 0)
+++ src/mainboard/abit/be6-ii_v2_0/Config.lb	(Revision 0)
@@ -0,0 +1,141 @@
+##
+## This file is part of the LinuxBIOS project.
+##
+## Copyright (C) 2007 Uwe Hermann [EMAIL PROTECTED]
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+if USE_FALLBACK_IMAGE
+	default ROM_SECTION_SIZE = FALLBACK_SIZE
+	default ROM_SECTION_OFFSET = (ROM_SIZE - FALLBACK_SIZE)
+else
+	default ROM_SECTION_SIZE = (ROM_SIZE - FALLBACK_SIZE)
+	default ROM_SECTION_OFFSET = 0
+end
+default CONFIG_ROM_PAYLOAD_START = (0x - ROM_SIZE
++ ROM_SECTION_OFFSET + 1)
+default PAYLOAD_SIZE = (ROM_SECTION_SIZE - ROM_IMAGE_SIZE)
+default _ROMBASE = (CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE)
+default XIP_ROM_SIZE = 64 * 1024
+default XIP_ROM_BASE = (_ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE)
+arch i386 end
+driver mainboard.o
+if HAVE_PIRQ_TABLE
+	object irq_tables.o
+end
+makerule ./failover.E
+	depends $(MAINBOARD)/../../../arch/i386/lib/failover.c ./romcc
+	action ./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/../../../arch/i386/lib/failover.c -o $@
+end
+makerule ./failover.inc
+	depends $(MAINBOARD)/../../../arch/i386/lib/failover.c ./romcc
+	action ./romcc -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/../../../arch/i386/lib/failover.c -o $@
+end
+makerule ./auto.E
+	# depends	$(MAINBOARD)/auto.c option_table.h ./romcc
+	depends	$(MAINBOARD)/auto.c ./romcc
+	action	./romcc -E -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@
+end
+makerule ./auto.inc
+	# depends $(MAINBOARD)/auto.c option_table.h ./romcc
+	depends $(MAINBOARD)/auto.c ./romcc
+	action	./romcc -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@
+end
+mainboardinit cpu/x86/16bit/entry16.inc
+mainboardinit cpu/x86/32bit/entry32.inc
+ldscript /cpu/x86/16bit/entry16.lds
+ldscript /cpu/x86/32bit/entry32.lds
+if USE_FALLBACK_IMAGE
+	mainboardinit cpu/x86/16bit/reset16.inc
+	ldscript /cpu/x86/16bit/reset16.lds
+else
+	mainboardinit cpu/x86/32bit/reset32.inc
+	ldscript /cpu/x86/32bit/reset32.lds
+end
+mainboardinit arch/i386/lib/cpu_reset.inc
+mainboardinit arch/i386/lib/id.inc
+ldscript /arch/i386/lib/id.lds
+if USE_FALLBACK_IMAGE
+	ldscript /arch/i386/lib/failover.lds
+	mainboardinit ./failover.inc
+end
+mainboardinit cpu/x86/fpu/enable_fpu.inc
+mainboardinit cpu/x86/mmx/enable_mmx.inc
+mainboardinit ./auto.inc
+mainboardinit cpu/x86/mmx/disable_mmx.inc
+
+dir /pc80
+config chip.h
+
+chip northbridge/intel/i440bx		# Northbridge
+  device apic_cluster 0 on		# APIC cluster
+chip cpu/intel/slot_2		# CPU (FIXME: It's slot 1, actually)
+  device apic 0 on end		# APIC
+end
+  end
+  device pci_domain 0 on		# PCI domain
+device pci 0.0 on end		# Host bridge
+device pci 1.0 on end		# PCI/AGP bridge
+chip southbridge/intel/i82371eb	# Southbridge
+  device pci 7.0 on			# ISA bridge
+chip superio/winbond/w83977tf	# Super I/O (FIXME: It's W83977EF!)
+  device pnp 3f0.0 on		# Floppy
+io 0x60 = 0x3f0
+irq 0x70 = 6
+drq 0x74 = 2
+  end
+  device pnp 3f0.1 on		# Parallel port
+io 0x60 = 0x378
+irq 0x70 = 7
+  end
+  device pnp 3f0.2 on		# COM1
+io 0x60 = 0x3f8
+irq 0x70 = 4
+  end
+  device pnp 3f0.3 on		# COM2 / IR
+io 0x60 = 0x2f8
+irq 0x70 = 3
+  end
+  device pnp 3f0.5 on		# PS/2 keyboard

Re: [LinuxBIOS] SLIT Support

2007-12-07 Thread Uwe Hermann
On Tue, Dec 04, 2007 at 03:40:03PM -0600, David Edrich wrote:
 I've seen SLIT support within Linux does anyone know anything about what 
 platforms/systems have implemented SLIT Table support?  Is
 this does by any standard BIOS vendor?

Dunno, sorry. Someone else has to answer this question.


 In Linux BIOS?

ACPI support in LinuxBIOS has to be implemented for each board extra.
Currently not all boards in LinuxBIOS support ACPI (most don't), but from
a quick look at the code it _seems_ that these two _do_ have SLIT support:

src/mainboard/iwill/dk8_htx/acpi_tables.c
src/mainboard/amd/serengeti_cheetah/acpi_tables.c


HTH, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Patch file for Fedora 8 compile problems

2007-12-07 Thread Uwe Hermann
On Fri, Dec 07, 2007 at 12:43:57PM -0500, Marc Karasek wrote:
 Here it is in -u format...

Thanks, but I think your Thunderbird broke the patch, probably because
you copy-pasted it into the mailer and it clipped long lines.

I recommend to use 'svn diff  foo.patch' in your svn tree (easier IMO,
and that already produces patches in the -u format) and then just attach
that file to the mail.


 =
 diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/Config.lb 
 LinuxBIOSv2/src/arch/i386/Config.lb
 --- LinuxBIOSv2.orig/src/arch/i386/Config.lb 2007-12-06 
 10:06:31.0 -0500
 +++ LinuxBIOSv2/src/arch/i386/Config.lb 2007-12-04 16:25:13.0 -0500
 @@ -100,7 +100,7 @@
 
 makerule linuxbios
 depends crt0.o init.o $(LINUXBIOS_APC) $(LINUXBIOS_RAM_ROM) ldscript.ld
 - action $(CC) -nostdlib -nostartfiles -static -o $@ -T ldscript.ld 
 crt0.o init.o
 + action $(CC) -Wl,--build-id=none -nostdlib -nostartfiles -static -o 

We should make sure this doesn't break any other distros / compiler
versions. Do all reasonably new gcc/ld versions know about '--build-id'?


 $@ -T ldscript.ld crt0.o init.o
 action $(CROSS_COMPILE)nm -n linuxbios | sort  linuxbios.map
 end
 
 diff -r -u -x .svn LinuxBIOSv2.orig/src/arch/i386/lib/id.lds 
 LinuxBIOSv2/src/arch/i386/lib/id.lds
 --- LinuxBIOSv2.orig/src/arch/i386/lib/id.lds 2007-12-06 
 10:06:31.0 -0500
 +++ LinuxBIOSv2/src/arch/i386/lib/id.lds 2007-12-06 10:36:31.0 -0500
 @@ -1,5 +1,11 @@
 SECTIONS {
 - . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
 +
 +/*
 + * . = (_ROMBASE + (ROM_IMAGE_SIZE - 0x10)) - (__id_end - __id_start);
 + * This is a temporary fix. Under Fedora 8 ld does not like it if the 
 .id section is above address 0x_EF00
 +*/
 + _ROMTEMP = 0xef00;
 + . = _ROMTEMP;

I cannot parse this changeset completely, but won't this
break the code for other distros or boards?

Please resend the 'svn diff' output so we can test this on some
non-Fedora distros.


Thanks, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] alix1c patch for irq.

2007-12-07 Thread Uwe Hermann
On Mon, Nov 26, 2007 at 01:08:21PM +0100, Stefan Reinauer wrote:
  This should be the last change needed for the alix1c. The minipci slot 
  works, and
  with this change, the pci slot seems to work too. At least for me. 
  
  Signed-off-by: Ronald G. Minnich [EMAIL PROTECTED]
 Acked-by: Stefan Reinauer [EMAIL PROTECTED]

This is r2987.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] superiotool: Add detection and dump support for NSC PC87309

2007-12-07 Thread Uwe Hermann
On Fri, Nov 30, 2007 at 10:15:07PM +0100, Ulf Jordan wrote:
 Add detection and dump support for NSC PC87309.
 
 Signed-off-by: Ulf Jordan [EMAIL PROTECTED]

Thanks, r3001.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] Re: superiotool: conflicting SID for PC97317?

2007-12-07 Thread Uwe Hermann
On Fri, Dec 07, 2007 at 07:59:21PM +0100, Ulf Jordan wrote:
 There was never a PC97371 made by National.

 -Bari

 Attched is a patch that fixes the typos in superiotool/nsc.c.

 /ulf

 Fix typo. According to National's datasheet PC87317 has SID = 0xd0 and
 PC97317 has SID = 0xdf. PC87371/PC97371 do not seem to exist.
 
 Signed-off-by: Ulf Jordan [EMAIL PROTECTED]
 
 Index: nsc.c
 ===
 --- nsc.c (revision 2998)
 +++ nsc.c (working copy)
 @@ -25,9 +25,9 @@
  #define CHIP_REV_REG 0x27/* Super I/O revision ID (SRID) */
  
  static const struct superio_registers reg_table[] = {
 - {0xd0, PC87371, { /* From sensors-detect */
 + {0xd0, PC87317, {
   {EOT}}},
 - {0xdf, PC97371, { /* From sensors-detect */
 + {0xdf, PC97317, {
   {EOT}}},
   {0xe1, PC87360, {
   {NOLDN, NULL,

Thanks, r2999.

I agree with both of you that this seems to be a typo.

Please also send a patch to the lm-sensors list to fix sensors-detect.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Expand linuxbiosv3 support

2007-12-07 Thread Uwe Hermann
On Fri, Dec 07, 2007 at 12:31:37PM -0700, Jordan Crouse wrote:
 On 07/12/07 00:06 -0500, Corey Osgood wrote:
  Typo! That makes 2 mistakes this week!  Are you feeling okay? :P
  This does look pretty good though, and the idea of having v3 in buildrom
  is great! I'm kicking myself now for never having used buildrom until
  yesterday, such a great tool. Did you ever track down the source of that
  __stack_chk_fail we discussed on IRC?
 
 Autoconf is very annoying, but as the inventor of OpenEmbedded once famously
 said, autoconf sucks, but at least we know how it sucks.  However, no
 amount of autoconf knowledge will save us from projects that further abuse
 the already fragile scripts.   In this case, we have mkelfimage committing
 several crimes - 1) they overwrite incoming environment variables
 in autoconf, thereby thwarting any possibility of us tweaking things from
 the ouside, and

Yep, this should be fixed in mkelfimage, please notify the developers.


 2) they ship a version of the final configure script, which
 forces us to patch both the configure.ac _and_ the configure script itself,

Alternatively you could just patch configure.ac and run autoconf/automake
etc. to regenerate the generated files, but I'm afraid that's pretty fragile
too (different autoconf versions etc).


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] buildrom: add supermicro h8dmr

2007-12-07 Thread Uwe Hermann
On Fri, Nov 30, 2007 at 02:01:59PM -0700, Jordan Crouse wrote:
  Add Supermicro H8DMR support to buildrom.
  
  Signed-off-by: Ward Vandewege [EMAIL PROTECTED]
 Acked-by: Jordan Crouse [EMAIL PROTECTED]

This is r71.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Patch file for Fedora 8 compile problems

2007-12-07 Thread Uwe Hermann
On Fri, Dec 07, 2007 at 12:39:36PM -0800, Ed Swierk wrote:
 Here is another attempt that does not rely on the --build-id option,
 incorporating Marc's workaround in src/arch/i386/lib/id.lds for the
 .id allocation issue.

The patch is missing the original Signed-off-by from Marc, and your
Signed-off-by.


 Index: LinuxBIOSv2-2571/src/config/linuxbios_ram.ld
 ===
 --- LinuxBIOSv2-2571.orig/src/config/linuxbios_ram.ld
 +++ LinuxBIOSv2-2571/src/config/linuxbios_ram.ld
 @@ -62,6 +62,10 @@ SECTIONS
. = ALIGN(4);
  
   _erodata = .;
 + }
 + /* ld segfaults if we give it --build-id and then discard this section 
 */
 + .note.gnu.build-id : {
 + *(.note.gnu.build-id)
   }   
   /*
* After the code we place initialized data (typically initialized
 Index: LinuxBIOSv2-2571/src/arch/i386/lib/id.lds
 ===
 --- LinuxBIOSv2-2571.orig/src/arch/i386/lib/id.lds
 +++ LinuxBIOSv2-2571/src/arch/i386/lib/id.lds
 @@ -1,5 +1,10 @@
  SECTIONS {
 - . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
 + /*
 +  * . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
 +  * This is a temporary fix. Under Fedora 8 ld does not like it if the 
 .id section is above address 0x_EF00
 +  */
 + _ROMTEMP = 0xef00;
 + . = _ROMTEMP;

This part breaks the majority of all boards in v2 (checked with abuild).

E.g. on asus/p2b:

./buildrom linuxbios.strip linuxbios.rom payload 0x1 0x2
linuxbios image is 192277 bytes; only 65536 allowed
Linuxbios input file larger than allowed size!
: Success
make[1]: *** [linuxbios.rom] Error 2
make[1]: Leaving directory `/tmp/v2/targets/asus/p2b/p2b/normal'
make: *** [normal/linuxbios.rom] Error 1


There must be some other way to fix this.


   .id (.): {
   *(.id)
   }
 Index: LinuxBIOSv2-2571/src/arch/i386/init/ldscript.lb
 ===
 --- LinuxBIOSv2-2571.orig/src/arch/i386/init/ldscript.lb
 +++ LinuxBIOSv2-2571/src/arch/i386/init/ldscript.lb
 @@ -53,6 +53,10 @@ SECTIONS
   _erom = .;
   }
  
 + .note.gnu.build-id : {
 + *(.note.gnu.build-id)
 + }
 +
   _lrom = LOADADDR(.rom);
   _elrom = LOADADDR(.rom) + SIZEOF(.rom);
   _iseg = _RAMBASE;
 @@ -63,5 +67,6 @@ SECTIONS
   /DISCARD/ : {
   *(.comment)
   *(.note)
 + *(.note.*)
   }
  }


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] CONFIG_ROM_STREAM verus CONFIG_IDE_STREAM verus CONFIG_FS_STREAM?

2007-12-07 Thread Uwe Hermann
On Tue, Dec 04, 2007 at 10:59:21AM -0800, Steve Isaacs wrote:
 I'm puzzled about the difference between these options. If I want to
 boot using an IDE device does the following make sense?
 
 ## Boot linux from IDE
 default CONFIG_IDE=1
 default CONFIG_FS_STREAM=1
 default CONFIG_FS_EXT2=1
 default CONFIG_FS_ISO9660=1
 default CONFIG_FS_FAT=1
 default AUTOBOOT_CMDLINE=hda1:/vmlinuz
 
 I found these in mainboard/momentum/apache and am wondering if I can use
 them as is for my board.

Where is this from? There's no such board in LinuxBIOS, AFAICS.


 Am I correct in interpreting this as: Use the IDE interface to boot
 which can contain an EXT2 or ISO9660 (CDROM) or FAT file system? (This
 is what I want -- simply boot Linux using the ATA drive connected to the
 IDE interface). I'm currently able to boot this way using a proprietary
 BIOS and want to do the same using LinuxBIOS.

You want to use the latest FILO version from svn, see
http://linuxbios.org/Filo

Which board and chipset is this btw?


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] LinuxBIOSv3 lgdt and gdtptr patch

2007-12-06 Thread Uwe Hermann
On Thu, Dec 06, 2007 at 10:14:41AM -0700, Myles Watson wrote:
 It was submitted (but not in patch form) by Brendan Trotter
 http://www.mail-archive.com/linuxbios@linuxbios.org/msg08771.html
 
 Here it is in patch form.
 - data32  lgdt %cs:gdtptr
 + movl$gdtptr, %ebx
 + lgdt%cs:(%bx)
 
 It removes the first line, which causes some compilers to give a
 truncated gdtptr error, and replaces it with an intermediate load
 step. I think it should be tested by someone with the working
 compiler, to compare the output.

Please repost with a Signed-off-by.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] r539 - LinuxBIOSv3/arch/x86

2007-12-06 Thread Uwe Hermann
On Wed, Dec 05, 2007 at 02:45:55AM +0100, [EMAIL PROTECTED] wrote:
 linuxbios.stage2.o (and stage2.o in the LAR) are NOT .o files, they are
 ELF executables. Remove the .o suffix to reduce confusion.

For clarity's sake we might even want to add an .elf extention? Opinions?


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] Drop coherent_ht_car.c file

2007-12-05 Thread Uwe Hermann
On Wed, Dec 05, 2007 at 11:40:50AM -0700, Marc Jones wrote:
 Acked-by: Marc Jones [EMAIL PROTECTED]

Thanks, r2998.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] State of the buildrom

2007-12-05 Thread Uwe Hermann
On Wed, Dec 05, 2007 at 01:28:33PM -0700, Myles Watson wrote:
 This patch adds support for QEMU to buildrom, for both v2 and v3.  It
 also allows you to build QEMU from sources with the patches.
 
 I've built it for v2 and v3 and it boots in v2, I'm not sure why it
 builds but doesn't boot in v3.  Anyone care to send me their config
 file that works?

The default config should work fine with current v3 trunk. Just run
'make menuconfig' and save (no changes).


 In both v2 and v3 I turned of lzma compression because the
 decompressor was running out of space, and emulated ROM space was
 cheap today.
 
 I set it to use revision 539 of v3 because that was the last revision
 before it was broken on purpose to mirror hardware better.

You can use trunk, qemu build/run has been fixed in v3.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


[LinuxBIOS] [PATCH] Drop coherent_ht_car.c file

2007-12-05 Thread Uwe Hermann
See patch.

That file is a duplicate (it was slightly different at some point, but
identical in its current form) of coherent_ht.c, so drop it.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Remove the coherent_ht_car.c file. It is exactly the same as
coherent_ht.c (save one empty line removed) so there's no use
to keep it around.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: src/northbridge/amd/amdk8/coherent_ht_car.c
===
--- src/northbridge/amd/amdk8/coherent_ht_car.c	(Revision 2997)
+++ src/northbridge/amd/amdk8/coherent_ht_car.c	(Arbeitskopie)
@@ -1,1838 +0,0 @@
-/* coherent hypertransport initialization for AMD64 
- * 
- * written by Stefan Reinauer [EMAIL PROTECTED]
- * (c) 2003-2004 by SuSE Linux AG
- *
- * (c) 2004 Tyan Computer
- *  2004.12 yhlu added support to create routing table dynamically.
- *  it also support 8 ways too. (8 ways ladder or 8 ways crossbar)
- *
- * This code is licensed under GPL.
- */
-
-/*
- * This algorithm assumes a grid configuration as follows:
- *
- * nodes :  12468
- * org.  :  1x1  2x1  2x2  2x3  2x4
- Ladder:
-			CPU7-CPU6 
-			||
-			||
-			|| 
-			|| 
-			||
-			||
-			CPU5-CPU4
-			||
-			||   
-			||  
-			||
-			|| 
-			||   
-			CPU3-CPU2  
-			||
-			|| 
-			||
-			||
-			|| 
-			||
-			CPU1-CPU0
- CROSS_BAR_47_56:
-			CPU7-CPU6 
-			|  \___/ |
-			|   \  / |
-			|\/  | 
-			|/\  | 
-			|   /  \ |
-			|  /\___ |
-			CPU5 CPU4
-			||
-			||   
-			||  
-			||
-			|| 
-			||   
-			CPU3-CPU2  
-			||
-			|| 
-			||
-			||
-			|| 
-			||
-			CPU1-CPU0 	
- */
-
-#include device/pci_def.h
-#include device/pci_ids.h
-#include device/hypertransport_def.h
-#include arch/romcc_io.h
-
-#include amdk8.h
-
-#define enable_bsp_routing()	enable_routing(0)
-
-#define NODE_HT(x) PCI_DEV(0,24+x,0)
-#define NODE_MP(x) PCI_DEV(0,24+x,1)
-#define NODE_MC(x) PCI_DEV(0,24+x,3)
-
-#define DEFAULT 0x00010101	/* default row entry */
-
-#ifndef CROSS_BAR_47_56
-	#define CROSS_BAR_47_56 0
-#endif
-
-#ifndef TRY_HIGH_FIRST
-	#define TRY_HIGH_FIRST 0
-#endif
-
-#ifndef K8_HT_FREQ_1G_SUPPORT
-	#define K8_HT_FREQ_1G_SUPPORT 0
-#endif
-
-#ifndef K8_HT_CHECK_PENDING_LINK
-	#if CONFIG_MAX_PHYSICAL_CPUS = 4
-		#define K8_HT_CHECK_PENDING_LINK 1
-	#else
-		#define K8_HT_CHECK_PENDING_LINK 0
-	#endif
-#endif
-
-#ifndef CONFIG_MAX_PHYSICAL_CPUS_4_BUT_MORE_INSTALLED
-	#define CONFIG_MAX_PHYSICAL_CPUS_4_BUT_MORE_INSTALLED 0
-#endif
-
-#ifndef ENABLE_APIC_EXT_ID
-#define ENABLE_APIC_EXT_ID 0
-#endif
-
-
-static inline void print_linkn (const char *strval, uint8_t byteval) 
-{
-#if 1
-#if CONFIG_USE_PRINTK_IN_CAR
-	printk_debug(%s%02x\r\n, strval, byteval); 
-#else
-	print_debug(strval); print_debug_hex8(byteval); print_debug(\r\n);
-#endif
-#endif
-}
-
-static void disable_probes(void)
-{
-	/* disable read/write/fill probes for uniprocessor setup
-	 * they don't make sense if only one cpu is available
-	 */
-
-	/* Hypetransport Transaction Control Register 
-	 * F0:0x68
-	 * [ 0: 0] Disable read byte probe
-	 * 0 = Probes issues
-	 * 1 = Probes not issued
-	 * [ 1: 1] Disable Read Doubleword probe
-	 * 0 = Probes issued
-	 * 1 = Probes not issued
-	 * [ 2: 2] Disable write byte probes
-	 * 0 = Probes issued
-	 * 1 = Probes not issued
-	 * [ 3: 3] Disable Write Doubleword Probes
-	 * 0 = Probes issued
-	 * 1 = Probes not issued.
-	 * [10:10] Disable Fill Probe
-	 * 0 = Probes issued for cache fills
-	 * 1 = Probes not issued for cache fills.
-	 */
-
-	u32 val;
-
-	print_spew(Disabling read/write/fill probes for UP... );
-
-	val=pci_read_config32(NODE_HT(0), HT_TRANSACTION_CONTROL);
-	val |= HTTC_DIS_FILL_P | HTTC_DIS_RMT_MEM_C | HTTC_DIS_P_MEM_C |
-		HTTC_DIS_MTS | HTTC_DIS_WR_DW_P | HTTC_DIS_WR_B_P | 
-		HTTC_DIS_RD_DW_P | HTTC_DIS_RD_B_P;
-	pci_write_config32(NODE_HT(0), HT_TRANSACTION_CONTROL, val);
-
-	print_spew(done.\r\n);
-
-}
-
-static void enable_apic_ext_id(u8 node) 
-{
-#if ENABLE_APIC_EXT_ID==1
-#warning FIXME Is the right place

Re: [LinuxBIOS] mcp55 irq and apic patch

2007-12-05 Thread Uwe Hermann
On Wed, Dec 05, 2007 at 11:38:15AM -0800, yhlu wrote:
 [Patch] mcp55: irq and apic
 
 route device irq through pci bridge instead in mptable.
 don't enable pin0 for ioapic of io-4
 
 Signed-off-by: Yinghai Lu [EMAIL PROTECTED]

Thanks! The patch didn't apply cleanly and had some random whitespace
breakage in it which I fixed, see attached version of the patch.

I'll reply with a quick review and some questions.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Route device IRQ through PCI bridge instead in mptable.
Don't enable pin0 for ioapic of io-4.

Signed-off-by: Yinghai Lu [EMAIL PROTECTED]

Index: src/southbridge/nvidia/mcp55/mcp55_lpc.c
===
--- src/southbridge/nvidia/mcp55/mcp55_lpc.c	(Revision 2998)
+++ src/southbridge/nvidia/mcp55/mcp55_lpc.c	(Arbeitskopie)
@@ -87,7 +87,7 @@
 	/* Be careful and don't write past the end... */
 };
 
-static void setup_ioapic(unsigned long ioapic_base)
+static void setup_ioapic(unsigned long ioapic_base, int master)
 {
 	int i;
 	unsigned long value_low, value_high;
@@ -95,7 +95,14 @@
 	volatile unsigned long *l;
 	struct ioapicreg *a = ioapicregvalues;
 
-	ioapicregvalues[0].value_high = lapicid()(56-32);
+	if (master) {
+		ioapicregvalues[0].value_high = lapicid()(56-32);
+		ioapicregvalues[0].value_low = ENABLED | TRIGGER_EDGE | POLARITY_HIGH | PHYSICAL_DEST | ExtINT;
+	}
+	else {
+		ioapicregvalues[0].value_high = NONE;
+		ioapicregvalues[0].value_low = DISABLED;
+	}
 
 	l = (unsigned long *) ioapic_base;
 
@@ -121,14 +128,14 @@
 
 #define MAINBOARD_POWER_OFF	0
 #define MAINBOARD_POWER_ON	1
-#define SLOW_CPU_OFF	0
-#define SLOW_CPU__ON	1
+#define SLOW_CPU_OFF		0
+#define SLOW_CPU__ON		1
 
 #ifndef MAINBOARD_POWER_ON_AFTER_POWER_FAIL
-#define MAINBOARD_POWER_ON_AFTER_POWER_FAIL	MAINBOARD_POWER_ON
+#define MAINBOARD_POWER_ON_AFTER_POWER_FAIL MAINBOARD_POWER_ON
 #endif
 
-static void lpc_common_init(device_t dev)
+static void lpc_common_init(device_t dev, int master)
 {
 	uint8_t byte;
 	uint32_t dword;
@@ -139,13 +146,12 @@
 	pci_write_config8(dev, 0x74, byte);
 	dword = pci_read_config32(dev, PCI_BASE_ADDRESS_1); // 0x14
 
-	setup_ioapic(dword);
-
+	setup_ioapic(dword, master);
 }
 
 static void lpc_slave_init(device_t dev)
 {
-	lpc_common_init(dev);
+	lpc_common_init(dev, 0);
 }
 
 #if 0
@@ -166,13 +172,12 @@
 	int on;
 	int nmi_option;
 
-	lpc_common_init(dev);
+	lpc_common_init(dev, 1);
 
 #if 0
 	/* posted memory write enable */
 	byte = pci_read_config8(dev, 0x46);
 	pci_write_config8(dev, 0x46, byte | (10));
-
 #endif
 	/* power after power fail */
 
@@ -198,7 +203,7 @@
 		dword = inl(pm10_bar + 0x10);
 		on = 8-on;
 		printk_debug(Throttling CPU %2d.%1.1d percent.\n,
-(on*12)+(on1),(on1)*5);
+			 (on*12)+(on1),(on1)*5);
 	}
 
 #if 0
Index: src/mainboard/nvidia/l1_2pvv/mptable.c
===
--- src/mainboard/nvidia/l1_2pvv/mptable.c	(Revision 2998)
+++ src/mainboard/nvidia/l1_2pvv/mptable.c	(Arbeitskopie)
@@ -39,6 +39,7 @@
 	unsigned sbdn;
 
 	int i,j;
+	unsigned char apicpin[4];
 
 mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
 memset(mc, 0, sizeof(*mc));
@@ -65,8 +66,8 @@
 
 /*Bus:		Bus ID	Type*/
/* define bus and isa numbers */
-for(j= 0; j  256 ; j++) {
-		if(m-bus_type[j])
+for (j = 0; j  256 ; j++) {
+		if (m-bus_type[j])
 			 smp_write_bus(mc, j, PCI   );
 }
 smp_write_bus(mc, m-bus_isa, ISA   );
@@ -77,38 +78,43 @@
 		struct resource *res;
 		uint32_t dword;
 
-dev = dev_find_slot(m-bus_mcp55[0], PCI_DEVFN(sbdn+ 0x1,0));
+dev = dev_find_slot(m-bus_mcp55, PCI_DEVFN(sbdn+ 0x1,0));
 if (dev) {
 			res = find_resource(dev, PCI_BASE_ADDRESS_1);
-			if (res) {
+			if (res)
 smp_write_ioapic(mc, m-apicid_mcp55, 0x11, res-base);
-			}
 
+		/* Initialize interrupt mapping*/
+			dword = pci_read_config32(dev, 0x74);
+			dword = ~(115);
+			dword |= 12;
+			pci_write_config32(dev, 0x74, dword);
+
 			dword = 0x43c6c643;
-		pci_write_config32(dev, 0x7c, dword);
+			pci_write_config32(dev, 0x7c, dword);
 
 		dword = 0x81001a00;
 		pci_write_config32(dev, 0x80, dword);
 
-		dword = 0xd00012d2;
+			dword = 0xd00012d2;
 		pci_write_config32(dev, 0x84, dword);
 
 }
 
-	if(m-bus_mcp55b[0]) {
-dev = dev_find_slot(m-bus_mcp55b[0], PCI_DEVFN(m-sbdnb + 0x1,0));
+	if (m-bus_mcp55b) {
+dev = dev_find_slot(m-bus_mcp55b, PCI_DEVFN(m-sbdnb + 0x1,0));
 if (dev) {
 			res = find_resource(dev, PCI_BASE_ADDRESS_1);
-			if (res) {
+			if (res)
 smp_write_ioapic(mc, m-apicid_mcp55b, 0x11, res-base);
-			}
+
 			dword = 0x43c6;
-		pci_write_config32(dev, 0x7c, dword);
+			pci_write_config32(dev, 0x7c, dword);
 
 		dword 

Re: [LinuxBIOS] Add support for the AMD SimNow (TM) simulator (try 2)

2007-12-05 Thread Uwe Hermann
On Tue, Dec 04, 2007 at 02:39:04PM -0700, Myles Watson wrote:
 On 11/28/07, Jordan Crouse [EMAIL PROTECTED] wrote:
  On 28/11/07 12:31 -0800, ron minnich wrote:
   Is there a howto on the web page to show how to use this sim
   environment? This is really cool.
 
 I put up a basic page today that should help someone get started.
 It's at http://www.linuxbios.org/AMD_SimNow and it's linked to from
 the homepage, down by QEMU.

Very nice, thanks! But please add a license at the bottom of the page
(use {{GPL}} or {{PD-self}} etc).

See here for a list of licenses:
http://linuxbios.org/index.php?title=Special%3AAllpagesfrom=namespace=10

We can add others if you prefer another (free-ish) one.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] PCI: Left over static devices. Check your Config.lb

2007-12-05 Thread Uwe Hermann
On Tue, Dec 04, 2007 at 04:08:47PM -0800, Steve Isaacs wrote:
 I'm seeing this message during boot and have made several attempts and
 modifying the Config.lb as the message suggests. Here's the tail of the
 messages:
 
 PCI: 00:09.0 [1166/0142] disabled
 PCI: 00:0a.0 subbordinate bus PCI Express
 PCI: 00:0a.0 [1166/0144] enabled
 PCI: 00:0b.0 subbordinate bus PCI Express
 PCI: 00:0b.0 [1166/0142] disabled
 PCI: 00:0c.0 subbordinate bus PCI Express
 PCI: 00:0c.0 [1166/0144] disabled
 PCI: 00:01.1
 PCI: Left over static devices.  Check your Config.lb
 
 I did start with a much longer list of left over devices and have
 narrowed it down to this one but I can't find a config that corrects the
 problem.
 
 I've tried locating documentation that provides the rules for proper PCI
 configuration but haven't found anything that helps me understand what
 I've gotten wrong. Any clues I need to look for?

Please post your Config.lb and 'lspci -tvnn' output.

You're likely listing PCI devices in Config.lb which are not on the
board, or you use the wrong nesting or order (?)


Uwe,
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] mcp55 irq and apic patch

2007-12-05 Thread Uwe Hermann
On Wed, Dec 05, 2007 at 10:49:52PM +0100, Uwe Hermann wrote:
  route device irq through pci bridge instead in mptable.
  don't enable pin0 for ioapic of io-4

Please explain in more detail why the change is done and which
consequences there are or which bugs / problems are fixed.

Also, you're changing the MCP55 code _and_ some board-specific code
for just one board? Will the other MCP55 boards need fixes, too?
If so, which fixes?


 Index: src/southbridge/nvidia/mcp55/mcp55_lpc.c
 ===
 --- src/southbridge/nvidia/mcp55/mcp55_lpc.c  (Revision 2998)
 +++ src/southbridge/nvidia/mcp55/mcp55_lpc.c  (Arbeitskopie)
 @@ -87,7 +87,7 @@
   /* Be careful and don't write past the end... */
  };
  
 -static void setup_ioapic(unsigned long ioapic_base)
 +static void setup_ioapic(unsigned long ioapic_base, int master)
  {
   int i;
   unsigned long value_low, value_high;
 @@ -95,7 +95,14 @@
   volatile unsigned long *l;
   struct ioapicreg *a = ioapicregvalues;
  
 - ioapicregvalues[0].value_high = lapicid()(56-32);
 + if (master) {
 + ioapicregvalues[0].value_high = lapicid()(56-32);
 + ioapicregvalues[0].value_low = ENABLED | TRIGGER_EDGE | 
 POLARITY_HIGH | PHYSICAL_DEST | ExtINT;
 + }
 + else {
 + ioapicregvalues[0].value_high = NONE;
 + ioapicregvalues[0].value_low = DISABLED;
 + }
  
   l = (unsigned long *) ioapic_base;
  
 @@ -121,14 +128,14 @@
  
  #define MAINBOARD_POWER_OFF  0
  #define MAINBOARD_POWER_ON   1
 -#define SLOW_CPU_OFF 0
 -#define SLOW_CPU__ON 1
 +#define SLOW_CPU_OFF 0
 +#define SLOW_CPU__ON 1
  
  #ifndef MAINBOARD_POWER_ON_AFTER_POWER_FAIL
 -#define MAINBOARD_POWER_ON_AFTER_POWER_FAIL  MAINBOARD_POWER_ON
 +#define MAINBOARD_POWER_ON_AFTER_POWER_FAIL MAINBOARD_POWER_ON
  #endif
  
 -static void lpc_common_init(device_t dev)
 +static void lpc_common_init(device_t dev, int master)
  {
   uint8_t byte;
   uint32_t dword;
 @@ -139,13 +146,12 @@
   pci_write_config8(dev, 0x74, byte);
   dword = pci_read_config32(dev, PCI_BASE_ADDRESS_1); // 0x14
  
 - setup_ioapic(dword);
 -
 + setup_ioapic(dword, master);
  }
  
  static void lpc_slave_init(device_t dev)
  {
 - lpc_common_init(dev);
 + lpc_common_init(dev, 0);

Maybe

  #define FOO_MASTER 1
  #define FOO_SLAVE  0

at the top of the file, with some good name for 'FOO', to
remove the magic constants from the function calls and to
make it clear what's meant.


  }
  
  #if 0
 @@ -166,13 +172,12 @@
   int on;
   int nmi_option;
  
 - lpc_common_init(dev);
 + lpc_common_init(dev, 1);
  
  #if 0
   /* posted memory write enable */
   byte = pci_read_config8(dev, 0x46);
   pci_write_config8(dev, 0x46, byte | (10));
 -
  #endif
   /* power after power fail */
  
 @@ -198,7 +203,7 @@
   dword = inl(pm10_bar + 0x10);
   on = 8-on;
   printk_debug(Throttling CPU %2d.%1.1d percent.\n,
 - (on*12)+(on1),(on1)*5);
 +  (on*12)+(on1),(on1)*5);
   }
  
  #if 0
 Index: src/mainboard/nvidia/l1_2pvv/mptable.c
 ===
 --- src/mainboard/nvidia/l1_2pvv/mptable.c(Revision 2998)
 +++ src/mainboard/nvidia/l1_2pvv/mptable.c(Arbeitskopie)
 @@ -39,6 +39,7 @@
   unsigned sbdn;
  
   int i,j;
 + unsigned char apicpin[4];

This should be u8 I think (you need stdint.h).


  mc = (void *)(((char *)v) + SMP_FLOATING_TABLE_LEN);
  memset(mc, 0, sizeof(*mc));
 @@ -65,8 +66,8 @@
  
  /*Bus:   Bus ID  Type*/
 /* define bus and isa numbers */
 -for(j= 0; j  256 ; j++) {
 - if(m-bus_type[j])
 +for (j = 0; j  256 ; j++) {
 + if (m-bus_type[j])
smp_write_bus(mc, j, PCI   );
  }
  smp_write_bus(mc, m-bus_isa, ISA   );
 @@ -77,38 +78,43 @@
   struct resource *res;
   uint32_t dword;
  
 -dev = dev_find_slot(m-bus_mcp55[0], PCI_DEVFN(sbdn+ 0x1,0));
 +dev = dev_find_slot(m-bus_mcp55, PCI_DEVFN(sbdn+ 0x1,0));

Why is this no longer an array? Only on this board or for all MCP55
boards?


  if (dev) {
   res = find_resource(dev, PCI_BASE_ADDRESS_1);
 - if (res) {
 + if (res)
   smp_write_ioapic(mc, m-apicid_mcp55, 0x11, 
 res-base);
 - }
  
 + /* Initialize interrupt mapping*/
 + dword = pci_read_config32(dev, 0x74);
 + dword = ~(115);
 + dword |= 12;
 + pci_write_config32(dev, 0x74, dword);
 +
   dword = 0x43c6c643;
 - pci_write_config32(dev, 0x7c, dword

Re: [LinuxBIOS] r534 - in LinuxBIOSv3: arch/x86 include lib northbridge/amd/geodelx northbridge/intel/i440bxemulation

2007-12-04 Thread Uwe Hermann
On Mon, Dec 03, 2007 at 10:08:36PM +0100, Stefan Reinauer wrote:
 * [EMAIL PROTECTED] [EMAIL PROTECTED] [071203 21:32]:
  Author: uwe
  Date: 2007-12-03 21:32:53 +0100 (Mon, 03 Dec 2007)
  New Revision: 534
  
  Added:
 LinuxBIOSv3/include/northbridgelib.h
 LinuxBIOSv3/lib/northbridgelib.c
 
 Reading the code this seems to belong to device/pci_device.c and
 device/device_util.c rather than in lib/?

Good point. Patch sent with other subject.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


[LinuxBIOS] [PATCH] Move northbridgelib.c code to pci_device.c

2007-12-04 Thread Uwe Hermann
See patch.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Move the code from northbridgelib.c to pci_device.c.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: include/northbridgelib.h
===
--- include/northbridgelib.h	(Revision 535)
+++ include/northbridgelib.h	(Arbeitskopie)
@@ -1,26 +0,0 @@
-/*
- * This file is part of the LinuxBIOS project.
- *
- * Copyright (C) 2007 Advanced Micro Devices, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
- */
-
-#include device/device.h
-
-void pci_domain_read_resources(struct device *dev);
-void ram_resource(struct device *dev, unsigned long index,
-		  unsigned long basek, unsigned long sizek);
-unsigned int pci_domain_scan_bus(struct device *dev, unsigned int max);
Index: include/device/pci.h
===
--- include/device/pci.h	(Revision 535)
+++ include/device/pci.h	(Arbeitskopie)
@@ -94,6 +94,12 @@
 struct resource *pci_get_resource(struct device *dev, unsigned long index);
 void pci_dev_set_subsystem(struct device * dev, unsigned vendor, unsigned device);
 
+void pci_domain_read_resources(struct device *dev);
+void ram_resource(struct device *dev, unsigned long index,
+  unsigned long basek, unsigned long sizek);
+unsigned int pci_domain_scan_bus(struct device *dev, unsigned int max);
+
+
 #define PCI_IO_BRIDGE_ALIGN 4096
 #define PCI_MEM_BRIDGE_ALIGN (1024*1024)
 
Index: device/pci_device.c
===
--- device/pci_device.c	(Revision 535)
+++ device/pci_device.c	(Arbeitskopie)
@@ -449,6 +449,32 @@
 	pci_get_rom_resource(dev, PCI_ROM_ADDRESS1);
 }
 
+/**
+ * Set resources for the PCI domain.
+ *
+ * A PCI domain contains the I/O and memory resource address space below it.
+ * Set up basic global ranges for I/O and memory. Allocation of sub-resources
+ * draws on these top-level resources in the usual hierarchical manner.
+ *
+ * @param dev The northbridge device.
+ */
+void pci_domain_read_resources(struct device *dev)
+{
+	struct resource *res;
+
+	/* Initialize the system-wide I/O space constraints. */
+	res = new_resource(dev, IOINDEX_SUBTRACTIVE(0, 0));
+	res-limit = 0xUL;
+	res-flags =
+	IORESOURCE_IO | IORESOURCE_SUBTRACTIVE | IORESOURCE_ASSIGNED;
+
+	/* Initialize the system-wide memory resources constraints. */
+	res = new_resource(dev, IOINDEX_SUBTRACTIVE(1, 0));
+	res-limit = 0xULL;
+	res-flags =
+	IORESOURCE_MEM | IORESOURCE_SUBTRACTIVE | IORESOURCE_ASSIGNED;
+}
+
 static void pci_set_resource(struct device *dev, struct resource *resource)
 {
 	resource_t base, end;
@@ -580,6 +606,32 @@
 	pci_write_config8(dev, PCI_CACHE_LINE_SIZE, 64  2);
 }
 
+/**
+ * Create a RAM resource, by taking the passed-in size and creating
+ * a resource record.
+ *
+ * @param dev The device.
+ * @param index A resource index.
+ * @param basek Base memory address in KB.
+ * @param sizek Size of memory in KB.
+ */
+void ram_resource(struct device *dev, unsigned long index,
+		  unsigned long basek, unsigned long sizek)
+{
+	struct resource *res;
+
+	if (!sizek)
+		return;
+
+	res = new_resource(dev, index);
+	res-base = ((resource_t) basek)  10;	/* Convert to bytes. */
+	res-size = ((resource_t) sizek)  10; /* Convert to bytes. */
+	res-flags = IORESOURCE_MEM | IORESOURCE_CACHEABLE |
+	IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
+
+	printk(BIOS_SPEW, Adding RAM resource (%lld bytes)\n, res-size);
+}
+
 void pci_dev_enable_resources(struct device *dev)
 {
 	const struct pci_operations *ops;
@@ -1108,6 +1160,22 @@
 }
 
 /**
+ * Support for scan bus from the tippy top -- i.e. the PCI domain,
+ * not the 0:0.0 device.
+ *
+ * This function works for almost all chipsets (AMD K8 is the exception).
+ *
+ * @param dev The PCI domain device.
+ * @param max Maximum number of devices to scan.
+ * @return TODO
+ */
+unsigned int pci_domain_scan_bus(struct device *dev, unsigned int max)
+{
+	/* There is only one link on this device, and it is always link 0. */
+	return pci_scan_bus(dev-link[0], PCI_DEVFN(0, 0), 0xff, max);
+}
+
+/**
  * Scan a PCI bridge and the buses behind the bridge

Re: [LinuxBIOS] [PATCH] Move northbridgelib.c code to pci_device.c

2007-12-04 Thread Uwe Hermann
On Tue, Dec 04, 2007 at 12:23:04PM +0100, Stefan Reinauer wrote:
 Acked-by: Stefan Reinauer [EMAIL PROTECTED]

Thanks, r536.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] v3: Refactoring, northbridgelib.c

2007-12-03 Thread Uwe Hermann
On Sun, Dec 02, 2007 at 10:58:31AM -0800, ron minnich wrote:
 Acked-by: Ronald G. Minnich [EMAIL PROTECTED]

Thanks, r534.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] LinuxBIOS on Compaq ProLiant 1850R?

2007-12-03 Thread Uwe Hermann
On Mon, Dec 03, 2007 at 10:45:01AM -0500, Corey Osgood wrote:
  I was wondering if LinuxBIOS would work on my Compaq ProLiant 1850R server. 
  The current Compaq BIOS lacks a lot of options.

 
 The system itself is not supported yet, but all the components are. It
 wouldn't be very hard to port it.

Yep, let's do it. Does the board have a socketed BIOS so you can
hot-swap it to have a backup chip stored away safely?


  I identified the following chips on the mainboard:
 
  Super I/O: NSC PC87317
  Northbridge: Intel FW82443BX
  Southbridge: Intel FW82371EB

Looks good, we can support that easily.

Please send the output of 'lspci -tvnn' and 'superiotool -dV' from your
board (run it as root). Also, please run the 'getpir' tool and
send us the irq_tables.c file which is generated by the tool.

We can make a patch with that information then, if you're willing to
test it on your hardware.


  SCSI: Symbios LSI 53C876 (on-board)

 
 You'd have to extract the original option rom from the bios for this,
 then prepend it to linuxbios. Explore around the wiki a bit, there's a
 build guide for another board with a SCSI option rom, or else it's the
 same process as for a VGA rom.

Do you absolutely need the SCSI? See also Peter's post, I'm not sure
if/how it may work, but you should be able to boot off of IDE just fine
with LinuxBIOS if that helps.


  Video: ATI Rage IIc (on-board)

 
 There's a driver in LB for the rage, I don't know if it'll work with
 this particular one or not, but it can't hurt to try. This would mean no

Yeah, that would be very interesting to know.


 need to use the vendor BIOS. There's a tyan board that uses this, but I
 don't know which one(s) off the top of my head.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Infamous __stack_chk_fail problem.

2007-12-03 Thread Uwe Hermann
On Mon, Dec 03, 2007 at 10:36:51PM +0100, Stefan Reinauer wrote:
 You can add the following lines to your
 target/vendor/board/Config.lb:
 
 option CC=i386-elf-gcc
 # this one is CFLAGS.
 option CPU_OPT=-O2 -Wl,...
 option HOSTCC=gcc

Yep, this should be in the wiki (FAQ?) if it's not already there.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] Improved Intel 82371EB (and others) support

2007-12-03 Thread Uwe Hermann
On Fri, Nov 30, 2007 at 04:01:16AM +0100, Žiga Mlinar wrote:
  This is required to make all 440BX based boards in v2 almost fully
  supported. Without the patch at least the Super I/O init is never
  performed, thus lots of stuff is broken.
 
 Works here on Azza/PT-6IBD. With this patch ps2 mouse and ps2 keyboard work.  
 They didn't before.

Great, thanks! Wiki is updated now.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios

Re: [LinuxBIOS] OT: Motherboard

2007-12-03 Thread Uwe Hermann
On Mon, Dec 03, 2007 at 05:08:57PM -0500, Forest Dean Feighner wrote:
 Off topic for the list yet apropos.
 
 Can anyone recommend an entry level motherboard that has a bios socket 
 rather than one wired to the board?

Too generic. There are tons of boards with socketed BIOS.

Do you want a shiny new boards or something older from the
Pentium II/III era etc?

http://linuxbios.org/Supported_Motherboards


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Infamous __stack_chk_fail problem.

2007-12-03 Thread Uwe Hermann
On Mon, Dec 03, 2007 at 02:11:50PM -0800, Steve Isaacs wrote:
 So, I summarize. If I need a consistent and repeatable build I use the
 toolchain of my choice and use the above to point the LinuxBIOS build to
 that toolchain.

Yep, pretty much. For a product you probably also want to stick with a
certain tested svn version of LinuxBIOS (not trunk, which is a moving target).

(This doesn't mean trunk is unstable. Any breakage is considered a no-no
and is a bug; all commits should keep trunk in a building/working state.
But using a specific svn version is still a bit safer)


HTH, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] State of the buildrom

2007-12-03 Thread Uwe Hermann
On Mon, Dec 03, 2007 at 11:29:27AM -0700, Jordan Crouse wrote:
  I think it's more important to figure out how we really want to configure
  LinuxBIOS (it seems to be a large hurdle for newbies), not buildrom.
 
 Agreed - being able to do these things easily with v3 is a priority.
 We have to think about what we would want to control externally, and then
 make those knobs easy to turn.

Isn't that easy in v3 already? You just use / modify defconfig files as
with the kernel.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] v3: Refactoring, northbridgelib.c

2007-12-02 Thread Uwe Hermann
On Tue, Nov 27, 2007 at 02:08:52AM +0100, Uwe Hermann wrote:
 See patch.
 
 Factor out common code. In v2 98% of all northbridges do exactly the
 same thing (in these functions), thus refactor. It's easy to override
 the common functions if a northbridge needs slightly different ones
 (I think K8 will, for example).

ping? Thiѕ is a pretty obvious refactoring which removes lots of
duplicated code (now, and for many future northbridges we'll add).


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios

Re: [LinuxBIOS] [PATCH] flashrom: Acorp 6A815EPD board-enable

2007-12-02 Thread Uwe Hermann
On Mon, Nov 26, 2007 at 05:24:25PM -0600, [EMAIL PROTECTED] wrote:
 Add board-enable for Acorp 6A815EPD.
 
 Signed-off-by: Jonathan A. Kollasch [EMAIL PROTECTED]

Thanks, committed in r2995.


 + dev = pci_dev_find(0x8086, 0x2440); /* Intel ICH2 LPC */
 + if (!dev) {
 + fprintf(stderr, \nERROR: ICH2 LPC bridge not found.\n);
 + return -1;
 + }
 +
 + /* use GPIOBASE register to find where the GPIO is mapped */
 + port = (pci_read_word(dev, 0x58)  0xFF80) + 0xE;

Maybe I have a thinko, but shouldn't this be 0xffc0 instead of 0xff80?


 +
 + val = inb(port);
 + val |= 0x80; /* Top Block Lock -- pin 8 of PLCC32 */
 + val |= 0x40; /* Lower Blocks Lock -- pin 7 of PLCC32 */

This is board-specific I assume? Did you trace the connections going to
the ROM to find the specific lines?


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Booting Windows with QEMU+LinuxBIOS

2007-12-01 Thread Uwe Hermann
On Thu, Nov 29, 2007 at 06:37:10PM +0900, Jun Koi wrote:
 Hmm... I managed to do like this:
 
 - Compile ADLO separately, then I have a file named payload
 - In LinuxBIOSv3, I run make menuconfig, then specify the path of
 payload option to the above payload.
 - Save options, quit and compile.
 
 As a result, I have build/bios.bin, and I overwrites this file onto
 the original bios.bin of my QEMU.

No need to overwrite. Just use the '-L build' command line option for
QEMU and it will use the bios.bin in the build/ directory instead of
the normal one.


 Then, I run QEMU with my Linux image. It works, and I can login to my
 Linux QEMU.
 
 Now, the problem is that I am not sure if my Linux on QEMU really uses
 LinuxBIOS. How can I confirm that? dmesg doesnt seem to return
 anything special to me.

Use the '-serial stdio' command line option with QEMU, that will
print a LinuxBIOS starting... or similar message if it's really
LinuxBIOS.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] USB booting in LinuxBIOS

2007-11-30 Thread Uwe Hermann
On Thu, Nov 29, 2007 at 08:00:11PM -0700, Jordan Crouse wrote:
 On 30/11/07 03:33 +0100, Uwe Hermann wrote:
  [New thread]
  
  On Thu, Nov 29, 2007 at 08:25:32PM -0500, Richard Smith wrote:
   That said, here in the OLPC offices we have still have periodic pain 
   involved with USB booting.  A lot of usb sticks are just trash.  The 
   generic case requires up to several seconds of delay before you can 
   access 
   them.
  
  I'm curious, what do you use for USB booting? Is it suitable for
  generic LinuxBIOS use, too? Both FILO and Etherboot seem pretty broken
  wrt USB at the moment, GRUB2 doesn't have support at all AFAIK.
 
 They use OFW.

Sure, but how is the boot from USB functionality implemented? Forth
code? C code? Can we port it to LinuxBIOS/FILO/GRUB somehow?


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] IDE legacy port access + UDMA/33 for 440BX boards

2007-11-30 Thread Uwe Hermann
On Fri, Nov 30, 2007 at 09:14:57AM +0100, Stefan Reinauer wrote:
 * Uwe Hermann [EMAIL PROTECTED] [071130 03:21]:
  See patch.
  
  At the very least the IDE legacy port access must be enabled to be
  able to use FILO. The rest is optional, but I see no reason to not
  enable it per default.
  
 should this maybe be a cmos option instead? Some old drives (being
 present in old machines) might not work with the setting.

On the long run, yes. IMO we should automatically extract a CMOS
option out of these config variables. All of them make run-time
decisions in the code already - perfect for CMOS options.

For now I'd like to commit as is, there's no CMOS support on 440BX
boards anyway at the moment, and ide_legacy_enable = 1 is really needed
to be able to use FILO.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] r2991 - trunk/LinuxBIOSv2/src/mainboard/iwill/dk8_htx

2007-11-29 Thread Uwe Hermann
On Thu, Nov 29, 2007 at 02:39:30PM +0100, Stefan Reinauer wrote:
  Signed-off-by: Mondrian Nuessle [EMAIL PROTECTED]
  Acked-by: mcq [EMAIL PROTECTED]
 
  Short question:
  Do we require real names for Acked-by or is that just a requirement for
  Signed-off-by?

 I vote for both.

Me too, but there wasn't any real name in trac to use this time (sorry).


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


[LinuxBIOS] USB booting in LinuxBIOS

2007-11-29 Thread Uwe Hermann
[New thread]

On Thu, Nov 29, 2007 at 08:25:32PM -0500, Richard Smith wrote:
 That said, here in the OLPC offices we have still have periodic pain 
 involved with USB booting.  A lot of usb sticks are just trash.  The 
 generic case requires up to several seconds of delay before you can access 
 them.

I'm curious, what do you use for USB booting? Is it suitable for
generic LinuxBIOS use, too? Both FILO and Etherboot seem pretty broken
wrt USB at the moment, GRUB2 doesn't have support at all AFAIK.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


[LinuxBIOS] [PATCH] Improved Intel 82371EB (and others) support

2007-11-29 Thread Uwe Hermann
See patch.

This is required to make all 440BX based boards in v2 almost fully
supported. Without the patch at least the Super I/O init is never
performed, thus lots of stuff is broken.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Improve support for the Intel 82371FB/SB/AB/EB/MB southbridge(s):

 - Implement ISA related support:
   - Initialize the RTC
   - Enable access to all BIOS regions (but _not_ write access to ROM)
   - Enable ISA (not EIO) support
   - Without the *_isa.c file, the Super I/O init is never performed
 - Improve IDE support:
   - Add config option to enable Ultra DMA/33 for each disk
   - Add config option to enable legacy IDE port access
 - Implement hard reset support
 - Implement USB controller support
 - Various code cleanups and improvements

The code partially supports southbridges other than the 82371EB (but
which are very similar), more complete support will follow.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: src/southbridge/intel/i82371eb/Config.lb
===
--- src/southbridge/intel/i82371eb/Config.lb	(Revision 2993)
+++ src/southbridge/intel/i82371eb/Config.lb	(Arbeitskopie)
@@ -19,8 +19,9 @@
 ##
 
 config chip.h
-
 driver i82371eb.o
+driver i82371eb_isa.o
+driver i82371eb_ide.o
+driver i82371eb_usb.o
 driver i82371eb_smbus.o
-driver i82371eb_ide.o
-
+driver i82371eb_reset.o
Index: src/southbridge/intel/i82371eb/i82371eb_isa.c
===
--- src/southbridge/intel/i82371eb/i82371eb_isa.c	(Revision 0)
+++ src/southbridge/intel/i82371eb/i82371eb_isa.c	(Revision 0)
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the LinuxBIOS project.
+ *
+ * Copyright (C) 2007 Uwe Hermann [EMAIL PROTECTED]
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#include stdint.h
+#include console/console.h
+#include device/device.h
+#include device/pci.h
+#include device/pci_ids.h
+#include pc80/isa-dma.h
+#include pc80/mc146818rtc.h
+#include i82371eb.h
+
+static void isa_init(struct device *dev)
+{
+	u16 reg16;
+	u32 reg32;
+
+	/* Initialize the real time clock (RTC). */
+	rtc_init(0);
+
+	/* Enable access to all BIOS regions. */
+	reg16 = pci_read_config16(dev, XBCS);
+	reg16 |= LOWER_BIOS_ENABLE;
+	reg16 |= EXT_BIOS_ENABLE;
+	reg16 |= EXT_BIOS_ENABLE_1MB;
+	reg16 = ~(WRITE_PROTECT_ENABLE);	/* Disable ROM write access. */
+	pci_write_config16(dev, XBCS, reg16);
+
+	/*
+	 * The PIIX4 can support the full ISA bus, or the Extended I/O (EIO)
+	 * bus, which is a subset of ISA. We select the full ISA bus here.
+	 */
+	reg32 = pci_read_config32(dev, GENCFG);
+	reg32 |= ISA;	/* Select ISA, not EIO. */
+	pci_write_config16(dev, GENCFG, reg32);
+
+	/* Initialize ISA DMA. */
+	isa_dma_init();
+}
+
+static const struct device_operations isa_ops = {
+	.read_resources		= pci_dev_read_resources,
+	.set_resources		= pci_dev_set_resources,
+	.enable_resources	= pci_dev_enable_resources,
+	.init			= isa_init,
+	.scan_bus		= scan_static_bus,	/* TODO: Needed? */
+	.enable			= 0,
+	.ops_pci		= 0, /* No subsystem IDs on 82371EB! */
+};
+
+static const struct pci_driver isa_driver __pci_driver = {
+	.ops	= isa_ops,
+	.vendor	= PCI_VENDOR_ID_INTEL,
+	.device	= PCI_DEVICE_ID_INTEL_82371AB_ISA,
+};
Index: src/southbridge/intel/i82371eb/i82371eb.c
===
--- src/southbridge/intel/i82371eb/i82371eb.c	(Revision 2993)
+++ src/southbridge/intel/i82371eb/i82371eb.c	(Arbeitskopie)
@@ -18,46 +18,47 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-/* Datasheet:
+/* Note: This code supports the 82371FB/SB/MX/AB/EB/MB and 82437MX. */
+
+/* Datasheets:
+ *   - Name: 82371FB (PIIX) AND 82371SB (PIIX3) PCI ISA IDE XCELERATOR
+ *   - URL: http://www.intel.com/design/intarch/datashts/290550.htm
+ *   - PDF: http://download.intel.com/design/intarch/datashts/29055002.pdf
+ *   - Date: April 1997
+ *   - Order Number: 290550-002
+ *
+ *   - Name: 82371FB (PIIX) and 82371SB (PIIX3) PCI ISA IDE Xcelerator
+ *   Specification Update
+ *   - URL: http://www.intel.com/design/chipsets/specupdt/297658.htm
+ *   - PDF: http://download.intel.com

[LinuxBIOS] [PATCH] IDE legacy port access + UDMA/33 for 440BX boards

2007-11-29 Thread Uwe Hermann
See patch.

At the very least the IDE legacy port access must be enabled to be
able to use FILO. The rest is optional, but I see no reason to not
enable it per default.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Enable IDE legacy port access and UDMA/33 for all 440BX based boards
per default, for now. If there are problems with UDMA on some of
them we might selectively disable UDMA there.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: src/mainboard/a-trend/atc-6220/Config.lb
===
--- src/mainboard/a-trend/atc-6220/Config.lb	(Revision 2994)
+++ src/mainboard/a-trend/atc-6220/Config.lb	(Arbeitskopie)
@@ -130,6 +130,11 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  register ide0_drive0_udma33_enable = 1
+  register ide0_drive1_udma33_enable = 1
+  register ide1_drive0_udma33_enable = 1
+  register ide1_drive1_udma33_enable = 1
 end
   end
 end
Index: src/mainboard/gigabyte/ga-6bxc/Config.lb
===
--- src/mainboard/gigabyte/ga-6bxc/Config.lb	(Revision 2994)
+++ src/mainboard/gigabyte/ga-6bxc/Config.lb	(Arbeitskopie)
@@ -128,6 +128,11 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  register ide0_drive0_udma33_enable = 1
+  register ide0_drive1_udma33_enable = 1
+  register ide1_drive0_udma33_enable = 1
+  register ide1_drive1_udma33_enable = 1
 end
   end
 end
Index: src/mainboard/biostar/m6tba/Config.lb
===
--- src/mainboard/biostar/m6tba/Config.lb	(Revision 2994)
+++ src/mainboard/biostar/m6tba/Config.lb	(Arbeitskopie)
@@ -124,6 +124,11 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  register ide0_drive0_udma33_enable = 1
+  register ide0_drive1_udma33_enable = 1
+  register ide1_drive0_udma33_enable = 1
+  register ide1_drive1_udma33_enable = 1
 end
   end
 end
Index: src/mainboard/azza/pt-6ibd/Config.lb
===
--- src/mainboard/azza/pt-6ibd/Config.lb	(Revision 2994)
+++ src/mainboard/azza/pt-6ibd/Config.lb	(Arbeitskopie)
@@ -130,6 +130,11 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  register ide0_drive0_udma33_enable = 1
+  register ide0_drive1_udma33_enable = 1
+  register ide1_drive0_udma33_enable = 1
+  register ide1_drive1_udma33_enable = 1
 end
   end
 end
Index: src/mainboard/tyan/s1846/Config.lb
===
--- src/mainboard/tyan/s1846/Config.lb	(Revision 2994)
+++ src/mainboard/tyan/s1846/Config.lb	(Arbeitskopie)
@@ -126,6 +126,11 @@
   device pci 7.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  register ide0_drive0_udma33_enable = 1
+  register ide0_drive1_udma33_enable = 1
+  register ide1_drive0_udma33_enable = 1
+  register ide1_drive1_udma33_enable = 1
 end
   end
 end
Index: src/mainboard/compaq/deskpro_en_sff_p600/Config.lb
===
--- src/mainboard/compaq/deskpro_en_sff_p600/Config.lb	(Revision 2994)
+++ src/mainboard/compaq/deskpro_en_sff_p600/Config.lb	(Arbeitskopie)
@@ -134,6 +134,11 @@
   device pci 14.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  register ide0_drive0_udma33_enable = 1
+  register ide0_drive1_udma33_enable = 1
+  register ide1_drive0_udma33_enable = 1
+  register ide1_drive1_udma33_enable = 1
 end
   end
 end
Index: src/mainboard/asus/p2b/Config.lb
===
--- src/mainboard/asus/p2b/Config.lb	(Revision 2994)
+++ src/mainboard/asus/p2b/Config.lb	(Arbeitskopie)
@@ -130,6 +130,11 @@
   device pci 4.3 on end		# ACPI
   register ide0_enable = 1
   register ide1_enable = 1
+  register ide_legacy_enable = 1
+  register ide0_drive0_udma33_enable = 1
+  register ide0_drive1_udma33_enable = 1
+  register ide1_drive0_udma33_enable = 1
+  register ide1_drive1_udma33_enable = 1
 end
   end
 end
Index: src/mainboard/asus/p2b-f/Config.lb
===
--- src/mainboard/asus/p2b-f/Config.lb	(Revision 2994)
+++ src/mainboard/asus/p2b-f/Config.lb	(Arbeitskopie)
@@ -130,6 +130,11 @@
   device pci 4.3 on end		# ACPI

Re: [LinuxBIOS] [PATCH] Improved Intel 82371EB (and others) support

2007-11-29 Thread Uwe Hermann
On Fri, Nov 30, 2007 at 02:50:31AM +0100, Stefan Reinauer wrote:
 Acked-by: Stefan Reinauer [EMAIL PROTECTED]

Thanks, r2994.


 Not sure about the USB controller part. It does nothing, yet, does it?

Good question. This needs some more testing, but I _think_ Linux just
enables the USB ports anyway, no matter what we configure here
(even setting it to 'off' in Config.lb seems to be ignored by Linux (?))

That's not a reason to not attempt any init, though. We not only want to
support Linux but also ADLO/Windows, FILO/GRUB (which might require
the USB devices to be setup (?)), custom payloads etc.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] Remove Bitworks IMS

2007-11-28 Thread Uwe Hermann
On Wed, Nov 28, 2007 at 08:04:59AM -0500, Richard Smith wrote:
  I may be able to help out here.  I have a GigaByte i440bx board with a  
  dual-bios. There are two physical non-socketed chips, but the fallback 
  logic 
  is software conntrolled.
 
 Oh. I don't care about bricking. My boards have sockets and unbricking 
 things is my specialty.  I got programmers, rework equipment, bla bla.
 
 I just don't want to spend my time adding memory autodetection code if 
 somebody already has it 90% there.

I have an almost-finished (and untested, yet) patch lingering on my drive
for a few weeks now for the 440BX RAM init, which adds generic SPD
functions in lib/spd.c and some 440BX-specific stuff in the resp. raminit.c.
Will post soon.

Another patch I have here (just needs some small fixes, but an older
version is still in the list archives, I posted it months ago) for the
82371EB southbridge which the 440BX boards use. I'll finish up that one
first an post it after a few tests.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


[LinuxBIOS] [PATCH] AMD CPU ID fixes and additions

2007-11-28 Thread Uwe Hermann
See patch.

There are some comment updates (datasheet now says SH-CG instead of
SH7-CG, for example), and also 2-3 new CPU IDs. I only looked at
the AMD Athlon64 datasheet, other parts might need updates, too.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Update AMD CPU IDs in model_fxx_init.c with information from
the latest version (Rev. 3.73, October 2007) of the 'Revision Guide for
AMD Athlon 64 and AMD Opteron Processors' datasheet.

Also, add information about the CPU socket for each ID (as per datasheet).

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: src/cpu/amd/model_fxx/model_fxx_init.c
===
--- src/cpu/amd/model_fxx/model_fxx_init.c	(Revision 2988)
+++ src/cpu/amd/model_fxx/model_fxx_init.c	(Arbeitskopie)
@@ -562,42 +562,45 @@
 };
 static struct cpu_device_id cpu_table[] = {
 #if K8_REV_F_SUPPORT == 0
-	{ X86_VENDOR_AMD, 0xf50 }, /* B3 */
-	{ X86_VENDOR_AMD, 0xf51 }, /* SH7-B3 */
-	{ X86_VENDOR_AMD, 0xf58 }, /* SH7-C0 */
-	{ X86_VENDOR_AMD, 0xf48 },
+	{ X86_VENDOR_AMD, 0xf40 }, /* SH-B0 (socket 754) */
+	{ X86_VENDOR_AMD, 0xf50 }, /* SH-B0 (socket 940) */
+	{ X86_VENDOR_AMD, 0xf51 }, /* SH-B3 (socket 940) */
+	{ X86_VENDOR_AMD, 0xf58 }, /* SH-C0 (socket 940) */
+	{ X86_VENDOR_AMD, 0xf48 }, /* SH-C0 (socket 754) */
+	{ X86_VENDOR_AMD, 0xf5a }, /* SH-CG (socket 940) */
+	{ X86_VENDOR_AMD, 0xf4a }, /* SH-CG (socket 754) */
+	{ X86_VENDOR_AMD, 0xf7a }, /* SH-CG (socket 939) */
+	{ X86_VENDOR_AMD, 0xfc0 }, /* DH-CG (socket 754) */
+	{ X86_VENDOR_AMD, 0xfe0 }, /* DH-CG (socket 754) */
+	{ X86_VENDOR_AMD, 0xff0 }, /* DH-CG (socket 939) */
+	{ X86_VENDOR_AMD, 0xf82 }, /* CH-CG (socket 754) */
+	{ X86_VENDOR_AMD, 0xfb2 }, /* CH-CG (socket 939) */
 
-	{ X86_VENDOR_AMD, 0xf5A }, /* SH7-CG */
-	{ X86_VENDOR_AMD, 0xf4A },
-	{ X86_VENDOR_AMD, 0xf7A },
-	{ X86_VENDOR_AMD, 0xfc0 }, /* DH7-CG */
-	{ X86_VENDOR_AMD, 0xfe0 },
-	{ X86_VENDOR_AMD, 0xff0 },
-	{ X86_VENDOR_AMD, 0xf82 }, /* CH7-CG */
-	{ X86_VENDOR_AMD, 0xfb2 },
 //AMD_D0_SUPPORT
-	{ X86_VENDOR_AMD, 0x10f50 }, /* SH7-D0 */
-	{ X86_VENDOR_AMD, 0x10f40 },
-	{ X86_VENDOR_AMD, 0x10f70 },
-{ X86_VENDOR_AMD, 0x10fc0 }, /* DH7-D0 */
-{ X86_VENDOR_AMD, 0x10ff0 },
-{ X86_VENDOR_AMD, 0x10f80 }, /* CH7-D0 */
-{ X86_VENDOR_AMD, 0x10fb0 },
+	{ X86_VENDOR_AMD, 0x10f50 }, /* SH-D0 (socket 940) */
+	{ X86_VENDOR_AMD, 0x10f40 }, /* SH-D0 (socket 754) */
+	{ X86_VENDOR_AMD, 0x10f70 }, /* SH-D0 (socket 939) */
+{ X86_VENDOR_AMD, 0x10fc0 }, /* DH-D0 (socket 754) */
+{ X86_VENDOR_AMD, 0x10ff0 }, /* DH-D0 (socket 939) */
+{ X86_VENDOR_AMD, 0x10f80 }, /* CH-D0 (socket 754) */
+{ X86_VENDOR_AMD, 0x10fb0 }, /* CH-D0 (socket 939) */
+
 //AMD_E0_SUPPORT
-{ X86_VENDOR_AMD, 0x20f50 }, /* SH8-E0*/
+{ X86_VENDOR_AMD, 0x20f50 }, /* SH8-E0 */
 { X86_VENDOR_AMD, 0x20f40 },
 { X86_VENDOR_AMD, 0x20f70 },
-{ X86_VENDOR_AMD, 0x20fc0 }, /* DH8-E0 */ /* DH-E3 */
-{ X86_VENDOR_AMD, 0x20ff0 },
-{ X86_VENDOR_AMD, 0x20f10 }, /* JH8-E1 */
+{ X86_VENDOR_AMD, 0x20fc0 }, /* DH8-E0 */ /* DH-E3 (socket 754) */
+{ X86_VENDOR_AMD, 0x20ff0 }, /* DH-E3 (socket 939) */
+{ X86_VENDOR_AMD, 0x20f10 }, /* JH-E1 (socket 940) */
 { X86_VENDOR_AMD, 0x20f30 },
-{ X86_VENDOR_AMD, 0x20f51 }, /* SH-E4 */
-{ X86_VENDOR_AMD, 0x20f71 },
-{ X86_VENDOR_AMD, 0x20f42 }, /* SH-E5 */
-{ X86_VENDOR_AMD, 0x20ff2 }, /* DH-E6 */
-{ X86_VENDOR_AMD, 0x20fc2 },
-{ X86_VENDOR_AMD, 0x20f12 }, /* JH-E6 */
-{ X86_VENDOR_AMD, 0x20f32 },
+{ X86_VENDOR_AMD, 0x20f51 }, /* SH-E4 (socket 940) */
+{ X86_VENDOR_AMD, 0x20f71 }, /* SH-E4 (socket 939) */
+{ X86_VENDOR_AMD, 0x20fb1 }, /* BH-E4 (socket 939) */
+{ X86_VENDOR_AMD, 0x20f42 }, /* SH-E5 (socket 754) */
+{ X86_VENDOR_AMD, 0x20ff2 }, /* DH-E6 (socket 939) */
+{ X86_VENDOR_AMD, 0x20fc2 }, /* DH-E6 (socket 754) */
+{ X86_VENDOR_AMD, 0x20f12 }, /* JH-E6 (socket 940) */
+{ X86_VENDOR_AMD, 0x20f32 }, /* JH-E6 (socket 939) */
 	{ X86_VENDOR_AMD, 0x30ff2 }, /* E4 ? */
 #endif
 
-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios

Re: [LinuxBIOS] [PATCH] v3: factor out one makefile rule

2007-11-28 Thread Uwe Hermann
On Tue, Nov 27, 2007 at 10:54:59AM -0800, ron minnich wrote:
 Acked-by: Ronald G. Minnich [EMAIL PROTECTED]

r529.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] AMD CPU ID fixes and additions

2007-11-28 Thread Uwe Hermann
On Wed, Nov 28, 2007 at 05:23:57PM -0700, Jordan Crouse wrote:
  There are some comment updates (datasheet now says SH-CG instead of
  SH7-CG, for example), and also 2-3 new CPU IDs. I only looked at
  the AMD Athlon64 datasheet, other parts might need updates, too.
 
 As far as the uncommented ones:
 
 You can get rid of 0x20f30, that shouldn't be in the wild.  The other

OK, done.


 unknown ones are real, but they are not listed in the public
 revision guides, so no details.


 Acked-by: Jordan Crouse [EMAIL PROTECTED]

Thanks, r2989.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] Remove Bitworks IMS

2007-11-27 Thread Uwe Hermann
On Tue, Nov 27, 2007 at 03:39:54AM +0100, Peter Stuge wrote:
 On Mon, Nov 26, 2007 at 07:31:14PM -0500, Richard Smith wrote:
  What 440bx based boards now work?
 
 tyan/s1846

Uh, that and

ASUS P2B
ASUS P2B-F
ASUS P3B-F
A-Trend ATC-6220
AZZA PT-6IBD
Biostar M6TBA
Compaq Deskpro EN SFF P600
GIGABYTE GA-6BXC


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] v3: convert stage2 to multi-segment LAR

2007-11-27 Thread Uwe Hermann
On Tue, Nov 27, 2007 at 06:26:23PM +0100, Stefan Reinauer wrote:
 * Carl-Daniel Hailfinger [EMAIL PROTECTED] [071127 18:01]:
  Yes. How about:
  old way: normal/stage2.o/segment0 normal/stage2.o/segment1
  new 1: normal/stage2/seg0 normal/stage2/seg1
  new 2: normal/stage2/0 normal/stage2/1
  
  I prefer having seg in the name to make it obvious that these are
  segments.
 
 Then just leave the name segment. It doesn't significantly safe space to
 abbreviate here. I like dropping .o in the name though.

ACK for both.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] patch: post code standard

2007-11-27 Thread Uwe Hermann
On Mon, Nov 26, 2007 at 03:02:00PM -0800, ron minnich wrote:
 comments welcome.
 
 ron

 Proposed start of standard post codes. 
 Signed-off-by: Ronald G. Minnich [EMAIL PROTECTED]
 
 Index: include/post_code.h
 ===
 --- include/post_code.h   (revision 521)
 +++ include/post_code.h   (working copy)
 @@ -25,6 +25,11 @@
  
  SHARED(post_code, void, u8 value);
  
 -#define POST_START_OF_MAIN  0x01
 +#define POST_FATAL_ERROR 0xff

Maybe this should not be 0xff or 0x00, as dummy/tests/errors might also
produce 0x00 or 0xff? Maybe 0xfe or something to distringuish it from
other random problems in the (hardware) setup?


 +#define POST_CAR_BASE0x03

What is this? When is it used? I think each (or most) POST codes should
have a comment here.


 +#define POST_STAGE1_BASE 0x10
 +#define POST_STAGE2_BASE 0x20

I like the names here.


 +/* BOGUS! */
 +#define POST_START_OF_MAIN   0x01
  
  #endif /* POST_CODE_H */


I agree with Peter that a chronological order might be good. _And_ the
chronological order should (mostly at least) match the numbers, i.e.
higher numbers appear later in the boot process.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] Remove Bitworks IMS

2007-11-27 Thread Uwe Hermann
On Mon, Nov 26, 2007 at 07:31:14PM -0500, Richard Smith wrote:
 That said, I still have some boards and I would sure love to see proper 
 video pop out sometime before I die.  It is the only project of mine that 
 outright failed because of technical problems I was not able to solve.  The 
 scars remain.

 That was 6 months of some of the most intense debugging I've ever done.  
 Eventually discovering the root cause would cleanse my debugging soul.

 What 440bx based boards now work?

Each one which is in v2 svn (ca. 10 boards).


 Maybe I'll take a Sunday afternoon and try to boot the code one of them on 
 the IMS boards I have.

That would be great. If you stick one DIMM in slot 0 it should boot
right away (yes, this will be fixed to support all combinations), just use
either of the 440BX targets in svn. Except for 4-5 lines of code per target
they're all the same.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] flashrom support for AMD CS5536

2007-11-27 Thread Uwe Hermann
On Wed, Nov 28, 2007 at 01:15:01AM +0700, Darmawan Salihun wrote:
 I'm not sure if there is somekind of /dev/cmos in Linux. But
 IIRC, there is a project that working on such a thing. I
 just don't know where exactly it is.

I think lxbios has an option to dump the CMOS contents (which should
also work if you're not booted with LinuxBIOS).


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] v3: Constify structs

2007-11-26 Thread Uwe Hermann
On Sun, Nov 25, 2007 at 07:09:03PM -0800, ron minnich wrote:
 Acked-by: Ronald G. MInnich [EMAIL PROTECTED]

Thanks, r519.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Can't compile flashrom

2007-11-26 Thread Uwe Hermann
On Mon, Nov 26, 2007 at 09:34:17AM -0700, Shocky wrote:
 On Sunday 25 November 2007 19:42, ron minnich wrote:
  how's about we just figure out why flashrom won't build?
 
  ron
 
 Yeah, that's what I was hoping for 8^). Any ideas?

Please post the full compile output here.

Do you have pciutils-dev and zlib-dev (or whatever it's called on your
distribution) installed?

Also, there's a Mandriva package already (don't know in which branch
of Mandriva though). Doesn't that work?

http://linuxbios.org/Flashrom#Installation

If all else fails, edit the Makefile to remove the check for
pciutils-dev etc. and see if it works anyway. Maybe it's just the check
which is broken.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] v3: Various cleanups

2007-11-26 Thread Uwe Hermann
On Sun, Nov 25, 2007 at 08:12:25PM -0500, Corey Osgood wrote:
 Did Carl-Daniel's documentation fixes make it in yet?

I think so, yes. r511, r512.

 
  Index: mainboard/emulation/qemu-x86/vga.c
  ===
  --- mainboard/emulation/qemu-x86/vga.c  (Revision 518)
  +++ mainboard/emulation/qemu-x86/vga.c  (Arbeitskopie)
  @@ -32,11 +32,14 @@
  struct pc_keyboard conf;
   
  printk(BIOS_INFO, Init VGA device\n);
  +
  dev-on_mainboard = 1;
  dev-rom_address = 0xc;
   
  -   // FIXME - this should be in superio some day
  -   // but since qemu has no superio.
  +   /*
  +* FIXME: This should be in superio some day

 
 Comma please

Done.


  +* but since QEMU has no superio...
  +*/
  init_pc_keyboard(0x60, 0x64, conf);
   }
  Index: README
  ===
  --- README  (Revision 518)
  +++ README  (Arbeitskopie)
  @@ -102,7 +102,7 @@
 The 'flashrom' tool is located in util/flashrom where you can build it
 from source code by typing 'make'. Alternatively, your favorite Linux
 distribution might ship a 'flashrom' package which provides the 
  'flashrom'
  -  program in (e.g.) /usr/bin. On Debian GNU/Linux systems you can get
  +  program in /usr/sbin. On Debian GNU/Linux systems you can get
 the flashrom package via 'apt-get install flashrom'.
 
 Does every distribution out there provide it in /usr/sbin? If not,
 please leave the (e.g.).

Done. I don't know what other distros do, but /usr/sbin is the correct
location according to the FHS, and it's also the default install location
in the current svn version of flashrom.

 
 Acked-by: Corey Osgood [EMAIL PROTECTED]

Thanks, r520.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] v3: Various cleanups

2007-11-26 Thread Uwe Hermann
[Please post all replies on the mailing list]

On Mon, Nov 26, 2007 at 07:36:31PM +0100, Paul Menzel wrote:
 Hi,
 
 
 small typos I think.
 
 
 Am Montag, den 26.11.2007, 00:54 + schrieb Uwe Hermann:
 
  /**
 -  * Place holder in case we ever need it. Since this file is a
 -  * template for other motherboards, we want this here and we want the
 -  * call in the right place.
 -  */
 -
 + * Place holder in case we ever need it. Since this file is a template for
 
 Placeholder

Fixed.


 + * other boards, we want this here and we want the call in the right place.
 + */
  static void mb_gpio_init(void)
  {
 /* Early mainboard specific GPIO setup */
  }
 
 -   /* NOTE: must do this AFTER the early_setup!
 -* it is counting on some early MSR setup
 -* for cs5536.
 +   /*
 +* NOTE: Must do this AFTER the early_setup! It is counting on some
 +* early MSR setup for the CS5536. We do this early for debug. 
 +* Real setup should done in chipset init via Config.lb.
 
 should be done

Fixed.


 Index: README
 ===
 --- README  (Revision 518)
 +++ README  (Arbeitskopie)
 
 -  program in (e.g.) /usr/bin. On Debian GNU/Linux systems you can get
 +  program in /usr/sbin. On Debian GNU/Linux systems you can get
the flashrom package via 'apt-get install flashrom'.
 
 aptitude

That's more a matter of taste.


Thanks, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] add support the IEI PCISA-LX

2007-11-26 Thread Uwe Hermann
On Mon, Nov 26, 2007 at 12:25:45PM +0500, Nikolay Petukhov wrote:
 This board (http://www.ieiworld.com/en/product_IPC.asp?model=PCISA-LX)
 is based on amd-lx800/cs5536, so most of the on-board hardware is work
 normally.

Thanks a lot! Here's a quick review:

I think the full name for this specific board is PCISA-LX-R11,
correct? If so, please use that everywhere (directory names, strings,
variable names, comments). PCISA-LX seems to be the general name for a
whole family of boards.

So the directory name should probably be 'pcisa-lx-r11'.


 diff -Nru LinuxBIOSv2-2986/src/mainboard/iei/pcisa-lx/cache_as_ram_auto.c 
 LinuxBIOSv2-2986-lx/src/mainboard/iei/pcisa-lx/cache_as_ram_auto.c
 --- LinuxBIOSv2-2986/src/mainboard/iei/pcisa-lx/cache_as_ram_auto.c   
 1970-01-01 05:00:00.0 +0500
 +++ LinuxBIOSv2-2986-lx/src/mainboard/iei/pcisa-lx/cache_as_ram_auto.c
 2007-11-26 09:50:43.0 +0500
 @@ -0,0 +1,138 @@
 +/*
 + * This file is part of the LinuxBIOS project.
 + *
 + * Copyright (C) 2007 Nikolay Petukhov [EMAIL PROTECTED]


 + * Borrowed from amd/db800.

Either the code you grabbed from the DB800 target is trivial (then drop
this line completely), or it is not (then retain the Copyright lines from
the respective DB800 file please).

In this case the file is a plain copy of the DB800 one, with small fixes
in the #defines at the beginning, so please keep the original
copyright/license header and drop the Borrowed from amd/db800.


 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
 + * the Free Software Foundation; either version 2 of the License, or
 + * (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 + */
 +
 +#define ASSEMBLY 1
 +
 +#include stdint.h
 +#include device/pci_def.h
 +#include arch/io.h
 +#include device/pnp_def.h
 +#include arch/hlt.h
 +#include pc80/serial.c
 +#include arch/i386/lib/console.c
 +#include ram/ramtest.c
 +#include cpu/x86/bist.h
 +#include cpu/x86/msr.h
 +#include cpu/amd/lxdef.h
 +#include cpu/amd/geode_post_code.h
 +#include southbridge/amd/cs5536/cs5536.h
 +
 +#define POST_CODE(x) outb(x, 0x80)
 +#define SERIAL_DEV PNP_DEV(0x2e, W83627HF_SP1)
 +
 +#include southbridge/amd/cs5536/cs5536_early_smbus.c
 +#include southbridge/amd/cs5536/cs5536_early_setup.c
 +#include superio/winbond/w83627hf/w83627hf_early_serial.c
 +
 +static inline int spd_read_byte(unsigned int device, unsigned int address)
 +{
 + return smbus_read_byte(device, address);
 +}
 +
 +#define ManualConf 1 /* Do automatic strapped PLL config */
 +#define PLLMSRhi 0x059C /* CPU and GLIU mult/div 500/400*/
 +#define PLLMSRhi 0x049C /* CPU and GLIU mult/div 500/333*/
 +#define PLLMSRhi 0x039C /* CPU and GLIU mult/div 500/266*/
 +//0x059C      |0101 1|0|01 110|0
 +/* Hold Count - how long we will sit in reset */
 +#define PLLMSRlo 0x00DE6000
 +
 +#define DIMM0 0xA0
 +#define DIMM1 0xA2
 +#include northbridge/amd/lx/raminit.h
 +#include northbridge/amd/lx/pll_reset.c
 +#include northbridge/amd/lx/raminit.c
 +#include sdram/generic_sdram.c
 +#include cpu/amd/model_lx/cpureginit.c
 +#include cpu/amd/model_lx/syspreinit.c
 +
 +static void msr_init(void)
 +{
 + msr_t msr;
 +
 + /* Setup access to the cache for under 1MB. */
 + msr.hi = 0x24fffc02;
 + msr.lo = 0x1000A000;/* 0-A write back */
 + wrmsr(CPU_RCONF_DEFAULT, msr);
 +
 + msr.hi = 0x0;   /* Write back */
 + msr.lo = 0x0;
 + wrmsr(CPU_RCONF_A0_BF, msr);
 + wrmsr(CPU_RCONF_C0_DF, msr);
 + wrmsr(CPU_RCONF_E0_FF, msr);
 +
 + /* Setup access to the cache for under 640K. Note MC not setup yet. */
 + msr.hi = 0x2000;
 + msr.lo = 0xfff80;
 + wrmsr(MSR_GLIU0 + 0x20, msr);
 +
 + msr.hi = 0x2000;
 + msr.lo = 0x80fffe0;
 + wrmsr(MSR_GLIU0 + 0x21, msr);
 +
 + msr.hi = 0x2000;
 + msr.lo = 0xfff80;
 + wrmsr(MSR_GLIU1 + 0x20, msr);
 +
 + msr.hi = 0x2000;
 + msr.lo = 0x80fffe0;
 + wrmsr(MSR_GLIU1 + 0x21, msr);
 +}

As this function is exactly the same for this board (and DB800), is it
possible that it's not really board-specific anyway? If so, it should
be moved to a global location in the chipset code.


 +
 +static void mb_gpio_init(void)
 +{
 + /* Early mainboard specific GPIO setup. */
 +}
 +
 +void cache_as_ram_main(void)
 +{
 + POST_CODE(0x01);
 +
 + static const struct mem_controller memctrl[] = {
 + 

Re: [LinuxBIOS] patch: alix1c support for v3

2007-11-26 Thread Uwe Hermann
On Sun, Nov 25, 2007 at 07:07:42PM -0800, ron minnich wrote:
 try again.

Yep, works now. Committed as r521 with some coding style fixes etc.


   +int main(void)
   +{
   + u8 smb_devices[] =  {
   + DIMM0, DIMM1
   + };
   +
   + post_code(POST_START_OF_MAIN);
 
  POST_START_OF_MAIN, and...
 
 
   +void hardware_stage1(void)
   +{
   + post_code(POST_START_OF_MAIN);
 
  ... POST_START_OF_MAIN again.
 
  Shouldn't those be different?
 
 It's in every board. We have a problem here. Any ideas welcome, but I
 would rather not hold up this commit since it just follows the pattern
 of other boards; we need to fix them all.

Yep.

I think something line POST_START_OF_MAIN / POST_START_OF_HARDWARE_STAGE1
makes sense? The two values must be different, of course.


   Index: mainboard/pcengines/alix1c/cmos.layout
   ===
   --- mainboard/pcengines/alix1c/cmos.layout(revision 0)
   +++ mainboard/pcengines/alix1c/cmos.layout(revision 0)
 
  Add the common license header to this file, please.
 
 no other cmos.layout has it. Let's get a template and apply them all,
 but I don't want to hold this specific board up when we need a general
 fix.

Is this (or does it have to be) board-specific anyway? Everybody just
keeps blindly copying it from board to board... Why not have a common
file which each board uses per default, _unless_ it's overridden in dts
for a specific board which needs/wants a different setup?


  Please don't hardcode POST codes, add them aѕ #defines in post_code.h
  and document them (i.e. in which situation it is supposed to be used).
 
 uh oh. There's only one entry in post_code.h :-)

Yeah, this is a TODO ;)

 
 we need to sync up the doc and post_code.h

No, post_code.h _is_ the single place for the documentation (or rather
it will be).


 how about we commit this and take 3 action items:
 1. fix up post_code.h

Yep.


 2. Fix all cmos.layout files with license headers

Move one generic file somewhere globally, use that for all boards,
unless overridden.


 3. fix all main.c and stage1.c to use diffferent post code entries.

Yep.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios

Re: [LinuxBIOS] Board support

2007-11-26 Thread Uwe Hermann
On Mon, Nov 26, 2007 at 12:12:14PM +0100, Klaus Stammermann wrote:
 Hi
 
 The bios of my MINI-ITX board from VIA is booting too slow. So I am looking 
 for an alternative bios and found this project.
 
 But my board is not listed at supported motherboard list. I am using an VIA 
 EPIA ME6000G (NB CLE266, SB VT8235). Is it possible to run linuxBIOS on this 
 board?

I think so, the components are supported AFAIK.

Please post the output of 'lspci -tvnn' and 'superiotool -dV' from the board.

Also, is your BIOS chip in a socket or soldered on the board? Please
also run 'flashrom -V' to check if flashrom supports your board (and
post the output here).

If you have a backup/spare BIOS chip you can try flashing the epia-m
target and see how it goes. Do _not_ do this if you don't have a
verified backup ROM chip with your original vendor BIOS!


HTH, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


[LinuxBIOS] [PATCH] v3: Refactoring, northbridgelib.c

2007-11-26 Thread Uwe Hermann
See patch.

Factor out common code. In v2 98% of all northbridges do exactly the
same thing (in these functions), thus refactor. It's easy to override
the common functions if a northbridge needs slightly different ones
(I think K8 will, for example).


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Factor out common functions which almost all northbridges share
into lib/northbridgelib.c.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: include/northbridgelib.h
===
--- include/northbridgelib.h	(Revision 0)
+++ include/northbridgelib.h	(Revision 0)
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the LinuxBIOS project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#include device/device.h
+
+void pci_domain_read_resources(struct device *dev);
+void ram_resource(struct device *dev, unsigned long index,
+		  unsigned long basek, unsigned long sizek);
+unsigned int pci_domain_scan_bus(struct device *dev, unsigned int max);
Index: lib/northbridgelib.c
===
--- lib/northbridgelib.c	(Revision 0)
+++ lib/northbridgelib.c	(Revision 0)
@@ -0,0 +1,92 @@
+/*
+ * This file is part of the LinuxBIOS project.
+ *
+ * Copyright (C) 2007 Advanced Micro Devices, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ */
+
+#include types.h
+#include console.h
+#include device/device.h
+#include device/pci.h
+
+/**
+ * Set resources for the PCI domain.
+ *
+ * A PCI domain contains the I/O and memory resource address space below it.
+ * Set up basic global ranges for I/O and memory. Allocation of sub-resources
+ * draws on these top-level resources in the usual hierarchical manner.
+ *
+ * @param dev The northbridge device.
+ */
+void pci_domain_read_resources(struct device *dev)
+{
+	struct resource *res;
+
+	/* Initialize the system-wide I/O space constraints. */
+	res = new_resource(dev, IOINDEX_SUBTRACTIVE(0, 0));
+	res-limit = 0xUL;
+	res-flags =
+	IORESOURCE_IO | IORESOURCE_SUBTRACTIVE | IORESOURCE_ASSIGNED;
+
+	/* Initialize the system-wide memory resources constraints. */
+	res = new_resource(dev, IOINDEX_SUBTRACTIVE(1, 0));
+	res-limit = 0xULL;
+	res-flags =
+	IORESOURCE_MEM | IORESOURCE_SUBTRACTIVE | IORESOURCE_ASSIGNED;
+}
+
+/**
+ * Create a RAM resource, by taking the passed-in size and creating
+ * a resource record.
+ *
+ * @param dev The device.
+ * @param index A resource index.
+ * @param basek Base memory address in KB.
+ * @param sizek Size of memory in KB.
+ */
+void ram_resource(struct device *dev, unsigned long index,
+		  unsigned long basek, unsigned long sizek)
+{
+	struct resource *res;
+
+	if (!sizek)
+		return;
+
+	res = new_resource(dev, index);
+	res-base = ((resource_t) basek)  10;	/* Convert to bytes. */
+	res-size = ((resource_t) sizek)  10; /* Convert to bytes. */
+	res-flags = IORESOURCE_MEM | IORESOURCE_CACHEABLE |
+	IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
+
+	printk(BIOS_SPEW, Adding RAM resource (%lld bytes)\n, res-size);
+}
+
+/**
+ * Support for scan bus from the tippy top -- i.e. the PCI domain,
+ * not the 0:0.0 device.
+ *
+ * This function works for almost all chipsets (AMD K8 is the exception).
+ *
+ * @param dev The PCI domain device.
+ * @param max Maximum number of devices to scan.
+ * @return TODO
+ */
+unsigned int pci_domain_scan_bus(struct device *dev, unsigned int max)
+{
+	/* There is only one link

Re: [LinuxBIOS] Drop Bitworks IMS board

2007-11-26 Thread Uwe Hermann
On Mon, Nov 26, 2007 at 04:11:02PM -0700, Jordan Crouse wrote:
 On 14/11/07 00:28 +0100, Peter Stuge wrote:
  On Tue, Nov 13, 2007 at 03:47:07PM +0100, Uwe Hermann wrote:
   Drop the unfinished, non-working Bitworks IMS board.
  
  Richard? Ok with you?
 
 I asked him on IRC and he said OK. 
 
 Acked-by: Jordan Crouse [EMAIL PROTECTED]

Thanks, r2988.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] superiotool: Use 'static const' instead of 'const static'

2007-11-25 Thread Uwe Hermann
On Wed, Oct 24, 2007 at 09:57:34PM +0200, Uwe Hermann wrote:
 Use the preferred order of 'static const' instead of 'const static'.
 This is the common style in both Linux as well as in LinuxBIOS.

For reference, this is r2922.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] v3: improve LAR comments, fix possible access to uninitialized memory

2007-11-25 Thread Uwe Hermann
On Tue, Oct 16, 2007 at 08:42:42PM +0200, Carl-Daniel Hailfinger wrote:
  Acked-by: Uwe Hermann [EMAIL PROTECTED]
 
 Thanks, will fix and commit.

This was r506.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] superiotool - dump support for fdc37c672

2007-11-25 Thread Uwe Hermann
On Sat, Oct 06, 2007 at 04:27:33PM -0400, Robinson Tryon wrote:
 Signed-off-by: Robinson P. Tryon [EMAIL PROTECTED]

Thanks, r2986 with some small changes.

Sorry for the delay.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] patch: alix1c support for v3

2007-11-25 Thread Uwe Hermann
On Sun, Nov 25, 2007 at 12:45:29PM -0800, ron minnich wrote:
 This builds.

Not yet:

  HOSTCC  build/util/kconfig/zconf.tab.o
  HOSTCC  build/util/kconfig/mconf
mainboard/Kconfig:61: can't open file mainboard/pcengines/Kconfig
make: *** [menuconfig] Error 1


The fix should be easy though. You probably forgot to 'svn add' the
Kconfig file mainboard/pcengines/Kconfig.

Please repost the full patch.


 It also includes some additional posts for geode setup which ought to be 
 useful. 

This is unrelated and should probably be in an extra patch.


 Index: mainboard/Kconfig
 ===
 --- mainboard/Kconfig (revision 518)
 +++ mainboard/Kconfig (working copy)
 @@ -47,12 +47,18 @@
   help
 Select this option for various system emulators, such as QEMU.
  
 +config VENDOR_PCENGINES
 + bool PC Engines
 + help
 +   Select this option for PC Engines systems

Add a full stop to the help text, please.


 +
  endchoice
  
  source mainboard/adl/Kconfig
  source mainboard/amd/Kconfig
  source mainboard/artecgroup/Kconfig
  source mainboard/emulation/Kconfig
 +source mainboard/pcengines/Kconfig
  
  choice
   prompt ROM chip size
 Index: mainboard/pcengines/alix1c/Kconfig
 ===
 --- mainboard/pcengines/alix1c/Kconfig(revision 0)
 +++ mainboard/pcengines/alix1c/Kconfig(revision 0)
 @@ -0,0 +1,46 @@
 +##
 +## This file is part of the LinuxBIOS project.
 +##
 +## Copyright (C) 2007 coresystems GmbH
 +## (Written by Stefan Reinauer [EMAIL PROTECTED] for coresystems GmbH)

Ron Minnich?


 +##
 +## This program is free software; you can redistribute it and/or modify
 +## it under the terms of the GNU General Public License as published by
 +## the Free Software Foundation; either version 2 of the License, or
 +## (at your option) any later version.
 +##
 +## This program is distributed in the hope that it will be useful,
 +## but WITHOUT ANY WARRANTY; without even the implied warranty of
 +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +## GNU General Public License for more details.
 +##
 +## You should have received a copy of the GNU General Public License
 +## along with this program; if not, write to the Free Software
 +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 +##
 +
 +config MAINBOARD_NAME
 + string
 + default pcengines/alix1c
 + depends BOARD_PCENGINES_ALIX1C
 + help
 +   This is the default mainboard name.
 +
 +config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
 + hex
 + # TODO: Fix PCI ID.
 + # PC Engines has no PCI vendor ID. Now what?

Good point. I think we need to improve this in LinuxBIOS anyway.
In v2 we currently have only one such ID in Options.lb which is then
used for _all_ devices in the system (if it's used at all).

The correct thing would be to allow an override of the ID for each
PCI device, per-board (via entries in the dts, IMHO).


 + default 0x1022
 + depends BOARD_AMD_NORWICH
 + help
 +   Mainboard specific PCI subsystem vendor ID.
 +
 +config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
 + hex
 + # TODO: Fix PCI ID.
 + # PC Engines has no PCI vendor ID. Now what?
 + default 0x2323
 + depends BOARD_AMD_NORWICH
 + help
 +   Mainboard specific PCI subsystem device ID.

For now I'd say just drop the entries here, the code checks via #ifdef
if they're defined and does nothing if they're not...


 +int main(void)
 +{
 + u8 smb_devices[] =  {
 + DIMM0, DIMM1
 + };
 +
 + post_code(POST_START_OF_MAIN);

POST_START_OF_MAIN, and...


 +void hardware_stage1(void)
 +{
 + post_code(POST_START_OF_MAIN);

... POST_START_OF_MAIN again.

Shouldn't those be different?


 +/{
 + enabled;
 + mainboard-vendor = PC Engines;
 + mainboard-name = Alix 1C;

ALIX1.C


 Index: mainboard/pcengines/alix1c/cmos.layout
 ===
 --- mainboard/pcengines/alix1c/cmos.layout(revision 0)
 +++ mainboard/pcengines/alix1c/cmos.layout(revision 0)

Add the common license header to this file, please.


 Index: arch/x86/geodelx/stage0.S
 ===
 --- arch/x86/geodelx/stage0.S (revision 518)
 +++ arch/x86/geodelx/stage0.S (working copy)
 @@ -183,6 +183,7 @@
   movw%ax, %fs
   movw%ax, %gs
  
 + port80_post(0x02)

Please don't hardcode POST codes, add them aѕ #defines in post_code.h
and document them (i.e. in which situation it is supposed to be used).


 @@ -364,6 +379,8 @@
   outb%al, $0x80
  
  DCacheSetupBad:
 +movb$0xFF, %al
 +outb%al, $0x80

Why this?


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org

[LinuxBIOS] [PATCH] v3: Constify structs

2007-11-25 Thread Uwe Hermann
See patch.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Constify structs which can be const.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: include/device/device.h
===
--- include/device/device.h	(Revision 518)
+++ include/device/device.h	(Arbeitskopie)
@@ -270,7 +270,7 @@
 resource_t align_up(resource_t val, unsigned long gran);
 resource_t align_down(resource_t val, unsigned long gran);
 
-extern struct device_operations default_dev_ops_root;
+extern const struct device_operations default_dev_ops_root;
 
 extern int id_eq(struct device_id *id1, struct device_id *id2);
 void root_dev_read_resources(struct device * dev);
Index: include/arch/x86/pci_ops.h
===
--- include/arch/x86/pci_ops.h	(Revision 518)
+++ include/arch/x86/pci_ops.h	(Arbeitskopie)
@@ -17,11 +17,11 @@
 #ifndef ARCH_X86_PCI_OPS_H
 #define ARCH_X86_PCI_OPS_H
 
-extern struct pci_bus_operations pci_cf8_conf1;
-extern struct pci_bus_operations pci_cf8_conf2;
+extern const struct pci_bus_operations pci_cf8_conf1;
+extern const struct pci_bus_operations pci_cf8_conf2;
 
 #if defined(CONFIG_MMCONF_SUPPORT)  (CONFIG_MMCONF_SUPPORT==1)
-extern struct pci_bus_operations pci_ops_mmconf;
+extern const struct pci_bus_operations pci_ops_mmconf;
 #endif
 
 void pci_set_method(struct device * dev);
Index: mainboard/artecgroup/dbe61/initram.c
===
--- mainboard/artecgroup/dbe61/initram.c	(Revision 518)
+++ mainboard/artecgroup/dbe61/initram.c	(Arbeitskopie)
@@ -107,7 +107,7 @@
 /* Hold Count - how long we will sit in reset */
 #define PLLMSRlo 0x00DE
 
-struct wmsr {
+static const struct wmsr {
 	u32 reg;
 	struct msr  msr;
 } dbe61_msr[] = {
Index: mainboard/artecgroup/dbe61/stage1.c
===
--- mainboard/artecgroup/dbe61/stage1.c	(Revision 518)
+++ mainboard/artecgroup/dbe61/stage1.c	(Arbeitskopie)
@@ -30,7 +30,7 @@
 #include southbridge/amd/cs5536/cs5536.h
 #include northbridge/amd/geodelx/raminit.h
 
-struct wmsr {
+static const struct wmsr {
 	u32 reg;
 	struct msr  msr;
 } dbe61_msr[] = {
Index: mainboard/emulation/qemu-x86/vga.c
===
--- mainboard/emulation/qemu-x86/vga.c	(Revision 518)
+++ mainboard/emulation/qemu-x86/vga.c	(Arbeitskopie)
@@ -40,7 +40,7 @@
 	init_pc_keyboard(0x60, 0x64, conf);
 }
 
-static struct device_operations qemuvga_pci_ops_dev = {
+static const struct device_operations qemuvga_pci_ops_dev = {
 	.constructor			= default_device_constructor,
 	.phase3_scan			= 0,
 	.phase4_read_resources		= pci_dev_read_resources,
@@ -51,7 +51,7 @@
 	.ops_pci			= pci_dev_ops_pci,
 };
 
-struct constructor qemuvga_constructors[] = {
+const struct constructor qemuvga_constructors[] = {
 	{.id = {.type = DEVICE_ID_PCI,
 		.u = {.pci = {.vendor = PCI_VENDOR_ID_CIRRUS,
 			  .device = PCI_DEVICE_ID_CIRRUS_5446}}},
Index: device/pcie_device.c
===
--- device/pcie_device.c	(Revision 518)
+++ device/pcie_device.c	(Arbeitskopie)
@@ -57,11 +57,11 @@
 }
 
 /** Default device operations for PCI Express bridges. */
-static struct pci_operations pcie_bus_ops_pci = {
+static const struct pci_operations pcie_bus_ops_pci = {
 	.set_subsystem = 0,
 };
 
-struct device_operations default_pcie_ops_bus = {
+const struct device_operations default_pcie_ops_bus = {
 	.read_resources   = pci_bus_read_resources,
 	.set_resources= pci_dev_set_resources,
 	.enable_resources = pci_bus_enable_resources,
Index: device/cardbus_device.c
===
--- device/cardbus_device.c	(Revision 518)
+++ device/cardbus_device.c	(Arbeitskopie)
@@ -242,7 +242,7 @@
 	return max;
 }
 
-struct device_operations default_cardbus_ops_bus = {
+const struct device_operations default_cardbus_ops_bus = {
 	.read_resources   = cardbus_read_resources,
 	.set_resources= pci_dev_set_resources,
 	.enable_resources = cardbus_enable_resources,
Index: device/root_device.c
===
--- device/root_device.c	(Revision 518)
+++ device/root_device.c	(Arbeitskopie)
@@ -216,7 +216,7 @@
  * own ops in (e.g.) the mainboard, and initialize it in the dts in the
  * mainboard directory. 
  */
-struct device_operations default_dev_ops_root = {
+const struct device_operations default_dev_ops_root = {
 	.phase4_read_resources   = root_dev_read_resources,
 	.phase4_set_resources= root_dev_set_resources,
 	.phase5_enable_resources = root_dev_enable_resources,
Index: device/hypertransport.c
===
--- device/hypertransport.c	(Revision 518)
+++ device

[LinuxBIOS] [PATCH] v3: Various cleanups

2007-11-25 Thread Uwe Hermann
See patch.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Various cleanups and cosmetic fixes.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: Kconfig
===
--- Kconfig	(Revision 518)
+++ Kconfig	(Arbeitskopie)
@@ -101,20 +101,24 @@
 	depends EXPERT
 	default n
 	help
-	  Until now, LinuxBIOS has used elf for the payload. There are many problems 
-	  this, not least being the inefficiency -- the ELF has to be decompressed to
-	  memory and then the segments have to be copied. Plus, lar can't see the segments 
-	  in the elf -- to see all segments, you have to extract the elf and run readelf on it.
-	  There are problems with collisions of the decompressed ELF location in memory
-	  and the segment locations in memory. 
-	  Finally, validation of the ELF is done at run time, once you have flashed the 
-	  FLASH and rebooted the machine. Boot time is really not the time you want to find 
-	  out your ELF payload is broken. 
-	  With this option, LinuxBIOS will direct lar to break each elf segment into a LAR 
-	  entry. ELF will not be used at all. Note that (for now) LinuxBIOS is backward
-	  compatible -- if you put an ELF payload in, LinuxBIOS can still parse it. We hope
-	  to remove ELF entirely in the future. 
+	  Until now, LinuxBIOS has used ELF for the payload. There are many
+	  problems with this, not least being the inefficiency -- the ELF has
+	  to be decompressed to memory and then the segments have to be
+	  copied. Plus, lar can't see the segments in the ELF -- to see all
+	  segments, you have to extract the ELF and run readelf on it.
 
+	  There are problems with collisions of the decompressed ELF
+	  location in memory and the segment locations in memory.
+	  Finally, validation of the ELF is done at run time, once you have
+	  flashed the FLASH and rebooted the machine. Boot time is really
+	  not the time you want to find out your ELF payload is broken.
+
+	  With this option, LinuxBIOS will direct lar to break each ELF
+	  segment into a LAR entry. ELF will not be used at all. Note that
+	  (for now) LinuxBIOS is backward compatible -- if you put an ELF
+	  payload in, LinuxBIOS can still parse it. We hope to remove ELF
+	  entirely in the future.
+
 config PAYLOAD_ELF
 	bool An ELF executable payload file
 	help
Index: mainboard/adl/msm800sev/initram.c
===
--- mainboard/adl/msm800sev/initram.c	(Revision 518)
+++ mainboard/adl/msm800sev/initram.c	(Arbeitskopie)
@@ -19,6 +19,7 @@
  */
 
 #define _MAINOBJECT
+
 #include types.h
 #include lib.h
 #include console.h
@@ -33,9 +34,11 @@
 #include southbridge/amd/cs5536/cs5536.h
 #include northbridge/amd/geodelx/raminit.h
 
-#define MANUALCONF 0		/* Do automatic strapped PLL config */
-#define PLLMSRHI 0x1490	/* manual settings for the PLL */
+#define MANUALCONF 0		/* Do automatic strapped PLL config. */
+
+#define PLLMSRHI 0x1490	/* Manual settings for the PLL */
 #define PLLMSRLO 0x0230
+
 #define DIMM0 ((u8) 0xA0)
 #define DIMM1 ((u8) 0xA2)
 
@@ -52,10 +55,10 @@
 	sdram_set_spd_registers(DIMM0, DIMM1);
 	sdram_enable(DIMM0, DIMM1);
 
-	/* Check low memory */
-	//ram_check(0x, 640*1024);
+	/* Check low memory. */
+	/* ram_check(0, 640 * 1024); */
 
-	/* Switch from Cache as RAM to real RAM */
+	/* Switch from Cache as RAM to real RAM. */
 	printk(BIOS_SPEW, Before wbinvd\n);
 	__asm__(wbinvd\n);
 	printk(BIOS_SPEW, After wbinvd\n);
Index: mainboard/adl/msm800sev/stage1.c
===
--- mainboard/adl/msm800sev/stage1.c	(Revision 518)
+++ mainboard/adl/msm800sev/stage1.c	(Arbeitskopie)
@@ -32,10 +32,10 @@
 #include southbridge/amd/cs5536/cs5536.h
 #include superio/winbond/w83627hf/w83627hf.h
 
-#define SERIAL_DEV W83627HF_SP1
-#define SERIAL_IOBASE 0x3f8
+#define SERIAL_DEV	W83627HF_SP1
+#define SERIAL_IOBASE	0x3f8
 
-/* printk will not yet output anything */
+/* printk() will not yet output anything. */
 
 void hardware_stage1(void)
 {
@@ -46,9 +46,9 @@
 
 	cs5536_stage1();
 
-	/* NOTE: must do this AFTER the early_setup!
-	 * it is counting on some early MSR setup
-	 * for cs5536
+	/*
+	 * NOTE: Must do this AFTER the early_setup! It is counting on some
+	 * early MSR setup for the CS5536.
 	 */
 	cs5536_disable_internal_uart();
 	w83627hf_enable_serial(0x2e, SERIAL_DEV, SERIAL_IOBASE);
Index: mainboard/amd/norwich/initram.c
===
--- mainboard/amd/norwich/initram.c	(Revision 518)
+++ mainboard/amd/norwich/initram.c	(Arbeitskopie)
@@ -31,51 +31,46 @@
 #include amd_geodelx.h
 #include northbridge/amd/geodelx/raminit.h
 
-#define MANUALCONF 0		/* Do automatic strapped PLL config */
-#define PLLMSRHI 0x1490	/* manual settings for the PLL */
+#define MANUALCONF 0		/* Do automatic

Re: [LinuxBIOS] [PATCH] Add support for the ASUS MEW-AM

2007-11-24 Thread Uwe Hermann
On Fri, Nov 23, 2007 at 11:21:52AM +0100, Stefan Reinauer wrote:
 * Uwe Hermann [EMAIL PROTECTED] [071122 16:53]:
  Add support for the ASUS MEW-AM board.
  
  Signed-off-by: Uwe Hermann [EMAIL PROTECTED]
 Acked-by: Stefan Reinauer [EMAIL PROTECTED]

Thanks, r2980.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] v3: Move string.h contents to string.c

2007-11-24 Thread Uwe Hermann
On Fri, Nov 23, 2007 at 11:22:40AM +0100, Stefan Reinauer wrote:
 * Uwe Hermann [EMAIL PROTECTED] [071121 21:07]:
  Move the code from strings.h to a C file. We should really avoid
  to have code in header files.
  
  Signed-off-by: Uwe Hermann [EMAIL PROTECTED]
  
 Have you compared code size before and after this change?

No, size was not the main motivation behind this. I doubt there
will be a _huge_ difference, though.


 Acked-by: Stefan Reinauer [EMAIL PROTECTED]

Thanks, r518.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] GIGABYTE GA-2761GXDK

2007-11-22 Thread Uwe Hermann
On Thu, Nov 22, 2007 at 05:46:06PM +0800, 蔡明耀 (my_tsai) wrote:
  Looks good, but why disable PS/2 keyboard and mouse? Aren't these
  connectors available at all on the board or should the keyboard/mouse
  init be done by the southbridge (there is some code in *_lpc.c)?
 There is no connector and pin available on board. So it didn't need any 
 resource.

OK, makes sense. I updated the comments in Config.lb a bit to reflect that.

http://tracker.linuxbios.org/trac/LinuxBIOS/changeset/2978


 Attachment is the board's picture.

Nice, thanks! Are we allowed to put the picture into the wiki with a
free-ish license (e.g. GPL, Creative Commons, BSD, public domain, or
something like that)?


 Now I fill the current status I am certain.

Thanks, wiki updated.


 There is a identical board I have deliverd for Ron Minnich.
 We can check it with him.

Yep, Ron, please feel free to update the table with whatever you can
verify/test that it works.

http://linuxbios.org/GIGABYTE_GA-2761GXDK_Build_Tutorial


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios

[LinuxBIOS] Superiotool dump: SMSC LPC47B27x

2007-11-22 Thread Uwe Hermann
This is from the ASUS MEW-AM, rev. 1.01.

superiotool r2977
Found SMSC LPC47B27x (id=0x51, rev=0x01) at 0x2e
Register dump:
idx 03 20 21 22 23 24 26 27  28 2a 2b 2c 2d 2e 2f
val 00 51 01 39 00 44 2e 00  00 00 00 00 00 00 00
def RR 51 NA 00 00 04 MM MM  RR NA NA NA NA NA NA
LDN 0x00 (Floppy)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 01 03 f0 06 02 0c 00 ff  00 00
def 00 03 f0 06 02 0e 00 ff  00 00
LDN 0x03 (Parallel port)
idx 30 60 61 70 74 f0 f1
val 01 03 78 07 04 39 00
def 00 00 00 00 04 3c 00
LDN 0x04 (COM1)
idx 30 60 61 70 f0
val 01 03 f8 04 00
def 00 00 00 00 00
LDN 0x05 (COM2)
idx 30 60 61 62 63 70 74 f0  f1 f2
val 01 02 f8 00 00 03 04 00  02 03
def NA 00 00 00 00 00 04 00  02 03
LDN 0x07 (Keyboard)
idx 30 70 72 f0
val 01 01 0c 00
def 00 00 00 00
LDN 0x09 (Game port)
idx 30 60 61
val 00 00 00
def 00 00 00
LDN 0x0a (Power-management events (PME))
idx 30 60 61 f0 f1
val 00 06 00 00 00
def 00 00 00 NA NA
LDN 0x0b (MIDI port (MPU-401))
idx 30 60 61 70
val 00 03 30 05
def 00 03 30 05


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


[LinuxBIOS] [PATCH] Add support for the ASUS MEW-AM

2007-11-22 Thread Uwe Hermann
See patch.

Status table is already available at
http://linuxbios.org/ASUS_MEW-AM_Build_Tutorial

The board boots to a Linux console and most stuff already works fine.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Add support for the ASUS MEW-AM board.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: src/mainboard/asus/mew-am/Config.lb
===
--- src/mainboard/asus/mew-am/Config.lb	(Revision 0)
+++ src/mainboard/asus/mew-am/Config.lb	(Revision 0)
@@ -0,0 +1,144 @@
+##
+## This file is part of the LinuxBIOS project.
+##
+## Copyright (C) 2007 Uwe Hermann [EMAIL PROTECTED]
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+if USE_FALLBACK_IMAGE
+	default ROM_SECTION_SIZE = FALLBACK_SIZE
+	default ROM_SECTION_OFFSET = (ROM_SIZE - FALLBACK_SIZE)
+else
+	default ROM_SECTION_SIZE = (ROM_SIZE - FALLBACK_SIZE)
+	default ROM_SECTION_OFFSET = 0
+end
+default CONFIG_ROM_PAYLOAD_START = (0x - ROM_SIZE
++ ROM_SECTION_OFFSET + 1)
+default PAYLOAD_SIZE = (ROM_SECTION_SIZE - ROM_IMAGE_SIZE)
+default _ROMBASE = (CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE)
+default XIP_ROM_SIZE = 64 * 1024
+default XIP_ROM_BASE = (_ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE)
+arch i386 end
+driver mainboard.o
+if HAVE_PIRQ_TABLE
+	object irq_tables.o
+end
+makerule ./failover.E
+	depends $(MAINBOARD)/../../../arch/i386/lib/failover.c ./romcc
+	action ./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/../../../arch/i386/lib/failover.c -o $@
+end
+makerule ./failover.inc
+	depends $(MAINBOARD)/../../../arch/i386/lib/failover.c ./romcc
+	action ./romcc -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/../../../arch/i386/lib/failover.c -o $@
+end
+makerule ./auto.E
+	# depends	$(MAINBOARD)/auto.c option_table.h ./romcc
+	depends	$(MAINBOARD)/auto.c ./romcc
+	# Note: The -mcpu=p2 is important, or else... 'too few registers'.
+	action	./romcc -mcpu=p2 -E -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@
+end
+makerule ./auto.inc
+	# depends $(MAINBOARD)/auto.c option_table.h ./romcc
+	depends $(MAINBOARD)/auto.c ./romcc
+	# Note: The -mcpu=p2 is important, or else... 'too few registers'.
+	action	./romcc -mcpu=p2 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@
+end
+mainboardinit cpu/x86/16bit/entry16.inc
+mainboardinit cpu/x86/32bit/entry32.inc
+ldscript /cpu/x86/16bit/entry16.lds
+ldscript /cpu/x86/32bit/entry32.lds
+if USE_FALLBACK_IMAGE
+	mainboardinit cpu/x86/16bit/reset16.inc
+	ldscript /cpu/x86/16bit/reset16.lds
+else
+	mainboardinit cpu/x86/32bit/reset32.inc
+	ldscript /cpu/x86/32bit/reset32.lds
+end
+mainboardinit arch/i386/lib/cpu_reset.inc
+mainboardinit arch/i386/lib/id.inc
+ldscript /arch/i386/lib/id.lds
+if USE_FALLBACK_IMAGE
+	ldscript /arch/i386/lib/failover.lds
+	mainboardinit ./failover.inc
+end
+mainboardinit cpu/x86/fpu/enable_fpu.inc
+mainboardinit cpu/x86/mmx/enable_mmx.inc
+mainboardinit ./auto.inc
+mainboardinit cpu/x86/mmx/disable_mmx.inc
+
+dir /pc80
+config chip.h
+
+# TODO: On-board graphics.
+chip northbridge/intel/i82810		# Northbridge
+  device apic_cluster 0 on		# APIC cluster
+chip cpu/intel/socket_PGA370	# CPU
+  device apic 0 on end		# APIC
+end
+  end
+  device pci_domain 0 on		# PCI domain
+device pci 0.0 on end		# Graphics Memory Controller Hub (GMCH)
+device pci 1.0 on end		# Chipset Graphics Controller (CGC)
+chip southbridge/intel/i82801xx	# Southbridge
+  device pci 1e.0 on end		# PCI bridge
+  device pci 1f.0 on		# ISA bridge
+chip superio/smsc/smscsuperio	# Super I/O
+  device pnp 2e.0 on		# Floppy
+io 0x60 = 0x3f0
+irq 0x70 = 6
+drq 0x74 = 2
+  end
+  device pnp 2e.3 on		# Parallel port
+io 0x60 = 0x378
+irq 0x70 = 7
+drq 0x74 = 4
+  end
+  device pnp 2e.4 on		# COM1
+io 0x60 = 0x3f8
+irq 0x70 = 4
+  end
+  device pnp 2e.5 on		# COM2 / IR
+io 0x60 = 0x2f8
+irq 0x70 = 3
+  end
+  device pnp 2e.7 on		# PS/2 keyboard / mouse
+io 0x60 = 0x60
+io

Re: [LinuxBIOS] Superiotool dump: SMSC LPC47B27x

2007-11-22 Thread Uwe Hermann
On Thu, Nov 22, 2007 at 04:13:31PM +0100, Uwe Hermann wrote:
 This is from the ASUS MEW-AM, rev. 1.01.

Same box, but this time the current LinuxBIOS dump:

superiotool r2977
Found SMSC LPC47B27x (id=0x51, rev=0x01) at 0x2e
Register dump:
idx 03 20 21 22 23 24 26 27  28 2a 2b 2c 2d 2e 2f
val 00 51 01 7d 00 04 2e 00  00 00 00 00 00 00 00
def RR 51 NA 00 00 04 MM MM  RR NA NA NA NA NA NA
LDN 0x00 (Floppy)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 01 03 f0 06 02 0e 00 ff  00 00
def 00 03 f0 06 02 0e 00 ff  00 00
LDN 0x03 (Parallel port)
idx 30 60 61 70 74 f0 f1
val 01 03 78 07 04 3c 00
def 00 00 00 00 04 3c 00
LDN 0x04 (COM1)
idx 30 60 61 70 f0
val 01 03 f8 04 00
def 00 00 00 00 00
LDN 0x05 (COM2)
idx 30 60 61 62 63 70 74 f0  f1 f2
val 01 02 f8 00 00 03 04 00  02 03
def NA 00 00 00 00 00 04 00  02 03
LDN 0x07 (Keyboard)
idx 30 70 72 f0
val 01 01 0c 00
def 00 00 00 00
LDN 0x09 (Game port)
idx 30 60 61
val 01 02 01
def 00 00 00
LDN 0x0a (Power-management events (PME))
idx 30 60 61 f0 f1
val 01 06 00 00 00
def 00 00 00 NA NA
LDN 0x0b (MIDI port (MPU-401))
idx 30 60 61 70
val 01 03 30 05
def 00 03 30 05


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] v3: fix compilation due to multiple definitions of printk

2007-11-22 Thread Uwe Hermann
On Thu, Nov 22, 2007 at 09:44:03PM +0100, Carl-Daniel Hailfinger wrote:
 The introduction of the _SHARED macros had one flaw: If multiple files
 had _SHARED defined during compilation, each of them would contain an
 assignment of stage0_printk to *printk. During linking, this caused
 errors as multiple definitions of printk existed.
 Make sure _SHARED alone gives you only the printk prototype, and iff
 _MAINOBJECT is defined as well, include the assignment.
 
 Signed-off-by: Carl-Daniel Hailfinger [EMAIL PROTECTED]

Great, thanks a lot!

Committed in r516, and I added the commit message as comment too,
it's very useful to understand what's going on in that file IMO.

I tested this and can confirm that all v3 targets build fine now.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] v3: fix compilation due to multiple definitions of printk

2007-11-22 Thread Uwe Hermann
On Fri, Nov 23, 2007 at 12:14:43AM +0100, Stefan Reinauer wrote:
 * Stefan Reinauer [EMAIL PROTECTED] [071123 00:04]:
  * Carl-Daniel Hailfinger [EMAIL PROTECTED] [071122 21:44]:
   The introduction of the _SHARED macros had one flaw: If multiple files
   had _SHARED defined during compilation, each of them would contain an
   assignment of stage0_printk to *printk. During linking, this caused
   errors as multiple definitions of printk existed.
   Make sure _SHARED alone gives you only the printk prototype, and iff
   _MAINOBJECT is defined as well, include the assignment.
   
   Signed-off-by: Carl-Daniel Hailfinger [EMAIL PROTECTED]
  
  I like it, but I suggest to simplify the code further.
 
 Uwe was faster. So here's the diff without Carl-Daniel's patch
 
 it gets rid of the per-file rules for initram code completely.
 
Very nice!


 Patch is
 Signed-off-by: Stefan Reinauer [EMAIL PROTECTED]

Acked-by: Uwe Hermann [EMAIL PROTECTED]

 
 I think we should go even further and specify the INITRAM_SOURCE instead
 of INITRAM_OBJ because those are the files we care about. (And it will
 make proper dependencies easier at some point)

Yeah, sounds good.


 +# ram initialization code can not be linked at a specific address,

ram - RAM


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] From slashdot - a company possibly using linuxbios.

2007-11-21 Thread Uwe Hermann
On Fri, Nov 16, 2007 at 11:43:30AM -0500, Robert Vogel wrote:
 Well...yes there is a reason the GA-M57SLI doesn't really work for me. To 
 see why take a look at Ward's tutorial at
 http://linuxbios.org/GIGABYTE_GA-M57SLI-S4_Build_Tutorial
 
 The obstacles are obvious from the tutorial.

Not really. Do you refer to the required hardware hacking? Yes, that's
an ugly obstacle IMO, but there are a few other modern boards which are
supported and which have a standard socketed ROM which doesn't require
any hardware hacking at all.

E.g. MSI MS-7260 (K9N Neo), ASUS A8N-E, ASUS A8V-E SE, and others.

http://linuxbios.org/Supported_Motherboards

http://linuxbios.org/MSI_MS-7260_Build_Tutorial
http://linuxbios.org/ASUS_A8N-E_Build_Tutorial
http://linuxbios.org/ASUS_A8V-E_SE_Build_Tutorial


HTH, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] [PATCH] small fix for iei/juki-511p

2007-11-21 Thread Uwe Hermann
On Wed, Nov 21, 2007 at 03:25:32PM +0500, Nikolay Petukhov wrote:
  Hm, why is this required here? Is it necessary for all GX1/CS5530 boards? 
  If so
  it should be done in the CS5530 code, I think. Why doesn't the usual
  copy_pirq_routing_table() suffice here?
 
 if kernel builded with Juergen Beisert's patch than no need in it.

OK, can you please rewrite this and add it to the generic GX1 code,
with a config option for Options.lb, so that it can be overridden
per-board?

It might be useful to have this fix in, so that you can use stock
kernels and you don't have to patch them (even though the correct thing
would be to fix the kernel itself, but it seems unlikely that this fix
will go into mainline anytime soon).


  Looks good otherwise, will commit soon. Btw, does this code still work
  fine for the ROCKY-512 as it seems to have done before?
 
 Yes, ROCKY-512 is too work fine.

Great.

 
  Also, can you please create a status table in the wiki for this board?
  See http://linuxbios.org/GIGABYTE_GA-2761GXDK_Build_Tutorial for
  an example.
 Work in progress.

Great, thanks!


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] DFI LANPARTY nF4 SLI-DR superiotool lspci.

2007-11-21 Thread Uwe Hermann
On Wed, Nov 21, 2007 at 09:05:01AM -0800, ron minnich wrote:
 On Nov 21, 2007 12:37 AM, Jerome Ibanes [EMAIL PROTECTED] wrote:
 
 
  In set_Trwt():
 
  if ((clocks  DTH_TRWT_MIN) || (clocks  DTH_TRWT_MAX)) {
  die(Unknown Trwt);
  }
 
 
 It might not kill us, or destroy linuxbios as a project, if we did
 something like this:
 print(Trwt %x is out of range: min %x max %x\n etc. etc. etc.

Yep, definately.

Jerome, can you try two things on the board:

 - Only use _one_ DIMM (if you used more for the first test), AFAIK
   there are some issues with multiple DIMMs, but I'm not sure yet.

   Also check the population rules in the board manual, not all slots
   are allowed.

 - Try a different DIMM (different speed settings, vendor, whatever).

Please report back if that changes anything.

Also, please change all '#if 0' lines in cache_as_ram_auto.c to '#if 1'
in order to enable more debugging output which might be useful, and
repost the updated minicom log then.


Thanks, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] Fwd: Could original VGA BIOS be responsible for long timeout before LinuxBIOS kicks in?

2007-11-21 Thread Uwe Hermann
On Tue, Nov 20, 2007 at 08:00:14PM -0500, Corey Osgood wrote:
 On 11/20/07, Coquelicot [EMAIL PROTECTED] wrote:
 
  Hi all,
 
  what can be responsible for long delay before starting LinuxBIOS? I
  have it on VIA EPIA M-II with LB preppended by original VGA bios
  extracted from the original BIOS. The delay is ~20 seconds before I
  get first message on serial console (...In auto.c:main() messages).
 
  Correct me if I am wrong: do I need VGA BIOS at all? I want my booting

No. On a head-less server for example, you usually don't care about VGA,
and you can easily leave it away (no VGA blob to prepend to linuxbios.rom).

Disable VGA support in LinuxBIOS with CONFIG_CONSOLE_VGA=0 in Options.lb.


  Linux kernel to use framebuffer but I guess that original VGA BIOS is
  not really needed for that, just to be able to control LB/FILO from
  the local console, right?

Depends. LinuxBIOS itself has (AFAIK) two drivers which can enable
graphics without executing any VGA blob, one for RageXL and one for
Geode GX1.

I'm not sure if the Linux framebuffer drivers depend on a VGA blob which
has to be executed before they work. Most probably do, but maybe not all.


 If I had to guess, I'd say your problem is not with the VGA bios, but with
 ram that doesn't work quite right with the current code for the cle266. Can

Yep, possible. I've seen the same effect on a box, but I can't really
explain it. It happens _before_ the UART init, i.e. before the first
byte of debugging output can be sent, and way before RAM init, though.
Haven't looked further into it.


 you try a different ram stick (of a different size/timings) and see if you
 get the same results?


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


Re: [LinuxBIOS] DFI LANPARTY nF4 SLI-DR superiotool lspci.

2007-11-21 Thread Uwe Hermann
On Wed, Nov 21, 2007 at 11:22:50AM -0800, Jerome Ibanes wrote:
 Ron  List,
 
  print(Trwt %x is out of range: min %x max %x\n etc. etc. etc.
  [snip]
 
 Are you suggesting that I try to boot with less or different memory? I've

Yes. Only one DIMM in the slot which the manual says it should be.


 noticed on the A8N-E page the following:
 
 Single DIMM support only.
 
 http://linuxbios.org/ASUS_A8N-E_Build_Tutorial
 
 Would you happen to know why or what is creating this limitation? I have

Not yet, I'm investigating.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios


[LinuxBIOS] [PATCH] v3: Add missing mkdir's

2007-11-21 Thread Uwe Hermann
This patch brings us closer to a working v3 build. The remaining thing
is the printk/post_code/SHARED issue.


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Add mkdir calls to create the necessary directories. This should
probably be factored out together with the rest of the lines in
mainboard/* later, but for now it'll do.

Signed-off-by: Uwe Hermann [EMAIL PROTECTED]

Index: mainboard/adl/msm800sev/Makefile
===
--- mainboard/adl/msm800sev/Makefile	(Revision 513)
+++ mainboard/adl/msm800sev/Makefile	(Arbeitskopie)
@@ -36,10 +36,13 @@
 $(obj)/mainboard/$(MAINBOARDDIR)/initram.o: $(src)/mainboard/$(MAINBOARDDIR)/initram.c
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 $(obj)/northbridge/amd/geodelx/raminit.o: $(src)/northbridge/amd/geodelx/raminit.c
+	$(Q)mkdir -p $(dir $@)
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 $(obj)/southbridge/amd/cs5536/smbus_initram.o: $(src)/southbridge/amd/cs5536/smbus_initram.c
+	$(Q)mkdir -p $(dir $@)
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 $(obj)/arch/x86/geodelx/geodelx.o: $(src)/arch/x86/geodelx/geodelx.c
+	$(Q)mkdir -p $(dir $@)
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 
 $(obj)/linuxbios.initram $(obj)/linuxbios.initram.map: $(obj)/stage0.init $(obj)/stage0-prefixed.o $(INITRAM_OBJ)
Index: mainboard/amd/norwich/Makefile
===
--- mainboard/amd/norwich/Makefile	(Revision 513)
+++ mainboard/amd/norwich/Makefile	(Arbeitskopie)
@@ -30,10 +30,13 @@
 $(obj)/mainboard/$(MAINBOARDDIR)/initram.o: $(src)/mainboard/$(MAINBOARDDIR)/initram.c
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 $(obj)/northbridge/amd/geodelx/raminit.o: $(src)/northbridge/amd/geodelx/raminit.c
+	$(Q)mkdir -p $(dir $@)
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 $(obj)/southbridge/amd/cs5536/smbus_initram.o: $(src)/southbridge/amd/cs5536/smbus_initram.c
+	$(Q)mkdir -p $(dir $@)
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 $(obj)/arch/x86/geodelx/geodelx.o: $(src)/arch/x86/geodelx/geodelx.c
+	$(Q)mkdir -p $(dir $@)
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 
 STAGE2_MAINBOARD_OBJ = 
Index: mainboard/artecgroup/dbe61/Makefile
===
--- mainboard/artecgroup/dbe61/Makefile	(Revision 513)
+++ mainboard/artecgroup/dbe61/Makefile	(Arbeitskopie)
@@ -34,10 +34,13 @@
 $(obj)/mainboard/$(MAINBOARDDIR)/initram.o: $(src)/mainboard/$(MAINBOARDDIR)/initram.c
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 $(obj)/northbridge/amd/geodelx/raminit.o: $(src)/northbridge/amd/geodelx/raminit.c
+	$(Q)mkdir -p $(dir $@)
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 $(obj)/southbridge/amd/cs5536/smbus_initram.o: $(src)/southbridge/amd/cs5536/smbus_initram.c
+	$(Q)mkdir -p $(dir $@)
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 $(obj)/arch/x86/geodelx/geodelx.o: $(src)/arch/x86/geodelx/geodelx.c
+	$(Q)mkdir -p $(dir $@)
 	$(Q)$(CC) $(INITCFLAGS) -D_SHARED -fPIE -c $ -o $@
 
 $(obj)/linuxbios.initram $(obj)/linuxbios.initram.map: $(obj)/stage0.init $(obj)/stage0-prefixed.o $(INITRAM_OBJ)
-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios

  1   2   3   4   5   6   7   8   9   10   >