Re: [coreboot] SeaBIOS and USB UHCI keyboard support

2009-09-30 Thread Mansoor

Its really a great news!!!. I will test this on my hardware (Intel Atom
(Silverthorne)  SCH US15W (Poulsbo) chipset)

A dumb question here... 
Why SeaBIOS have constrains? 
Can't we elaborate SeaBIOS as a driver part of coreboot? I mean a legacy
BIOS interrupts part(with constrains) + a driver section (includes support
for various drivers like USB keyboard USB mouse USB CDROM Hard disk etc)
without any constrains so that we can make use of current implementations
from Linux or other open source

Do you have any plan to support USB CD-ROM ?




-Original Message-

From: coreboot-boun...@coreboot.org [mailto:coreboot-boun...@coreboot.org]
On Behalf Of Kevin O'Connor
Sent: Wednesday, September 30, 2009 6:24 AM
To: Stefan Reinauer
Cc: coreboot
Subject: Re: [coreboot] SeaBIOS and USB UHCI keyboard support

Hi Stefan,

On Tue, Sep 29, 2009 at 04:47:04PM +0200, Stefan Reinauer wrote:
 Kevin O'Connor wrote:
  The latest SeaBIOS git has preliminary support for USB keyboards.
  I've tested this on qemu and on my epia-cn.
 
 Would it not make sense to pack USB keyboard functionality into our GSoC
 project instead, and use one common USB stack for all our projects?
 Especially since this renders usbrom completely unusable; no two USB
 stacks can operate the hw reliably at the same time.
 
 I'm a bit surprised by such action.

I'm sorry you were surprised.  I sent a note last month that I was
going to look at this.  I am truly sorry for the surprise and for any
disappointment.

SeaBIOS needs USB support in order to be usable on many platforms.  I
want SeaBIOS to be a turn key solution - that is, I want a vendor to
be able to boot up coreboot+seabios and say, hey, this 'just works'.

I would prefer to pull in an external solution than implement a new
one.  Unfortunately, there isn't an external solution that works
today.

I looked closely at the libpayload code; I felt it would not work well
in the constrained environment that SeaBIOS runs in.  I believe
libpayload could be extended to support that constrained environment,
but I worry that would be an unnecessary burden on the other users of
libpayload (which aren't so constrained).


The support in SeaBIOS is currently 1029 lines of code - it is a
direct, no nonsense, just make it work implementation.

Are you planning to add USB MSC
 support as well? Should we stop the OHCI efforts too and wait for your
 approach on that?

If someone steps forward with a solution that just works, then I
will happily defer to that person.  Otherwise, I will continue to add
new features as I get time.

The next thing I am planning to look at is basic ohci keyboard
support, and then fleshing out the current keyboard support (eg,
auto-repeat, keyboard leds).

-Kevin

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


--- 
DISCLAIMER: This e-mail and any attachment (s) is for authorised use by the
intended recipient (s) only. It may contain proprietary material,
confidential
information and/or be subject to the legal privilege of iWave Systems
Technologies Private Limited. If you have received this message in error,
please notify the originator immediately. If you are not the intended
recipient, you are notified that you are strictly prohibited from retaining,
using, copying, alerting or disclosing the content of this message. Thank
you
for your co-operation. 

--


--- 
DISCLAIMER: This e-mail and any attachment (s) is for authorised use by the
intended recipient (s) only. It may contain proprietary material, confidential
information and/or be subject to the legal privilege of iWave Systems
Technologies Private Limited. If you have received this message in error,
please notify the originator immediately. If you are not the intended
recipient, you are notified that you are strictly prohibited from retaining,
using, copying, alerting or disclosing the content of this message. Thank you
for your co-operation. 
--


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


Re: [coreboot] Is this motherboard suppo

2009-09-30 Thread Carl-Daniel Hailfinger
Hi,

On 30.09.2009 11:53, Anonymous bin ich wrote:
 I do have a serial port, but I lack absolutely all knowledge to
 recover it something bad happens.

 Guess I will wait for some more time. Do you know of any laptop,
 which, while not supported, at least has good parts? (complete noob
 here)
   

So far, I know of no laptop with completely open/available docs. Either
the docs are unavailable or they require NDAs which most of us don't have.

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/


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


[coreboot] [v2] r4692 - trunk/coreboot-v2/util/cbfstool

2009-09-30 Thread svn
Author: oxygene
Date: 2009-09-30 13:21:18 +0200 (Wed, 30 Sep 2009)
New Revision: 4692

Modified:
   trunk/coreboot-v2/util/cbfstool/cbfstool.c
   trunk/coreboot-v2/util/cbfstool/common.c
Log:
Fix endless loop when trying to add a too large file to CBFS,
and report the correct error code, and a hopefully helpful
error message.


Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
Acked-by: Stefan Reinauer ste...@coresystems.de


Modified: trunk/coreboot-v2/util/cbfstool/cbfstool.c
===
--- trunk/coreboot-v2/util/cbfstool/cbfstool.c  2009-09-29 21:35:48 UTC (rev 
4691)
+++ trunk/coreboot-v2/util/cbfstool/cbfstool.c  2009-09-30 11:21:18 UTC (rev 
4692)
@@ -80,7 +80,8 @@
}
cbfsfile =
create_cbfs_file(cbfsname, filedata, filesize, type, base);
-   add_file_to_cbfs(cbfsfile, filesize, base);
+   if (add_file_to_cbfs(cbfsfile, filesize, base))
+   return 1;
writerom(romname, rom, romsize);
return 0;
 }
@@ -127,7 +128,8 @@
cbfsfile =
create_cbfs_file(cbfsname, payload, filesize,
 CBFS_COMPONENT_PAYLOAD, base);
-   add_file_to_cbfs(cbfsfile, filesize, base);
+   if (add_file_to_cbfs(cbfsfile, filesize, base))
+   return 1;
writerom(romname, rom, romsize);
return 0;
 }
@@ -175,7 +177,8 @@
create_cbfs_file(cbfsname, stage, filesize,
 CBFS_COMPONENT_STAGE, base);
 
-   add_file_to_cbfs(cbfsfile, filesize, base);
+   if (add_file_to_cbfs(cbfsfile, filesize, base))
+   return 1;
writerom(romname, rom, romsize);
return 0;
 }

Modified: trunk/coreboot-v2/util/cbfstool/common.c
===
--- trunk/coreboot-v2/util/cbfstool/common.c2009-09-29 21:35:48 UTC (rev 
4691)
+++ trunk/coreboot-v2/util/cbfstool/common.c2009-09-30 11:21:18 UTC (rev 
4692)
@@ -40,7 +40,7 @@
content = malloc(*romsize_p);
if (!content) {
printf(Could not get %d bytes for file %s\n,
-   *romsize_p, filename);
+  *romsize_p, filename);
exit(1);
}
} else if (place == SEEK_END)
@@ -205,40 +205,42 @@
dprintf(copying data\n);
memcpy(phys_to_virt(current), content,
   contentsize);
-   break;
+   return 0;
}
-   if (location == 0)
-   continue;
+   if (location != 0) {
+   /* CBFS has the constraint that the chain 
always moves up in memory. so once
+  we're past the place we seek, we don't need 
to look any further */
+   if (current  location) {
+   printf
+   (the requested space is not 
available\n);
+   return 1;
+   }
 
-   /* CBFS has the constraint that the chain always moves 
up in memory. so once
-  we're past the place we seek, we don't need to look 
any further */
-   if (current  location) {
-   printf
-   (the requested space is not available\n);
-   return 1;
+   /* Is the requested location inside the current 
chunk? */
+   if ((current  location)
+((location + contentsize) =
+   (current + length))) {
+   /* Split it up. In the next iteration 
the code will be at the right place. */
+   dprintf(split up. new length: %x\n,
+   location - current -
+   ntohl(thisfile-offset));
+   thisfile-len =
+   htonl(location - current -
+ ntohl(thisfile-offset));
+   struct cbfs_file *nextfile =
+   cbfs_create_empty_file(location,
+  length -
+  (location -
+   current));
+   }
}
-
-

[coreboot] build service results for r4692

2009-09-30 Thread coreboot information
Dear coreboot readers!

This is the automatic build system of coreboot.

The developer oxygene checked in revision 4692 to
the coreboot repository. This caused the following 
changes:

Change Log:
Fix endless loop when trying to add a too large file to CBFS,
and report the correct error code, and a hopefully helpful
error message.


Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
Acked-by: Stefan Reinauer ste...@coresystems.de


Build Log:
Compilation of embeddedplanet:ep405pc is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4692device=ep405pcvendor=embeddedplanetnum=2
Compilation of motorola:sandpointx3_altimus_mpc7410 is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4692device=sandpointx3_altimus_mpc7410vendor=motorolanum=2
Compilation of totalimpact:briq is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4692device=briqvendor=totalimpactnum=2


If something broke during this checkin please be a pain 
in oxygene's neck until the issue is fixed.

If this issue is not fixed within 24h the revision should 
be backed out.

   Best regards,
 coreboot automatic build system



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


Re: [coreboot] Corebootv2 failing to build

2009-09-30 Thread Myles Watson
On Wed, Sep 30, 2009 at 7:15 AM, David Houston r...@crankyadmin.net wrote:
 Not sure why? Believe it has something to do with the bold. I am trying to
 build a 1mb rom. Where is the best place to set this?

This file in targets/gigabyte/m57sli/Config.lb builds for me. - Myles

target m57sli
mainboard gigabyte/m57sli

option CONFIG_HAVE_FAILOVER_BOOT=0
option CONFIG_FAILOVER_SIZE=0
option CONFIG_ROM_SIZE=0x10

romimage fallback
option CONFIG_USE_FAILOVER_IMAGE=0
option CONFIG_USE_FALLBACK_IMAGE=1
option CONFIG_ROM_IMAGE_SIZE=0x1
option CONFIG_XIP_ROM_SIZE=0x4
option COREBOOT_EXTRA_VERSION=$(shell cat ../../VERSION)_Fallback
payload ../payload.elf
end

buildrom ./coreboot.rom CONFIG_ROM_SIZE fallback

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


Re: [coreboot] Resend: [PATCH] add h8dmr fam10 target

2009-09-30 Thread Ward Vandewege
On Tue, Sep 22, 2009 at 03:29:05PM +0200, Peter Stuge wrote:
 Ward Vandewege wrote:
  Add supermicro h8dmr fam10 target. This is largely a mashup of the tyan 
  s2912
  fam10 and h8dmr k8 targets.
  
  Many, many thanks to Marc, Myles, Patrick and Stepan for all their help with
  this, and to Arne for doing the s2912 fam10 port.
  
  Build and boot tested.
  
  Signed-off-by: Ward Vandewege w...@gnu.org
 
 Acked-by: Peter Stuge pe...@stuge.se

r4693.

Thanks,
Ward.

-- 
Ward Vandewege w...@gnu.org

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


Re: [coreboot] Resend: [PATCH] add h8dmr fam10 target

2009-09-30 Thread Ward Vandewege
On Tue, Sep 22, 2009 at 06:43:10AM -0700, ron minnich wrote:
 On Tue, Sep 22, 2009 at 6:42 AM, ron minnich rminn...@gmail.com wrote:
 
  I think this description of problems with the port ought to be in the
  target file in a README.
 
   ^^directory, sorry

I have done so. I need to do some more testing on this hardware, but it's in
production so that's a little hard right now. I'm going to work on a
supermicro h8dme fam10 port now, which is a very similar board, so hopefully
I'll be able to try the suggestions in this thread on that.

Thanks!
Ward.

-- 
Ward Vandewege w...@gnu.org

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


[coreboot] build service results for r4693

2009-09-30 Thread coreboot information
Dear coreboot readers!

This is the automatic build system of coreboot.

The developer ward checked in revision 4693 to
the coreboot repository. This caused the following 
changes:

Change Log:

Add supermicro h8dmr fam10 target. This is largely a mashup of the tyan s2912
fam10 and h8dmr k8 targets.

Many, many thanks to Marc, Myles, Patrick and Stepan for all their help with
this, and to Arne for doing the s2912 fam10 port.

Build and boot tested. Abuild tested.

There are a number of outstanding issues and caveats - see 
src/mainboard/supermicro/h8dmr_fam10/README.

Signed-off-by: Ward Vandewege w...@gnu.org
Acked-by: Peter Stuge pe...@stuge.se




Build Log:
Compilation of embeddedplanet:ep405pc is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4693device=ep405pcvendor=embeddedplanetnum=2
Compilation of motorola:sandpointx3_altimus_mpc7410 is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4693device=sandpointx3_altimus_mpc7410vendor=motorolanum=2
Compilation of totalimpact:briq is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4693device=briqvendor=totalimpactnum=2


If something broke during this checkin please be a pain 
in ward's neck until the issue is fixed.

If this issue is not fixed within 24h the revision should 
be backed out.

   Best regards,
 coreboot automatic build system



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


[coreboot] [PATCH]Fix hopefully last stopper bug for CBFS. Plan to get rid of non-CBFS

2009-09-30 Thread Patrick Georgi
Hi,

attached patch reworks the payload handling with CBFS (ie. selfboot).
We use a bounce buffer (both in CBFS and older) to keep coreboot running
while allowing the payload to use the same memory region, and this is a
tricky part of our code.

Assumptions in the code are:
The bounce buffer is at least 2x coreboot_ram size (lb_end - lb_start),
with the first half being the shadow region that the payload's data
lives in (exactly the bytes that cover the area of coreboot_ram), while
the second half exists to host a copy of coreboot while copying.

The change leads to the following behaviour:
At least 2x coreboot_ram size is looked for.

The area before the bounce buffer is assumed to be reasonably free (but
this isn't validated)

Payload segments that conflict with coreboot_ram are loaded to the
bounce buffer, probably using the memory before it, and filling up more
than coreboot_ram bytes there

Right after copying, the out of area bytes are copied to their final
location (around coreboot_ram).

I want to revisit the prefix/suffix calculation, as I'm not 100% sure
that it's doing the right thing (those copy operations should copy
_exactly_ the necessary set of bytes, nothing more), review is welcome
(look for prefix and suffix in selfboot.c)

The code is runtime tested on qemu-x86 (after cranking up the STACK_SIZE
to 16kb, so lzma could run), with the following scenarios:

RAMBASE = 0x4000, payload starting at 0x0010
 (no collision between coreboot_ram and payload)

RAMBASE = 0x0010, payload starting at 0x0010
 (RAMBASE below or at payload starting address, this worked before)

RAMBASE = 0x00101000, payload starting at 0x0010
 (RAMBASE above payload starting address, this fails without this patch.
  AMD boards were notorious with that one)

Pending the review of the prefix/suffix calculations (by me and
hopefully others), this is

Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de


Once this is in, there are no CBFS issues that I know of, and hence I
propose to eliminate non-CBFS support in the tree soonish after that
patch is in.
I have some older patch for this, but it will likely not apply anymore,
but I can update it.

Opinions?


Regards,
Patrick
Index: src/boot/selfboot.c
===
--- src/boot/selfboot.c	(Revision 4691)
+++ src/boot/selfboot.c	(Arbeitskopie)
@@ -423,14 +423,13 @@
 {
 	struct segment *ptr;
 	
-	unsigned long required_bounce_size = lb_end - lb_start;
+	unsigned long bounce_high = lb_end;
 	for(ptr = head-next; ptr != head; ptr = ptr-next) {
 		if (!overlaps_coreboot(ptr)) continue;
-		unsigned long bounce = ptr-s_dstaddr + ptr-s_memsz - lb_start;
-		if (bounce  required_bounce_size)
-			required_bounce_size = bounce;
+		if (ptr-s_dstaddr + ptr-s_memsz  bounce_high)
+			bounce_high = ptr-s_dstaddr + ptr-s_memsz;
 	}
-	get_bounce_buffer(mem, required_bounce_size);
+	get_bounce_buffer(mem, bounce_high - lb_start);
 	if (!bounce_buffer) {
 		printk_err(Could not find a bounce buffer...\n);
 		return 0;
@@ -502,6 +501,24 @@
 /* Zero the extra bytes */
 memset(middle, 0, end - middle);
 			}
+			/* Copy the data that's outside the area that shadows coreboot_ram */
+			printk_debug(dest %lx, end %lx, bouncebuffer %lx\n, dest, end, bounce_buffer);
+			if ((unsigned long)end  bounce_buffer) {
+if ((unsigned long)dest  bounce_buffer) {
+	unsigned long from = dest;
+	unsigned long to = lb_start-(bounce_buffer-(unsigned long)dest);
+	unsigned long amount = bounce_buffer-(unsigned long)dest;
+	printk_debug(move prefix around: from %lx, to %lx, amount: %lx\n, from, to, amount);
+	memcpy(to, from, amount);
+}
+if ((unsigned long)end  bounce_buffer + (lb_end - lb_start)) {
+	unsigned long from = bounce_buffer + bounce_size;
+	unsigned long to = lb_end;
+	unsigned long amount = end - (bounce_buffer + bounce_size);
+	printk_debug(move suffix around: from %lx, to %lx, amount: %lx\n, from, to, amount);
+	memcpy(to, from, amount);
+}
+			}
 		}
 	}
 	return 1;
-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

[coreboot] SeaBIOS+libpayload?

2009-09-30 Thread Kevin O'Connor
Hi,

There has been suggestions recently on using parts of libpayload in
seabios.  The following is my thoughts on some challenges of such an
integration:

Constrained memory - unlike a normal libpayload app, SeaBIOS must
reserve all memory that it uses during runtime in the e820 map.  This
reserved memory then can't be used by the OS.  Naturally, this means
reserved memory needs to be kept to a minimum - it would be a shame to
keep any sizable amount of memory unusable by the OS just so that it
can be used for the 5 seconds or so before the OS starts.  I'd say all
code and ram used by SeaBIOS runtime shouldn't exceed 256KB.  Right
now, SeaBIOS is using around 80K.

Also, code needed from 16bit mode must be located in the first 1Meg of
ram.  The constraints on memory here are even stricter - I'd say all
code and ram here shouldn't exceed 100K.

As a result of these restrictions, SeaBIOS code uses different memory
zones (6 of them) and purposely allocates ram from the different
zones to optimize the memory footprint.  (For example, an allocation
needed only during init wouldn't be reserved in the e820, an
allocation needed during runtime but not from 16bit code would be in
e820 high-mem, and only those allocations needed during 16bit run-time
would go into the e820 low-mem.)


Support for 16bit mode - SeaBIOS is fundamentally a 16bit bios
implementation and that means supporting 16bit callers.  Because
SeaBIOS uses gcc, this isn't as difficult as it may seem, but it does
require implementation restrictions.  All code needs to be compiled by
the seabios build (to manipulate the assembler and set compiler
flags); it's not possible to just link in a library.  Also, special
macro wrappers must be placed in the code around all non-stack memory
accesses.

Because of these memory restrictions, seabios tends to pass parameters
by value (so as to avoid lots of macro accesses).  Seabios also tends
to avoid function pointers (is the pointer to the 16bit version of the
function or to the 32bit version of the function?).

Finally, available stack space in 16bit mode is severely constrained.
A hw irq handler probably shouldn't use more than 100 bytes of stack.
A regular 16bit handler probably shouldn't use more than 250 bytes of
stack.


Seabios must work without coreboot - seabios can be used natively with
qemu, bochs, and kvm.  This isn't necessarily a problem for pulling in
a libpayload driver, but it does constrain other parts of libpayload.
(For example, it's not possible to assume a coreboot table will be
found).


Parts of libpayload tend to assume other parts of libpayload are
available - this can be difficult for cherry picking drivers.  For
example, usb requires malloc, in/out, printf, mdelay,
pci_config_write, etc.  These can be redirected, but that's
troublesome for maintenance because the different implementations may
have subtly different behavior.  Alternatively, one could try to
introduce more parts of libpayload into seabios, but that further
expands the scope of conflicts.  For example, should the libpayload
version of malloc know how to do e820 map allocations?


On the flip side, the clear advantage of using libpayload in seabios
is a reduction of the overall code that needs to be maintained.  It
could also lead to better test coverage of the code and a higher
quality.


In general, I think this raises a high-level question.  Is there a
desire to introduce the memory and operating constraints into the
libpayload code that SeaBIOS will need?  This is a bit of a difficult
question, as the other users (eg, filo) have no need to worry about
these restrictions and it will definitely make maintenance and testing
harder.

My general feel has been that this isn't worth the cost.  The amount
of code being duplicated I would estimate is around 3000 lines.  This
is unarguably very tricky code (eg, hw init, timing, malloc), but
there is not an overwhelming amount of it.

Thoughts?
-Kevin

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


[coreboot] [v2] r4694 - trunk/util/inteltool

2009-09-30 Thread svn
Author: uwe
Date: 2009-09-30 19:05:46 +0200 (Wed, 30 Sep 2009)
New Revision: 4694

Modified:
   trunk/util/inteltool/gpio.c
   trunk/util/inteltool/inteltool.c
   trunk/util/inteltool/inteltool.h
   trunk/util/inteltool/memory.c
   trunk/util/inteltool/powermgt.c
Log:
Add initial inteltool support for Intel 440BX/440LX and 82371AB/EB/MB.

Signed-off-by: Maciej Pijanka maciej.pija...@gmail.com
Acked-by: Uwe Hermann u...@hermann-uwe.de



Modified: trunk/util/inteltool/gpio.c
===
--- trunk/util/inteltool/gpio.c 2009-09-30 14:46:43 UTC (rev 4693)
+++ trunk/util/inteltool/gpio.c 2009-09-30 17:05:46 UTC (rev 4694)
@@ -131,6 +131,9 @@
gpio_registers = ich0_gpio_registers;
size = ARRAY_SIZE(ich0_gpio_registers);
break;
+   case PCI_DEVICE_ID_INTEL_82371XX:
+   printf(This southbridge has GPIOs in the PM unit.\n);
+   return 1;
case 0x1234: // Dummy for non-existent functionality
printf(This southbridge does not have GPIOBASE.\n);
return 1;

Modified: trunk/util/inteltool/inteltool.c
===
--- trunk/util/inteltool/inteltool.c2009-09-30 14:46:43 UTC (rev 4693)
+++ trunk/util/inteltool/inteltool.c2009-09-30 17:05:46 UTC (rev 4694)
@@ -29,6 +29,9 @@
uint16_t vendor_id, device_id;
char *name;
 } supported_chips_list[] = {
+   { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443LX, 82443LX },
+   { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX, 82443BX },
+   { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_NO_AGP, 82443BX 
without AGP },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82810, i810 },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82810DC, i810-DC100 },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82845, i845 },
@@ -47,7 +50,8 @@
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH4, ICH4 },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH2, ICH2 },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH0, ICH0 },
-   { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH, ICH }
+   { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH, ICH },
+   { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371XX, 82371AB/EB/MB },
 };
 
 #ifndef __DARWIN__
@@ -112,7 +116,7 @@
 int main(int argc, char *argv[])
 {
struct pci_access *pacc;
-   struct pci_dev *sb, *nb;
+   struct pci_dev *sb = NULL, *nb, *dev;
int i, opt, option_index = 0;
unsigned int id;
 
@@ -204,8 +208,20 @@
pci_scan_bus(pacc);
 
/* Find the required devices */
+   for (dev = pacc-devices; dev; dev = dev-next) {   
+   pci_fill_info(dev, PCI_FILL_CLASS);
+   /* The ISA/LPC bridge can be 0x1f, 0x07, or 0x04 so we probe. */
+   if (dev-device_class == 0x0601) { /* ISA/LPC bridge */
+   if (sb == NULL) 
+   sb = dev;
+   else
+   fprintf(stderr, Multiple devices with class ID
+0x0601, using %02x%02x:%02x.%02x\n,
+   dev-domain, dev-bus, dev-dev,
+   dev-func);
+   }
+   }
 
-   sb = pci_get_dev(pacc, 0, 0, 0x1f, 0);
if (!sb) {
printf(No southbridge found.\n);
exit(1);

Modified: trunk/util/inteltool/inteltool.h
===
--- trunk/util/inteltool/inteltool.h2009-09-30 14:46:43 UTC (rev 4693)
+++ trunk/util/inteltool/inteltool.h2009-09-30 17:05:46 UTC (rev 4694)
@@ -32,28 +32,37 @@
 #define INTELTOOL_VERSION 1.0
 
 /* Tested chipsets: */
-#define PCI_VENDOR_ID_INTEL0x8086
-#define PCI_DEVICE_ID_INTEL_ICH0x2410
-#define PCI_DEVICE_ID_INTEL_ICH0   0x2420
-#define PCI_DEVICE_ID_INTEL_ICH2   0x2440
-#define PCI_DEVICE_ID_INTEL_ICH4   0x24c0
-#define PCI_DEVICE_ID_INTEL_ICH4M  0x24cc
-#define PCI_DEVICE_ID_INTEL_ICH7DH 0x27b0
-#define PCI_DEVICE_ID_INTEL_ICH7   0x27b8
-#define PCI_DEVICE_ID_INTEL_ICH7M  0x27b9
-#define PCI_DEVICE_ID_INTEL_ICH7MDH0x27bd
-#define PCI_DEVICE_ID_INTEL_ICH8M  0x2815
-#define PCI_DEVICE_ID_INTEL_ICH10R 0x3a16
+#define PCI_VENDOR_ID_INTEL0x8086
+#define PCI_DEVICE_ID_INTEL_ICH0x2410
+#define PCI_DEVICE_ID_INTEL_ICH0   0x2420
+#define PCI_DEVICE_ID_INTEL_ICH2   0x2440
+#define PCI_DEVICE_ID_INTEL_ICH4   0x24c0
+#define PCI_DEVICE_ID_INTEL_ICH4M  0x24cc
+#define PCI_DEVICE_ID_INTEL_ICH7DH 0x27b0
+#define PCI_DEVICE_ID_INTEL_ICH7   0x27b8
+#define PCI_DEVICE_ID_INTEL_ICH7M  0x27b9
+#define PCI_DEVICE_ID_INTEL_ICH7MDH0x27bd

[coreboot] [v2] r4695 - trunk/util/inteltool

2009-09-30 Thread svn
Author: uwe
Date: 2009-09-30 19:14:24 +0200 (Wed, 30 Sep 2009)
New Revision: 4695

Modified:
   trunk/util/inteltool/inteltool.c
Log:
Hm, quickfix to prevent the following crash, no idea yet what happens:

*** glibc detected *** ././inteltool: double free or corruption (top): 
0x08db0260 ***

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



Modified: trunk/util/inteltool/inteltool.c
===
--- trunk/util/inteltool/inteltool.c2009-09-30 17:05:46 UTC (rev 4694)
+++ trunk/util/inteltool/inteltool.c2009-09-30 17:14:24 UTC (rev 4695)
@@ -309,7 +309,7 @@
 
/* Clean up */
pci_free_dev(nb);
-   pci_free_dev(sb);
+   // pci_free_dev(sb); // TODO: glibc detected double free or corruption
pci_cleanup(pacc);
 
return 0;


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


Re: [coreboot] SeaBIOS+libpayload?

2009-09-30 Thread ron minnich
If libpayload can't fit seabios' needs then it needs to change so that
it can. It's not much of a library if seabios can't use it IMHO.
This may boil down to making the build process more flexible. I don't know.

I wonder how much of the low 1M we should just take for our purposes.
1M is a tiny amount of memory, and there are already options for
reserving the low 64k for BIOSen in the newer kernels, as well as
scans for low memory corruption. Should we just mark all of low 1M as
reserved and use  it as needed?

ron

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


Re: [coreboot] Inteltool patch v4

2009-09-30 Thread Uwe Hermann
On Sun, Sep 27, 2009 at 12:01:12AM +0200, Maciej Pijanka wrote:
 This is last version, includes detecting southbridge using
 device_class not device location on bus as Stefan suggested, also will
 tell if find more than one device with device_class 0x601 and notify
 which one it used (it will be first but may depend on order of devices
 inside structures returned by libpci).

Thanks, committed as r4694 with some smaller changes. May need some more
work though.


Here's the output from one of my 440BX boards, which looks a bit strange:

Intel CPU: Family 6, Model 8
Intel Northbridge: 8086:7190 (82443BX)
Intel Southbridge: 8086:7110 (82371AB/EB/MB)

= GPIOS =

This southbridge has GPIOs in the PM unit.

= RCBA ==

Error: Dumping RCBA on this southbridge is not (yet) supported.

= PMBASE 

PMBASE = 0x (IO)

pmbase+0x: 0x (PMSTS)
pmbase+0x0002: 0x7f7f (PMEN)
pmbase+0x0004: 0x (PMCNTRL)
pmbase+0x0006: 0x (RESERVED)
pmbase+0x0008: 0x00   (PMTMR)
pmbase+0x0009: 0xff   (RESERVED)
pmbase+0x000a: 0xff   (RESERVED)
pmbase+0x000b: 0xff   (RESERVED)
pmbase+0x000c: 0x (GPSTS)
pmbase+0x000e: 0x (GPEN)
pmbase+0x0010: 0x (PCNTRL)
pmbase+0x0018: 0x (GLBSTS)
pmbase+0x001a: 0x (RESERVED)
pmbase+0x001c: 0x (DEVSTS)
pmbase+0x0020: 0x (GLBEN)
pmbase+0x0022: 0xff   (RESERVED)
pmbase+0x0023: 0xff   (RESERVED)
pmbase+0x0024: 0x00   (RESERVED)
pmbase+0x0025: 0x20   (RESERVED)
pmbase+0x0026: 0xff   (RESERVED)
pmbase+0x0027: 0xff   (RESERVED)
pmbase+0x0028: 0x (GLBCTL)
pmbase+0x002c: 0x (DEVCTL)
pmbase+0x0030: 0x00   (GPIREG 0)
pmbase+0x0031: 0x20   (GPIREG 1)
pmbase+0x0032: 0xff   (GPIREG 2)
pmbase+0x0033: 0xff   (GPIREG 3)
pmbase+0x0034: 0x00   (GPOREG 0)
pmbase+0x0035: 0x20   (GPOREG 1)
pmbase+0x0036: 0xff   (GPOREG 2)
pmbase+0x0037: 0xff   (GPOREG 3)

= MCHBAR 

This northbrigde does not have MCHBAR.

= EPBAR =

Error: Dumping EPBAR on this northbridge is not (yet) supported.

= DMIBAR 

Error: Dumping DMIBAR on this northbridge is not (yet) supported.

= PCIEXBAR 

Error: Dumping PCIEXBAR on this northbridge is not (yet) supported.

Error: Dumping MSRs on this CPU (0x000680) is not (yet) supported.


I think 440BX doesn't have most of the BARs mentioned above either
(which we can easily fix). The more interesting question is why the
PMBASE is 0x0 above.

Here's the respective lspci:

00:04.0 ISA bridge [0601]: Intel Corporation 82371AB/EB/MB PIIX4 ISA 
[8086:7110] (rev 02)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- 
TAbort- MAbort- SERR- PERR- INTx-
Latency: 0
00: 86 80 10 71 0f 00 80 02 02 00 01 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 09 00 20 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 80 80 80 0a 10 00 00 00 00 f2 80 00 00 00 00 00
70: 00 00 00 00 00 00 0c 0c 00 00 00 00 00 00 00 00
80: 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 25 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 30 0f 00 00 00 00 00 00

So 0x40 (PMBASE) is indeed simply 0x, no idea if that's supposed to be
the case.


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

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


Re: [coreboot] [PATCH]Fix hopefully last stopper bug for CBFS. Plan to get rid of non-CBFS

2009-09-30 Thread ron minnich
Acked-by: Ronald G. Minnich rminn...@gmail.com

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


[coreboot] build service results for r4694

2009-09-30 Thread coreboot information
Dear coreboot readers!

This is the automatic build system of coreboot.

The developer uwe checked in revision 4694 to
the coreboot repository. This caused the following 
changes:

Change Log:
Add initial inteltool support for Intel 440BX/440LX and 82371AB/EB/MB.

Signed-off-by: Maciej Pijanka maciej.pija...@gmail.com
Acked-by: Uwe Hermann u...@hermann-uwe.de



Build Log:
Compilation of embeddedplanet:ep405pc is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4694device=ep405pcvendor=embeddedplanetnum=2
Compilation of motorola:sandpointx3_altimus_mpc7410 is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4694device=sandpointx3_altimus_mpc7410vendor=motorolanum=2
Compilation of totalimpact:briq is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4694device=briqvendor=totalimpactnum=2


If something broke during this checkin please be a pain 
in uwe's neck until the issue is fixed.

If this issue is not fixed within 24h the revision should 
be backed out.

   Best regards,
 coreboot automatic build system



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


[coreboot] Asus M2N4-SLI details

2009-09-30 Thread Andrew Morgan

Attached is the output of various tools run on an Asus M2N4-SLI board.

Looks like mptable didn't work correctly?

--

Andrew.

/*
 * This file is part of the coreboot project.
 *
 * Copyright (C) 200x TODO t...@todo
 *
 * 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
 */

#ifdef GETPIR   /* TODO: Drop this when copying to coreboot. */
#include pirq_routing.h   /* TODO: Drop this when copying to coreboot. */
#else   /* TODO: Drop this when copying to coreboot. */
#include arch/pirq_routing.h
#endif  /* TODO: Drop this when copying to coreboot. */

const struct irq_routing_table intel_irq_routing_table = {
PIRQ_SIGNATURE, /* u32 signature */
PIRQ_VERSION,   /* u16 version */
32 + 16 * 13,   /* Max. number of devices on the bus */
0x00,   /* Interrupt router bus */
(0x00  3) | 0x0,  /* Interrupt router dev */
0x828,  /* IRQs devoted exclusively to PCI usage */
0,  /* Vendor */
0,  /* Device */
0,  /* Miniport */
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */
0x1f,   /* Checksum (has to be set to some value that
 * would give 0 after the sum of all bytes
 * for this structure (including checksum).
 */
{
/* bus,dev | fn,   {link, bitmap}, {link, bitmap}, 
{link, bitmap}, {link, bitmap}, slot, rfu */
{0x01, (0x06  3) | 0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, 
{0x03, 0xdeb8}, {0x04, 0xdeb8}}, 0x1, 0x0},
{0x01, (0x07  3) | 0x0, {{0x02, 0xdeb8}, {0x03, 0xdeb8}, 
{0x04, 0xdeb8}, {0x01, 0xdeb8}}, 0x2, 0x0},
{0x01, (0x01  3) | 0x0, {{0x02, 0xdeb8}, {0x02, 0xdeb8}, 
{0x02, 0xdeb8}, {0x02, 0xdeb8}}, 0x3, 0x0},
{0x05, (0x00  3) | 0x0, {{0x03, 0xdeb8}, {0x04, 0xdeb8}, 
{0x01, 0xdeb8}, {0x02, 0xdeb8}}, 0x4, 0x0},
{0x04, (0x00  3) | 0x0, {{0x04, 0xdeb8}, {0x01, 0xdeb8}, 
{0x02, 0xdeb8}, {0x03, 0xdeb8}}, 0x5, 0x0},
{0x03, (0x00  3) | 0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, 
{0x03, 0xdeb8}, {0x04, 0xdeb8}}, 0x6, 0x0},
{0x02, (0x00  3) | 0x0, {{0x02, 0xdeb8}, {0x03, 0xdeb8}, 
{0x04, 0xdeb8}, {0x01, 0xdeb8}}, 0x7, 0x0},
{0x00, (0x01  3) | 0x0, {{0x06, 0xdeb8}, {0x06, 0xdeb8}, 
{0x00, 0xdeb8}, {0x00, 0xdeb8}}, 0x0, 0x0},
{0x00, (0x02  3) | 0x0, {{0x07, 0xdeb8}, {0x09, 0xdeb8}, 
{0x00, 0xdeb8}, {0x00, 0xdeb8}}, 0x0, 0x0},
{0x00, (0x04  3) | 0x0, {{0x0a, 0xdeb8}, {0x0b, 0xdeb8}, 
{0x00, 0xdeb8}, {0x00, 0xdeb8}}, 0x0, 0x0},
{0x00, (0x0a  3) | 0x0, {{0x0c, 0xdeb8}, {0x00, 0xdeb8}, 
{0x00, 0xdeb8}, {0x00, 0xdeb8}}, 0x0, 0x0},
{0x00, (0x07  3) | 0x0, {{0x0d, 0xdeb8}, {0x00, 0xdeb8}, 
{0x00, 0xdeb8}, {0x00, 0xdeb8}}, 0x0, 0x0},
{0x00, (0x08  3) | 0x0, {{0x0e, 0xdeb8}, {0x00, 0xdeb8}, 
{0x00, 0xdeb8}, {0x00, 0xdeb8}}, 0x0, 0x0},
}
};

unsigned long write_pirq_routing_table(unsigned long addr)
{
return copy_pirq_routing_table(addr);
}
superiotool r4668
Probing for ALi Super I/O at 0x3f0...
  Failed. Returned data: id=0x, rev=0xff
Probing for ALi Super I/O at 0x370...
  Failed. Returned data: id=0x, rev=0xff
Probing for Fintek Super I/O at 0x2e...
  Failed. Returned data: vid=0x, id=0x
Probing for Fintek Super I/O at 0x4e...
  Failed. Returned data: vid=0x, id=0x
Probing for ITE Super I/O (init=standard) at 0x2e...
Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e
Register dump:
idx 20 21 22 23 24 2b
val 87 16 00 01 00 00
def 87 16 01 00 00 00
LDN 0x00 (Floppy)
idx 30 60 61 70 74 f0 f1
val 00 00 00 00 04 00 80
def 00 03 f0 06 02 00 00
LDN 0x01 (COM1)
idx 30 60 61 70 f0 f1 f2 f3
val 01 03 f8 04 00 50 00 7f
def 00 03 f8 04 00 50 00 7f
LDN 0x02 (COM2)
idx 30 60 61 70 f0 f1 f2 f3
val 00 00 00 00 00 50 00 7f
def 00 02 f8 03 00 50 00 7f
LDN 0x03 (Parallel port)
idx 30 60 61 62 63 70 74 f0
val 01 03 78 07 78 07 03 0a
def 00 03 78 07 78 07 03 03
LDN 0x04 (Environment controller)
idx 30 60 61 62 63 70 f0 f1  f2 f3 f4 f5 f6
val 01 02 90 00 

[coreboot] build service results for r4695

2009-09-30 Thread coreboot information
Dear coreboot readers!

This is the automatic build system of coreboot.

The developer uwe checked in revision 4695 to
the coreboot repository. This caused the following 
changes:

Change Log:
Hm, quickfix to prevent the following crash, no idea yet what happens:

*** glibc detected *** ././inteltool: double free or corruption (top): 
0x08db0260 ***

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



Build Log:
Compilation of embeddedplanet:ep405pc is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4695device=ep405pcvendor=embeddedplanetnum=2
Compilation of motorola:sandpointx3_altimus_mpc7410 is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4695device=sandpointx3_altimus_mpc7410vendor=motorolanum=2
Compilation of totalimpact:briq is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4695device=briqvendor=totalimpactnum=2


If something broke during this checkin please be a pain 
in uwe's neck until the issue is fixed.

If this issue is not fixed within 24h the revision should 
be backed out.

   Best regards,
 coreboot automatic build system



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


Re: [coreboot] Inteltool patch v4

2009-09-30 Thread Maciej Pijanka
On 30/09/2009, Uwe Hermann u...@hermann-uwe.de wrote:
 On Sun, Sep 27, 2009 at 12:01:12AM +0200, Maciej Pijanka wrote:
 This is last version, includes detecting southbridge using
 device_class not device location on bus as Stefan suggested, also will
 tell if find more than one device with device_class 0x601 and notify
 which one it used (it will be first but may depend on order of devices
 inside structures returned by libpci).

 Thanks, committed as r4694 with some smaller changes. May need some more
 work though.


 Here's the output from one of my 440BX boards, which looks a bit strange:

 Intel CPU: Family 6, Model 8
 Intel Northbridge: 8086:7190 (82443BX)
 Intel Southbridge: 8086:7110 (82371AB/EB/MB)

[..]
 = PMBASE 

 PMBASE = 0x (IO)

 pmbase+0x: 0x (PMSTS)
 pmbase+0x0002: 0x7f7f (PMEN)
 pmbase+0x0004: 0x (PMCNTRL)
 pmbase+0x0006: 0x (RESERVED)
 pmbase+0x0008: 0x00   (PMTMR)
 pmbase+0x0009: 0xff   (RESERVED)
 pmbase+0x000a: 0xff   (RESERVED)
 pmbase+0x000b: 0xff   (RESERVED)
 pmbase+0x000c: 0x (GPSTS)
 pmbase+0x000e: 0x (GPEN)
 pmbase+0x0010: 0x (PCNTRL)
 pmbase+0x0018: 0x (GLBSTS)
 pmbase+0x001a: 0x (RESERVED)
 pmbase+0x001c: 0x (DEVSTS)
 pmbase+0x0020: 0x (GLBEN)
 pmbase+0x0022: 0xff   (RESERVED)
 pmbase+0x0023: 0xff   (RESERVED)
 pmbase+0x0024: 0x00   (RESERVED)
 pmbase+0x0025: 0x20   (RESERVED)
 pmbase+0x0026: 0xff   (RESERVED)
 pmbase+0x0027: 0xff   (RESERVED)
 pmbase+0x0028: 0x (GLBCTL)
 pmbase+0x002c: 0x (DEVCTL)
 pmbase+0x0030: 0x00   (GPIREG 0)
 pmbase+0x0031: 0x20   (GPIREG 1)
 pmbase+0x0032: 0xff   (GPIREG 2)
 pmbase+0x0033: 0xff   (GPIREG 3)
 pmbase+0x0034: 0x00   (GPOREG 0)
 pmbase+0x0035: 0x20   (GPOREG 1)
 pmbase+0x0036: 0xff   (GPOREG 2)
 pmbase+0x0037: 0xff   (GPOREG 3)

[..]

 I think 440BX doesn't have most of the BARs mentioned above either
 (which we can easily fix). The more interesting question is why the
 PMBASE is 0x0 above.


I had no idea if i should put warnings about those BARs and datasheet
didn't mention anything like that but maybe i overlooked something.

 Here's the respective lspci:

 00:04.0 ISA bridge [0601]: Intel Corporation 82371AB/EB/MB PIIX4 ISA
 [8086:7110] (rev 02)
 Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr-
 Stepping- SERR- FastB2B- DisINTx-
 Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort-
 TAbort- MAbort- SERR- PERR- INTx-
 Latency: 0
 00: 86 80 10 71 0f 00 80 02 02 00 01 06 00 00 80 00
 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 40: 00 00 00 00 00 00 00 00 00 00 00 00 09 00 20 00
[...]

 So 0x40 (PMBASE) is indeed simply 0x, no idea if that's supposed to be
 the case.

On all my machines that have 440BX or 440LX and are operational that i
can run inteltool there i have same 0x PM base regardless i have
enabled power management in bios or not. And indeed i think it is odd.
One idea that came to my mind was writing very short and dumb module
that will claim some IO space and set pmbase register to point to that
space and check again, but didn't found yet time to put pieces
together.

Maciej

-- 
Maciej Pijanka, PLD-Linux Developer, Reg Linux user #133161
POE/Perl user

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


Re: [coreboot] Inteltool patch v4

2009-09-30 Thread Stefan Reinauer
Maciej Pijanka wrote:
 On 30/09/2009, Uwe Hermann u...@hermann-uwe.de wrote:
   
 On Sun, Sep 27, 2009 at 12:01:12AM +0200, Maciej Pijanka wrote:
 
 This is last version, includes detecting southbridge using
 device_class not device location on bus as Stefan suggested, also will
 tell if find more than one device with device_class 0x601 and notify
 which one it used (it will be first but may depend on order of devices
 inside structures returned by libpci).
   
 Thanks, committed as r4694 with some smaller changes. May need some more
 work though.


 Here's the output from one of my 440BX boards, which looks a bit strange:

 Intel CPU: Family 6, Model 8
 Intel Northbridge: 8086:7190 (82443BX)
 Intel Southbridge: 8086:7110 (82371AB/EB/MB)

 
 [..]
   
 = PMBASE 

 PMBASE = 0x (IO)

 On all my machines that have 440BX or 440LX and are operational that i
 can run inteltool there i have same 0x PM base regardless i have
 enabled power management in bios or not. And indeed i think it is odd.
 One idea that came to my mind was writing very short and dumb module
 that will claim some IO space and set pmbase register to point to that
 space and check again, but didn't found yet time to put pieces
 together.
   

On that southbridge, PMBASE is not in the LPC/ISA bridge (FN0) but in
the PM device (FN3)

-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
  Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: i...@coresystems.de  • http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866


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

Re: [coreboot] SeaBIOS+libpayload?

2009-09-30 Thread Peter Stuge
ron minnich wrote:
 If libpayload can't fit seabios' needs then it needs to change so
 that it can.

Not so fast.


 It's not much of a library if seabios can't use it IMHO.

I disagree. libpayload is not optimized for a BIOS environment, and I
think that's a really good thing. But it does mean it's not a great
fit for SeaBIOS.

If libpayload becomes tailored to a single user, it's not much of a
library either.


 This may boil down to making the build process more flexible. I
 don't know.

That can be a good thing, but I don't know how helpful it is.


For memory allocation, maybe a variation on malloc in libpayload
could take a malloc context struct parameter which describes where
the area is located and has some callback hooks for when allocations
change so that a memory map can be updated if needed.

In the common case there will only be one malloc context. In SeaBIOS
Kevin said there are six. In FILO the area resize hooks are NULL and
never called, in SeaBIOS they can update the memory map.


Because SeaBIOS is a little special (nice way of saying partly 16bit)
it has special requirements. I think it would be very nice to reuse
source from libpayload, as well as open up the libpayload build
process if neccessary, if it is possible.

But I agree with Kevin that it needs to be worthwhile to actually go
and make changes both in SeaBIOS and in libpayload.

I also agree with Kevin that it doesn't really look like it is..


//Peter

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


Re: [coreboot] SeaBIOS and USB UHCI keyboard support

2009-09-30 Thread Peter Stuge
Kevin O'Connor wrote:
 The support in SeaBIOS is currently 1029 lines of code - it is a
 direct, no nonsense, just make it work implementation.

I think that is wonderful! Good job!


 The next thing I am planning to look at is basic ohci keyboard
 support, and then fleshing out the current keyboard support (eg,
 auto-repeat, keyboard leds).

The USB option ROM is still a tricky point. How to make it co-exist
with USB support in SeaBIOS?

If the option ROM works out well, maybe it could instead offer the
keyboard services?


//Peter

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


[coreboot] [PATCH]Compress coreboot_ram also if no payload is compressed

2009-09-30 Thread Patrick Georgi
Hi,

attached patch makes coreboot_ram compression depending on
CONFIG_COMPRESS again, instead of looking at the compression
configuration for the payload

Build-tested (some coreboot_ram files were too large without compression
for a full build, and now fit again)

Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
Index: util/newconfig/config.g
===
--- util/newconfig/config.g	(Revision 4695)
+++ util/newconfig/config.g	(Arbeitskopie)
@@ -2278,6 +2278,7 @@
 	file.write(ifeq \$(CONFIG_CBFS)\ \1\\n\n)
 	file.write(CBFS_COMPRESS_FLAG:=\n)
 	file.write(ifeq \$(CONFIG_COMPRESSED_PAYLOAD_LZMA)\ \1\\nCBFS_COMPRESS_FLAG:=l\nendif\n\n)
+	file.write(ifeq \$(CONFIG_COMPRESS)\ \1\\nCBFS_STAGE_COMPRESS_FLAG:=l\nendif\n\n)
 
 	for i in buildroms:
 		file.write(%s: cbfstool %(i.name))
@@ -2303,7 +2304,7 @@
 			if (j != failover) and (rommapping[j] != /dev/null):
 file.write(\t./cbfs/cbfstool %s add-payload %s %s/payload $(CBFS_COMPRESS_FLAG)\n % (i.name, rommapping[j], j,))
 			if (j != failover):
-file.write(\t./cbfs/cbfstool %s add-stage %s/coreboot_ram %s/coreboot_ram $(CBFS_COMPRESS_FLAG)\n % (i.name, j, j,))
+file.write(\t./cbfs/cbfstool %s add-stage %s/coreboot_ram %s/coreboot_ram $(CBFS_STAGE_COMPRESS_FLAG)\n % (i.name, j, j,))
 			file.write(\tif [ -f %s/coreboot_apc ]; then ./cbfs/cbfstool %s add-stage %s/coreboot_apc %s/coreboot_apc $(CBFS_COMPRESS_FLAG); fi\n % (j, i.name, j, j,))
 		file.write(\t./cbfs/cbfstool %s print\n % i.name)
 		file.write(\n)
-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Re: [coreboot] [PATCH]Compress coreboot_ram also if no payload is compressed

2009-09-30 Thread Myles Watson
On Wed, Sep 30, 2009 at 1:41 PM, Patrick Georgi patr...@georgi-clan.de wrote:
 Hi,

 attached patch makes coreboot_ram compression depending on
 CONFIG_COMPRESS again, instead of looking at the compression
 configuration for the payload
Makes sense.

 Build-tested (some coreboot_ram files were too large without compression
 for a full build, and now fit again)

 Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
Acked-by: Myles Watson myle...@gmail.com

Thanks,
Myles

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


[coreboot] [v2] r4696 - trunk/coreboot-v2/util/newconfig

2009-09-30 Thread svn
Author: oxygene
Date: 2009-09-30 21:54:15 +0200 (Wed, 30 Sep 2009)
New Revision: 4696

Modified:
   trunk/coreboot-v2/util/newconfig/config.g
Log:
Compress stage if CONFIG_COMPRESS is activated, instead of
relying on payload compression configuration (disabled when
using abuild without payload, for example)

Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
Acked-by: Myles Watson myle...@gmail.com


Modified: trunk/coreboot-v2/util/newconfig/config.g
===
--- trunk/coreboot-v2/util/newconfig/config.g   2009-09-30 17:14:24 UTC (rev 
4695)
+++ trunk/coreboot-v2/util/newconfig/config.g   2009-09-30 19:54:15 UTC (rev 
4696)
@@ -2277,7 +2277,9 @@
 
file.write(ifeq \$(CONFIG_CBFS)\ \1\\n\n)
file.write(CBFS_COMPRESS_FLAG:=\n)
+   file.write(CBFS_STAGE_COMPRESS_FLAG:=\n)
file.write(ifeq \$(CONFIG_COMPRESSED_PAYLOAD_LZMA)\ 
\1\\nCBFS_COMPRESS_FLAG:=l\nendif\n\n)
+   file.write(ifeq \$(CONFIG_COMPRESS)\ 
\1\\nCBFS_STAGE_COMPRESS_FLAG:=l\nendif\n\n)
 
for i in buildroms:
file.write(%s: cbfstool %(i.name))
@@ -2303,7 +2305,7 @@
if (j != failover) and (rommapping[j] != /dev/null):
file.write(\t./cbfs/cbfstool %s add-payload %s 
%s/payload $(CBFS_COMPRESS_FLAG)\n % (i.name, rommapping[j], j,))
if (j != failover):
-   file.write(\t./cbfs/cbfstool %s add-stage 
%s/coreboot_ram %s/coreboot_ram $(CBFS_COMPRESS_FLAG)\n % (i.name, j, j,))
+   file.write(\t./cbfs/cbfstool %s add-stage 
%s/coreboot_ram %s/coreboot_ram $(CBFS_STAGE_COMPRESS_FLAG)\n % (i.name, j, 
j,))
file.write(\tif [ -f %s/coreboot_apc ]; then 
./cbfs/cbfstool %s add-stage %s/coreboot_apc %s/coreboot_apc 
$(CBFS_COMPRESS_FLAG); fi\n % (j, i.name, j, j,))
file.write(\t./cbfs/cbfstool %s print\n % i.name)
file.write(\n)


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


[coreboot] build service results for r4696

2009-09-30 Thread coreboot information
Dear coreboot readers!

This is the automatic build system of coreboot.

The developer oxygene checked in revision 4696 to
the coreboot repository. This caused the following 
changes:

Change Log:
Compress stage if CONFIG_COMPRESS is activated, instead of
relying on payload compression configuration (disabled when
using abuild without payload, for example)

Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
Acked-by: Myles Watson myle...@gmail.com


Build Log:
Compilation of embeddedplanet:ep405pc is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4696device=ep405pcvendor=embeddedplanetnum=2
Compilation of motorola:sandpointx3_altimus_mpc7410 is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4696device=sandpointx3_altimus_mpc7410vendor=motorolanum=2
Compilation of totalimpact:briq is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4696device=briqvendor=totalimpactnum=2


If something broke during this checkin please be a pain 
in oxygene's neck until the issue is fixed.

If this issue is not fixed within 24h the revision should 
be backed out.

   Best regards,
 coreboot automatic build system



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


Re: [coreboot] [PATCH]Compress coreboot_ram also if no payload is compressed

2009-09-30 Thread Peter Stuge
Myles Watson wrote:
  attached patch makes coreboot_ram compression depending on
  CONFIG_COMPRESS again, instead of looking at the compression
  configuration for the payload
 
 Makes sense.

Is the uncompressor always available?


//Peter

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


Re: [coreboot] [PATCH]Compress coreboot_ram also if no payload is compressed

2009-09-30 Thread Patrick Georgi
Am Mittwoch, den 30.09.2009, 22:23 +0200 schrieb Peter Stuge:
 Myles Watson wrote:
   attached patch makes coreboot_ram compression depending on
   CONFIG_COMPRESS again, instead of looking at the compression
   configuration for the payload
  
  Makes sense.
 
 Is the uncompressor always available?
Yes, and even if not, that's what's CONFIG_COMPRESS is for, right?
(otherwise: what would be the point of that variable?)


Patrick


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


Re: [coreboot] [PATCH]Fix hopefully last stopper bug for CBFS. Plan to get rid of non-CBFS

2009-09-30 Thread Patrick Georgi
Am Mittwoch, den 30.09.2009, 18:16 +0200 schrieb Patrick Georgi:
 Pending the review of the prefix/suffix calculations (by me and
 hopefully others), this is
Review done, one bug found and hunted down. See new patch

It's
 Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
and considered ready for commit by me.


Regards,
Patrick
Index: src/boot/selfboot.c
===
--- src/boot/selfboot.c	(Revision 4695)
+++ src/boot/selfboot.c	(Arbeitskopie)
@@ -423,14 +423,13 @@
 {
 	struct segment *ptr;
 	
-	unsigned long required_bounce_size = lb_end - lb_start;
+	unsigned long bounce_high = lb_end;
 	for(ptr = head-next; ptr != head; ptr = ptr-next) {
 		if (!overlaps_coreboot(ptr)) continue;
-		unsigned long bounce = ptr-s_dstaddr + ptr-s_memsz - lb_start;
-		if (bounce  required_bounce_size)
-			required_bounce_size = bounce;
+		if (ptr-s_dstaddr + ptr-s_memsz  bounce_high)
+			bounce_high = ptr-s_dstaddr + ptr-s_memsz;
 	}
-	get_bounce_buffer(mem, required_bounce_size);
+	get_bounce_buffer(mem, bounce_high - lb_start);
 	if (!bounce_buffer) {
 		printk_err(Could not find a bounce buffer...\n);
 		return 0;
@@ -502,6 +501,24 @@
 /* Zero the extra bytes */
 memset(middle, 0, end - middle);
 			}
+			/* Copy the data that's outside the area that shadows coreboot_ram */
+			printk_debug(dest %lx, end %lx, bouncebuffer %lx\n, dest, end, bounce_buffer);
+			if ((unsigned long)end  bounce_buffer) {
+if ((unsigned long)dest  bounce_buffer) {
+	unsigned long from = dest;
+	unsigned long to = lb_start-(bounce_buffer-(unsigned long)dest);
+	unsigned long amount = bounce_buffer-(unsigned long)dest;
+	printk_debug(move prefix around: from %lx, to %lx, amount: %lx\n, from, to, amount);
+	memcpy(to, from, amount);
+}
+if ((unsigned long)end  bounce_buffer + (lb_end - lb_start)) {
+	unsigned long from = bounce_buffer + (lb_end - lb_start);
+	unsigned long to = lb_end;
+	unsigned long amount = end - from;
+	printk_debug(move suffix around: from %lx, to %lx, amount: %lx\n, from, to, amount);
+	memcpy(to, from, amount);
+}
+			}
 		}
 	}
 	return 1;
-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Re: [coreboot] [PATCH]Compress coreboot_ram also if no payload is compressed

2009-09-30 Thread Peter Stuge
Patrick Georgi wrote:
attached patch makes coreboot_ram compression depending on
CONFIG_COMPRESS again, instead of looking at the compression
configuration for the payload
   
   Makes sense.
  
  Is the uncompressor always available?
 
 Yes, and even if not, that's what's CONFIG_COMPRESS is for, right?

Completely right. Great!


//Peter

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Peter Stuge
Patrick Georgi wrote:
 attached patch removes:
 - CONFIG_CBFS
 - anything that's conditional on CONFIG_CBFS == 0
 - files that were only included for CONFIG_CBFS == 0
 In particular:
 - elfboot

Ok.


 - stream boot code

Wasn't this used for accessing large flash on m57sli?

And does it have anything to do with the serial transfer stuff?
(Xmodem)

 - mini-filo and filesystems

Cleaning out the attic - great!


 I consider the tree ready for this as there are no known bugs
 anymore (except the one fixed by that other patch). Speak up if you
 disagree

I agree! :)


//Peter

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Stefan Reinauer



On Sep 30, 2009, at 22:56, Peter Stuge pe...@stuge.se wrote:


Patrick Georgi wrote:

attached patch removes:
- CONFIG_CBFS
- anything that's conditional on CONFIG_CBFS == 0
- files that were only included for CONFIG_CBFS == 0
In particular:
- elfboot


Ok.



- stream boot code


Wasn't this used for accessing large flash on m57sli?


Yes.

Anyone with such a setup willing to fix CBFS for that?




And does it have anything to do with the serial transfer stuff?
(Xmodem)


Not possible anymore with CBFS.. Maybe we should make a minipayload  
for the functionality?





//Peter



Stefan



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



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


Re: [coreboot] [PATCH]Fix hopefully last stopper bug for CBFS. Plan to get rid of non-CBFS

2009-09-30 Thread ron minnich
Acked-by: Ronald G. Minnich rminn...@gmail.com

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


[coreboot] [v2] r4697 - trunk/coreboot-v2/src/boot

2009-09-30 Thread svn
Author: oxygene
Date: 2009-09-30 23:36:38 +0200 (Wed, 30 Sep 2009)
New Revision: 4697

Modified:
   trunk/coreboot-v2/src/boot/selfboot.c
Log:
Fix payload loading in various corner cases when working
with the bounce buffer.
In particular, the not-so-rare configuration of AMD boards with RAMBASE at
2MB shouldn't crash anymore for payloads that take  1MB in total

Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
Acked-by: Ronald G. Minnich rminn...@gmail.com


Modified: trunk/coreboot-v2/src/boot/selfboot.c
===
--- trunk/coreboot-v2/src/boot/selfboot.c   2009-09-30 19:54:15 UTC (rev 
4696)
+++ trunk/coreboot-v2/src/boot/selfboot.c   2009-09-30 21:36:38 UTC (rev 
4697)
@@ -423,14 +423,13 @@
 {
struct segment *ptr;

-   unsigned long required_bounce_size = lb_end - lb_start;
+   unsigned long bounce_high = lb_end;
for(ptr = head-next; ptr != head; ptr = ptr-next) {
if (!overlaps_coreboot(ptr)) continue;
-   unsigned long bounce = ptr-s_dstaddr + ptr-s_memsz - lb_start;
-   if (bounce  required_bounce_size)
-   required_bounce_size = bounce;
+   if (ptr-s_dstaddr + ptr-s_memsz  bounce_high)
+   bounce_high = ptr-s_dstaddr + ptr-s_memsz;
}
-   get_bounce_buffer(mem, required_bounce_size);
+   get_bounce_buffer(mem, bounce_high - lb_start);
if (!bounce_buffer) {
printk_err(Could not find a bounce buffer...\n);
return 0;
@@ -502,6 +501,24 @@
/* Zero the extra bytes */
memset(middle, 0, end - middle);
}
+   /* Copy the data that's outside the area that shadows 
coreboot_ram */
+   printk_debug(dest %lx, end %lx, bouncebuffer %lx\n, 
dest, end, bounce_buffer);
+   if ((unsigned long)end  bounce_buffer) {
+   if ((unsigned long)dest  bounce_buffer) {
+   unsigned long from = dest;
+   unsigned long to = 
lb_start-(bounce_buffer-(unsigned long)dest);
+   unsigned long amount = 
bounce_buffer-(unsigned long)dest;
+   printk_debug(move prefix around: from 
%lx, to %lx, amount: %lx\n, from, to, amount);
+   memcpy(to, from, amount);
+   }
+   if ((unsigned long)end  bounce_buffer + 
(lb_end - lb_start)) {
+   unsigned long from = bounce_buffer + 
(lb_end - lb_start);
+   unsigned long to = lb_end;
+   unsigned long amount = end - from;
+   printk_debug(move suffix around: from 
%lx, to %lx, amount: %lx\n, from, to, amount);
+   memcpy(to, from, amount);
+   }
+   }
}
}
return 1;


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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Myles Watson

Index: src/devices/pci_rom.c
===
--- src/devices/pci_rom.c  (Revision 4696)
+++ src/devices/pci_rom.c  (Arbeitskopie)
@@ -35,17 +35,15 @@
   struct rom_header *rom_header;
   struct pci_data *rom_data;

   if (dev-on_mainboard) {
   /* this is here as a legacy path. We hope it goes away soon.
Users should not have to 

The legacy path is the non-CBFS path and should disappear

-#if CONFIG_CBFS == 1
-# if CONFIG_USE_FALLBACK_IMAGE == 1
+#if CONFIG_USE_FALLBACK_IMAGE == 1
 str_coreboot_ram_name:.string fallback/coreboot_ram
-# else
+#else
 str_coreboot_ram_name:.string normal/coreboot_ram
-# endif
 #endif

Since normal and failover aren't supported with CBFS, can they disappear
too?

 I consider the tree ready for this as there are no known bugs anymore
 (except the one fixed by that other patch). Speak up if you disagree (I
 intend to wait with committing this patch until saturday evening CEST)
The sooner the better.  Non-CBFS is already bit rotting.

 Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
Acked-by: Myles Watson myle...@gmail.com

Thanks,
Myles


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


[coreboot] build service results for r4697

2009-09-30 Thread coreboot information
Dear coreboot readers!

This is the automatic build system of coreboot.

The developer oxygene checked in revision 4697 to
the coreboot repository. This caused the following 
changes:

Change Log:
Fix payload loading in various corner cases when working
with the bounce buffer.
In particular, the not-so-rare configuration of AMD boards with RAMBASE at
2MB shouldn't crash anymore for payloads that take  1MB in total

Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
Acked-by: Ronald G. Minnich rminn...@gmail.com


Build Log:
Compilation of embeddedplanet:ep405pc is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4697device=ep405pcvendor=embeddedplanetnum=2
Compilation of motorola:sandpointx3_altimus_mpc7410 is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4697device=sandpointx3_altimus_mpc7410vendor=motorolanum=2
Compilation of totalimpact:briq is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4697device=briqvendor=totalimpactnum=2


If something broke during this checkin please be a pain 
in oxygene's neck until the issue is fixed.

If this issue is not fixed within 24h the revision should 
be backed out.

   Best regards,
 coreboot automatic build system



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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Carl-Daniel Hailfinger
On 30.09.2009 23:08, Stefan Reinauer wrote:
 On Sep 30, 2009, at 22:56, Peter Stuge pe...@stuge.se wrote:
 Patrick Georgi wrote:
 attached patch removes:
 - CONFIG_CBFS
 - stream boot code

 Wasn't this used for accessing large flash on m57sli?

 Yes.

 Anyone with such a setup willing to fix CBFS for that?

I don't have such a setup, but I remember the discussion about
supporting this for LAR in v3 and back then it was the consensus that
such boards would simply not be ported to v3. Given that v2 now has
CBFS, we need to either abandon large flash on M57SLI and similar boards
or fix CBFS somehow.

The horrible way out is to use accessor functions for every flash access
made by CBFS code. It also means you get to write your own streaming
version of memcmp, strstr, strlen etc.
The easy way out is to simply copy all of flash to RAM, then walk the
copy in RAM. It's a bit inefficient because you have to copy the whole
flash chip to RAM, but the code stays readable. Of course RAMinit and
bootblock have to be in the always-mapped region of the flash chip.


 And does it have anything to do with the serial transfer stuff?
 (Xmodem)

 Not possible anymore with CBFS.. Maybe we should make a minipayload
 for the functionality?

Interfacing the minipayload is probably going to be more pain than
simply linking in the xmodem code and calling it if all other options fail.

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/


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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread ron minnich
can anyone even buy an m57sli any more? Was it an unfortunate mistake
-- never repeated -- that FLASH was not directly accessible? If the
m57sli is an exception and we'll never see this problem again, I say
we drop it. Copying all of flash into ram sounds bad. If we have to
cope with this problem in future, maybe we're stuck with accessor
functions.

But FLASH is so slow I doubt that the cost of an accessor function is
going to kill us. Function calls run in nanoseconds, and if SPI really
is only 40 MB/sec., then that's 25 ns/byte.

ron

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Peter Stuge
ron minnich wrote:
 can anyone even buy an m57sli any more?

No, they are out of production and out of stock really everywhere.


 Was it an unfortunate mistake -- never repeated -- that FLASH was
 not directly accessible?

In the long term (a few years) the problem will go away as SPI
masters move into every chipset, but as long as boards are using
extra components between the CPU and the flash chip, there can be
issues like this.


 If the m57sli is an exception and we'll never see this problem
 again, I say we drop it. Copying all of flash into ram sounds bad.

It would be unfortunate to drop support for one of the most hack
friendly boards that we've seen in a while.


 But FLASH is so slow I doubt that the cost of an accessor function
 is going to kill us. Function calls run in nanoseconds, and if SPI
 really is only 40 MB/sec., then that's 25 ns/byte.

40 Mbyte/s seems way optimistic to me. In the ideal case it's
possible to stream all of the data out of the chip without overhead,
and even then it's CLK/8 Mbyte/s. I think the fastest CLK I've seen
recently is 90 MHz but the superio SPI masters only run at 16 MHz.
(=2Mbyte/s assuming no overhead, which is far from the norm, it's
common to have several bytes overhead for each 256 bytes of data)

Chipsets could run faster, but not all flash chips can run super fast
either. 25-33 somewhere would be the safe number. Max CLK seems to
increase with size and each flash chip product generation though.


//Peter

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread ron minnich
On Wed, Sep 30, 2009 at 3:43 PM, Peter Stuge pe...@stuge.se wrote:

 40 Mbyte/s seems way optimistic to me

Yeah, I was going worst-case scenario (i.e. SPI is super-fast) and
even in that case
accessor functions would not hurt much if at all.

So if we absolutely *have* to do some sort of function interface,
well, it won't exactly kill us.

ron

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Stefan Reinauer
Myles Watson wrote:
 -#if CONFIG_CBFS == 1
 -# if CONFIG_USE_FALLBACK_IMAGE == 1
 +#if CONFIG_USE_FALLBACK_IMAGE == 1
 str_coreboot_ram_name:   .string fallback/coreboot_ram
 -# else
 +#else
 str_coreboot_ram_name:   .string normal/coreboot_ram
 -# endif
 #endif
 

 Since normal and failover aren't supported with CBFS, can they disappear
 too?
   

No, we should get that back to life with CBFS asap.. it's one of
coreboot's key features..

Stefan



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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Myles Watson
  Since normal and failover aren't supported with CBFS, can they disappear
  too?
 
 
 No, we should get that back to life with CBFS asap.. it's one of
 coreboot's key features..

Good to know.  It seemed like it was being slowly removed.

I'm interested to see how it integrates with Kconfig.  It's not obvious to
me how it will work.

Thanks,
Myles


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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread ron minnich
Yes, I'm sorry, we keep board support, but stop worrying about huge
SPI anbd weird accessing of it.

As for fallback: we really need to bring it back at some point. I'm
speaking as someone whose life was saved because I did not destroy a
1024-node cluster with a bad bios image.

CBFS will give us a normal/fallback setup that people can understand.

ron

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Carl-Daniel Hailfinger
On 01.10.2009 01:07, ron minnich wrote:
 Yes, I'm sorry, we keep board support, but stop worrying about huge
 SPI anbd weird accessing of it.

 As for fallback: we really need to bring it back at some point. I'm
 speaking as someone whose life was saved because I did not destroy a
 1024-node cluster with a bad bios image.

 CBFS will give us a normal/fallback setup that people can understand.
   

Could we simply reuse arch/x86/stage1.c from v3 and run a search+replace
lar-cbfs on that file? As a nice side benefit, we get global variables
and similar stuff.

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/


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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Kevin O'Connor
On Thu, Oct 01, 2009 at 12:51:17AM +0200, Stefan Reinauer wrote:
 Myles Watson wrote:
  Since normal and failover aren't supported with CBFS, can they disappear
  too?
 
 No, we should get that back to life with CBFS asap.. it's one of
 coreboot's key features..

What's the use case for normal/failover?  I always envisioned it as a
software implementation of a bios savior.  If so, building in a
serialice shell might be a simpler solution.

Am I missing an important use-case?

-Kevin

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread ron minnich
On Wed, Sep 30, 2009 at 4:23 PM, Kevin O'Connor ke...@koconnor.net wrote:

 What's the use case for normal/failover?  I always envisioned it as a
 software implementation of a bios savior.  If so, building in a
 serialice shell might be a simpler solution.

 Am I missing an important use-case?

I'm flashing 1024 machines. power fails midway through. bad.

I flash a new bios that has worked in test. It fails on 10% of the
machines, in ways that could not be predicted because 10% of my
machines
have a manufacturing defect. This is what happened to me. Fallback saved me.

There are lots of use cases. It's why many vendors ship with a fallback.

ron

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread ron minnich
On Wed, Sep 30, 2009 at 4:16 PM, Carl-Daniel Hailfinger
c-d.hailfinger.devel.2...@gmx.net wrote:

 Could we simply reuse arch/x86/stage1.c from v3 and run a search+replace
 lar-cbfs on that file? As a nice side benefit, we get global variables
 and similar stuff.

I've looked into doing just that. It's not as simple as it sounds. I'd
rather not open that can of worms just yet.

ron

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Carl-Daniel Hailfinger
On 01.10.2009 00:32, ron minnich wrote:
 can anyone even buy an m57sli any more? Was it an unfortunate mistake
 -- never repeated -- that FLASH was not directly accessible? If the
 m57sli is an exception and we'll never see this problem again, I say
 we drop it. Copying all of flash into ram sounds bad. If we have to
 cope with this problem in future, maybe we're stuck with accessor
 functions.

 But FLASH is so slow I doubt that the cost of an accessor function is
 going to kill us. Function calls run in nanoseconds, and if SPI really
 is only 40 MB/sec., then that's 25 ns/byte.
   

The accessor function has the disadvantage of ruining readability of the
code, and it also has to perform these extremely slow accesses every
time someone walks the CBFS image.

AFAIK the M57SLI worst case read performance is ~400 kB/s, and the best
case is ~855 kB/s. Each one-byte read access to flash needs at least 2.5
us (microseconds), and a three-byte read access needs at least 3.5 us.
If your flash chip can handle 33 MHz with the normal read command
(instead of the fast read command), flash access latency will be cut in
half and data rate will be doubled.

While using accessor functions look somewhat beneficial from a
performance standpoint, using accessor functions to run the lzma
decompressor is way slower (I think by at least a factor of 4) than
copying the uncompressed code to RAMand decompressing it there.


My suggestion would be to drop support for these large flash chips on
M57SLI for now and use the copy-to-RAM mechanism once someone complains.
I think Harald Gutmann has such a board with big flash.

Regads,
Carl-Daniel

-- 
http://www.hailfinger.org/


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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Carl-Daniel Hailfinger
On 01.10.2009 01:27, ron minnich wrote:
 On Wed, Sep 30, 2009 at 4:16 PM, Carl-Daniel Hailfinger
 c-d.hailfinger.devel.2...@gmx.net wrote:
   
 Could we simply reuse arch/x86/stage1.c from v3 and run a search+replace
 lar-cbfs on that file? As a nice side benefit, we get global variables
 and similar stuff.
 

 I've looked into doing just that. It's not as simple as it sounds.
   

I'm surprised. My stage1 SMP patch was never merged IIRC, so stack
trashing is expected on any non-UP v3 boot. But other than that, v3
stage1 code worked pretty well. The ELFboot code in there should be
dropped (was default off anyway) and then we have a pretty readable startup.

 I'd rather not open that can of worms just yet.
   

If you're talking about doing too many things at once, I fully agree.
Once the tree is CBFS-only and once Kconfig works for all actively
developed boards, we will have a mostly stable tree again and it would
be cool to look at importing stage1 (and possibly stage0) from v3.

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/


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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Peter Stuge
ron minnich wrote:
 Yeah, I was going worst-case scenario (i.e. SPI is super-fast) and
 even in that case accessor functions would not hurt much if at all.

Ah!


 So if we absolutely *have* to do some sort of function interface,
 well, it won't exactly kill us.

I think it would be great to not have to deal with that in the common
case, but I think it can be useful for some boards - ie. if there is
would I think it would be best to make it optional.


//Peter

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Stefan Reinauer
Carl-Daniel Hailfinger wrote:
 On 01.10.2009 01:07, ron minnich wrote:
   
 Yes, I'm sorry, we keep board support, but stop worrying about huge
 SPI anbd weird accessing of it.

 As for fallback: we really need to bring it back at some point. I'm
 speaking as someone whose life was saved because I did not destroy a
 1024-node cluster with a bad bios image.

 CBFS will give us a normal/fallback setup that people can understand.
   
 

 Could we simply reuse arch/x86/stage1.c from v3 and run a search+replace
 lar-cbfs on that file? As a nice side benefit, we get global variables
 and similar stuff.
   

No search and replace blind copy of non-fitting code please. The least
we can use in v2 right now is a code quality drop to v3 level ..

One step after the other..

It's not enough to have one board running. If you have a solution to
safely bring over 200 boards, please do it!


Stefan


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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Stefan Reinauer
Kevin O'Connor wrote:
 On Thu, Oct 01, 2009 at 12:51:17AM +0200, Stefan Reinauer wrote:
   
 Myles Watson wrote:
 
 Since normal and failover aren't supported with CBFS, can they disappear
 too?
   
 No, we should get that back to life with CBFS asap.. it's one of
 coreboot's key features..
 

 What's the use case for normal/failover?  I always envisioned it as a
 software implementation of a bios savior.  If so, building in a
 serialice shell might be a simpler solution.

   
SerialICE is more or less a development tool.. it won't help you with
misflashed units in the field.

Safe updates and safe recovery is the key.

Details are quite open though, the fallback image could carry some kind
of shell, while the real one goes SeaBIOS; depending on how people
want to boot, and how they want to recover.

Stefan


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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Stefan Reinauer
Patrick Georgi wrote:
 Hi,

 attached patch removes:
 - CONFIG_CBFS
 - anything that's conditional on CONFIG_CBFS == 0
 - files that were only included for CONFIG_CBFS == 0
 In particular:
 - elfboot
 - stream boot code
 - mini-filo and filesystems (depends on stream boot code)

 After this patch, there is no way to build an image that is not using
 CBFS anymore.

 I might not have caught everything, but an abuild run over everything
 built fine, and there is no mention of CBFS in the tree anymore that
 doesn't belong there.
 Kconfig is almost not affected, as it's CBFS-only, anyway. I only had to
 remove the CBFS configuration variable that defaulted to true.

 I consider the tree ready for this as there are no known bugs anymore
 (except the one fixed by that other patch). Speak up if you disagree (I
 intend to wait with committing this patch until saturday evening CEST)

 Signed-off-by: Patrick Georgi patrick.geo...@coresystems.de
   
Acked-by: Stefan Reinauer ste...@coresystems.de



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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Kevin O'Connor
On Wed, Sep 30, 2009 at 04:26:44PM -0700, ron minnich wrote:
 On Wed, Sep 30, 2009 at 4:23 PM, Kevin O'Connor ke...@koconnor.net wrote:
  What's the use case for normal/failover?  I always envisioned it as a
  software implementation of a bios savior.  If so, building in a
  serialice shell might be a simpler solution.
 
  Am I missing an important use-case?
 
 I'm flashing 1024 machines. power fails midway through. bad.

Ouch.  So, I guess we're saying it's a software bios savior that
doesn't require one to go hitting 1000 switches?

As an aside, to protect against a power failure, flashrom is going to
need to know that it shouldn't reflash the fallback parts of the
image.

 I flash a new bios that has worked in test. It fails on 10% of the
 machines, in ways that could not be predicted because 10% of my
 machines
 have a manufacturing defect. This is what happened to me. Fallback saved me.

Ouch - I guess hooking up a serialice console to 100 machines isn't an
appealing alternative.

Just to throw my 2cents in -- the coreboot fallback/normal thing has
been thoroughly confusing to me.  If this is being re-implemented it
would be nice to see this done in a way that makes sense to users.

One suggestion I have - assuming my bios savior analogy is correct -
would be to truly break up the fallback and normal parts.  A user that
wants fallback/normal should download two separate copies of
coreboot-v2 into two separate directories, and then run make config ;
make in both separate directories.  The normal config would take
the directory location of the fallback cbfs image, copy it into its
local directory, and then just add the cbfs files it needs.

In particular, I'd like to be able to go into my normal directory
and run svn up, make, and then flashrom - and be fairly
confident that I didn't just blow up my image.  As near as I can tell,
the current fallback/normal thing recompiles both fallback and normal
images, and there's a pretty good chance that both images are hosed
when code changes are made.  (Of course, as I said before,
fallback/normal has me perplexed, so maybe I just missed the boat.)

-Kevin

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Peter Stuge
Stefan Reinauer wrote:
 Safe updates and safe recovery is the key.
 
 Details are quite open though, the fallback image could carry some
 kind of shell,

Maybe this touches on the panic room.


 depending on how people want to boot, and how they want to recover.

Yeah, this is important.

A panic room should not be too ambitious, or it might not be quite
as reliable as we would like. If very simple, it may not be a good
choice also for fallback.


//Peter

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


[coreboot] [v2] r4698 - trunk/coreboot-v2/src/mainboard/dell/s1850

2009-09-30 Thread svn
Author: rminnich
Date: 2009-10-01 02:02:28 +0200 (Thu, 01 Oct 2009)
New Revision: 4698

Modified:
   trunk/coreboot-v2/src/mainboard/dell/s1850/auto.c
Log:
This is now set up more like the real hardware likes it. 
Some of this trickery was determined with serialice. 
There are several lovely undocumented features to the chipset. 

Signed-off-by: Ronald G. Minnich rminn...@gmail.com
Acked-by: Ronald G. Minnich rminn...@gmail.com


Modified: trunk/coreboot-v2/src/mainboard/dell/s1850/auto.c
===
--- trunk/coreboot-v2/src/mainboard/dell/s1850/auto.c   2009-09-30 21:36:38 UTC 
(rev 4697)
+++ trunk/coreboot-v2/src/mainboard/dell/s1850/auto.c   2009-10-01 00:02:28 UTC 
(rev 4698)
@@ -173,8 +173,13 @@
 }
 
 /* end IPMI garbage */
+
 static void main(unsigned long bist)
 {
+   u8 b;
+   u16 w;
+   u32 l;
+   int do_reset;
/*
 * 
 * 
@@ -191,6 +196,80 @@
}
};
 
+   /* using SerialICE, we've seen this basic reset sequence on the dell. 
+* we don't understand it as it uses undocumented registers, but
+* we're going to clone it. 
+*/
+   /* enable a hidden device. */
+   b = pci_read_config8(PCI_DEV(0, 0, 0), 0xf4);
+   b |= 0x8;
+   pci_write_config8(PCI_DEV(0, 0, 0), 0xf4, b);
+
+   /* read-write lock in CMOS on LPC bridge on ICH5 */
+   pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xd8, 4);
+
+   /* operate on undocumented device */
+   l = pci_read_config32(PCI_DEV(0, 0, 2), 0xa4);
+   l |= 0x1000;
+   pci_write_config32(PCI_DEV(0, 0, 2), 0xa4, l);
+
+   l = pci_read_config32(PCI_DEV(0, 0, 2), 0x9c);
+   l |= 0x8000;
+   pci_write_config32(PCI_DEV(0, 0, 2), 0x9c, l);
+
+   /* disable undocumented device */
+   b = pci_read_config8(PCI_DEV(0, 0, 0), 0xf4);
+   b = ~0x8;
+   pci_write_config8(PCI_DEV(0, 0, 0), 0xf4, b);
+   
+   /* set up LPC bridge bits, some of which reply on undocumented
+* registers
+*/
+   
+   b= pci_read_config8(PCI_DEV(0, 0x1f, 0), 0xd8);
+   b |= 4;
+   pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xd8, b);
+
+   b= pci_read_config8(PCI_DEV(0, 0x1f, 0), 0xd4);
+   b |= 2;
+   pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xd4, b);
+
+   /* ACPI base address */
+   pci_write_config16(PCI_DEV(0, 0x1f, 0), 0x40, 0x800);
+
+   /* Enable specific ACPI features */
+   b= pci_read_config8(PCI_DEV(0, 0x1f, 0), 0x44);
+   b |= 0x10;
+   pci_write_config8(PCI_DEV(0, 0x1f, 0), 0x44, b);
+
+   /* ACPI control */
+   w = inw(0x868);
+   outw(w|0x800, 0x868);
+   w = inw(0x866);
+   outw(w|2, 0x866);
+
+   /* SMBUS */
+   pci_write_config16(PCI_DEV(0, 0x1f, 3), 0x20, 0x08c0);
+
+   /* unknown */
+   b = inb(0x8c2);
+   outb(0xdf, 0x8c2);
+
+   /* another device enable? */
+   b = pci_read_config8(PCI_DEV(0, 0, 0), 0xf4);
+   b |= 2;
+   pci_write_config8(PCI_DEV(0, 0, 0), 0xf4, b);
+   
+   /* ?? */
+   l = pci_read_config32(PCI_DEV(0, 0, 8), 0xc0);
+   do_reset = l  0x800;
+   l |= 0x800;
+   pci_write_config32(PCI_DEV(0, 0, 2), 0xc0, l);
+
+   if (! do_reset) {
+   outb(2, 0xcf9);
+   outb(6, 0xcf9);
+   }
if (bist == 0) {
/* Skip this if there was a built in self test failure */
early_mtrr_init();


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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread ron minnich
The fallback should work like the normal does. What you want, if
things go wrong, is something that works as much like what you're used
to as possible, so that you can recover easily.

The worst thing you can do, if things go wrong, is drop users into an
unfamiliar environment that sends them scurrying around looking for
the manuals.

The panic room should look just like the normal room, save it has a
big sign that says Don't Panic.

ron

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


Re: [coreboot] [PATCH]Remove non-CBFS

2009-09-30 Thread Peter Stuge
Kevin O'Connor wrote:
 As an aside, to protect against a power failure, flashrom is going
 to need to know that it shouldn't reflash the fallback parts of
 the image.

Yes. flashrom should know CBFS.



 truly break up the fallback and normal parts.

I see a few problem with normal and fallback as they have been in v2
previously;

It was not well understood how to produce them. It was not well
understood how they were combined. And finally it was not well
understood how one of the two were selected.

CBFS and Kconfig fixes the hard parts; the first two.

I see cbfstool being a crucial part of safe updates. Initially
cbfstool might have to be run manually (or even just flashrom) but
we should look into how Kconfig and the build system can take an
existing CBFS as input, and only build/replace the normal part.


 In particular, I'd like to be able to go into my normal
 directory and run svn up, make, and then flashrom - and be
 fairly confident that I didn't just blow up my image.

Two directories strikes me as pretty complicated but I do get your
point - it should be really easy to rebuild and flash normal, without
touching anything else.


//Peter

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


Re: [coreboot] [v2] r4698 - trunk/coreboot-v2/src/mainboard/dell/s1850

2009-09-30 Thread Stefan Reinauer
s...@coreboot.org wrote:
 Author: rminnich
 Date: 2009-10-01 02:02:28 +0200 (Thu, 01 Oct 2009)
 New Revision: 4698

 Modified:
trunk/coreboot-v2/src/mainboard/dell/s1850/auto.c
 Log:
 This is now set up more like the real hardware likes it. 
 Some of this trickery was determined with serialice. 
 There are several lovely undocumented features to the chipset. 

 Signed-off-by: Ronald G. Minnich rminn...@gmail.com
 Acked-by: Ronald G. Minnich rminn...@gmail.com


   
:-) Nice

 Modified: trunk/coreboot-v2/src/mainboard/dell/s1850/auto.c
 ===
 --- trunk/coreboot-v2/src/mainboard/dell/s1850/auto.c 2009-09-30 21:36:38 UTC 
 (rev 4697)
 +++ trunk/coreboot-v2/src/mainboard/dell/s1850/auto.c 2009-10-01 00:02:28 UTC 
 (rev 4698)
 @@ -173,8 +173,13 @@
  }
  
  /* end IPMI garbage */
 +
  static void main(unsigned long bist)
  {
 + u8 b;
 + u16 w;
 + u32 l;
 + int do_reset;
   /*
* 
* 
 @@ -191,6 +196,80 @@
   }
   };
  
 + /* using SerialICE, we've seen this basic reset sequence on the dell. 
 +  * we don't understand it as it uses undocumented registers, but
 +  * we're going to clone it. 
 +  */
 + /* enable a hidden device. */
 + b = pci_read_config8(PCI_DEV(0, 0, 0), 0xf4);
 + b |= 0x8;
 + pci_write_config8(PCI_DEV(0, 0, 0), 0xf4, b);
 +
 + /* read-write lock in CMOS on LPC bridge on ICH5 */
 + pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xd8, 4);
 +
 + /* operate on undocumented device */
   
Can you dump the pci config space or read the pci id of that device?

 + l = pci_read_config32(PCI_DEV(0, 0, 2), 0xa4);
 + l |= 0x1000;
 + pci_write_config32(PCI_DEV(0, 0, 2), 0xa4, l);
 +
 + l = pci_read_config32(PCI_DEV(0, 0, 2), 0x9c);
 + l |= 0x8000;
 + pci_write_config32(PCI_DEV(0, 0, 2), 0x9c, l);
 +
 + /* disable undocumented device */
 + b = pci_read_config8(PCI_DEV(0, 0, 0), 0xf4);
 + b = ~0x8;
 + pci_write_config8(PCI_DEV(0, 0, 0), 0xf4, b);
 + 
 + /* set up LPC bridge bits, some of which reply on undocumented
 +  * registers
 +  */
 + 
 + b= pci_read_config8(PCI_DEV(0, 0x1f, 0), 0xd8);
 + b |= 4;
 + pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xd8, b);
 +
 + b= pci_read_config8(PCI_DEV(0, 0x1f, 0), 0xd4);
 + b |= 2;
 + pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xd4, b);
 +
 + /* ACPI base address */
 + pci_write_config16(PCI_DEV(0, 0x1f, 0), 0x40, 0x800);
   

bit 0 is hard wired to 1 so it doesn't matter much I guess.

 +
 + /* Enable specific ACPI features */
 + b= pci_read_config8(PCI_DEV(0, 0x1f, 0), 0x44);
 + b |= 0x10;
 + pci_write_config8(PCI_DEV(0, 0x1f, 0), 0x44, b);
 +
 + /* ACPI control */
 + w = inw(0x868);
 + outw(w|0x800, 0x868);
 + w = inw(0x866);
 + outw(w|2, 0x866);
   
This is something in the TCO area, probably disabling the watchdog

 +
 + /* SMBUS */
 + pci_write_config16(PCI_DEV(0, 0x1f, 3), 0x20, 0x08c0);
 +
 + /* unknown */
 + b = inb(0x8c2);
 + outb(0xdf, 0x8c2);
 +
 + /* another device enable? */
 + b = pci_read_config8(PCI_DEV(0, 0, 0), 0xf4);
 + b |= 2;
 + pci_write_config8(PCI_DEV(0, 0, 0), 0xf4, b);
 + 
 + /* ?? */
 + l = pci_read_config32(PCI_DEV(0, 0, 8), 0xc0);
 + do_reset = l  0x800;
 + l |= 0x800;
 + pci_write_config32(PCI_DEV(0, 0, 2), 0xc0, l);
 +
 + if (! do_reset) {
 + outb(2, 0xcf9);
 + outb(6, 0xcf9);
 + }
   if (bist == 0) {
   /* Skip this if there was a built in self test failure */
   early_mtrr_init();


   


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


[coreboot] build service results for r4698

2009-09-30 Thread coreboot information
Dear coreboot readers!

This is the automatic build system of coreboot.

The developer rminnich checked in revision 4698 to
the coreboot repository. This caused the following 
changes:

Change Log:
This is now set up more like the real hardware likes it.
Some of this trickery was determined with serialice.
There are several lovely undocumented features to the chipset.

Signed-off-by: Ronald G. Minnich rminn...@gmail.com
Acked-by: Ronald G. Minnich rminn...@gmail.com


Build Log:
Compilation of embeddedplanet:ep405pc is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4698device=ep405pcvendor=embeddedplanetnum=2
Compilation of motorola:sandpointx3_altimus_mpc7410 is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4698device=sandpointx3_altimus_mpc7410vendor=motorolanum=2
Compilation of totalimpact:briq is still broken
See the error log at 
http://qa.coreboot.org/log_buildbrd.php?revision=4698device=briqvendor=totalimpactnum=2


If something broke during this checkin please be a pain 
in rminnich's neck until the issue is fixed.

If this issue is not fixed within 24h the revision should 
be backed out.

   Best regards,
 coreboot automatic build system



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


Re: [coreboot] [v2] r4698 - trunk/coreboot-v2/src/mainboard/dell/s1850

2009-09-30 Thread ron minnich
On Wed, Sep 30, 2009 at 5:11 PM, Stefan Reinauer ste...@coresystems.de wrote:

 :-) Nice

Sorry. I just assumed nobody would even care about this antique. Hope
no one is too annoyed by the self-ack.


 +     /* operate on undocumented device */

 Can you dump the pci config space or read the pci id of that device?

no, because the Dell BIOS turns it completely off.


 +     /* ACPI base address */
 +     pci_write_config16(PCI_DEV(0, 0x1f, 0), 0x40, 0x800);


 bit 0 is hard wired to 1 so it doesn't matter much I guess.


yes, I'm cloning what they do by watching IO with serialice. They did
not read it and or it in in this one case.

lotsa magic bits here. This is a really old part so I'm a little
surprised. Not too much, any more.

Going to have a long delay now while I convert to CAR. Also having a
meeting in 2 weeks that may kill the whole project.

ron

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


Re: [coreboot] [v2] r4698 - trunk/coreboot-v2/src/mainboard/dell/s1850

2009-09-30 Thread Ed Swierk
On Wed, Sep 30, 2009 at 5:02 PM,  s...@coreboot.org wrote:
 +       /* using SerialICE, we've seen this basic reset sequence on the dell.
 +        * we don't understand it as it uses undocumented registers, but
 +        * we're going to clone it.
 +        */
 +       /* enable a hidden device. */
 +       b = pci_read_config8(PCI_DEV(0, 0, 0), 0xf4);
 +       b |= 0x8;
 +       pci_write_config8(PCI_DEV(0, 0, 0), 0xf4, b);
 +
 +       /* read-write lock in CMOS on LPC bridge on ICH5 */
 +       pci_write_config8(PCI_DEV(0, 0x1f, 0), 0xd8, 4);
 +
 +       /* operate on undocumented device */
 +       l = pci_read_config32(PCI_DEV(0, 0, 2), 0xa4);
 +       l |= 0x1000;
 +       pci_write_config32(PCI_DEV(0, 0, 2), 0xa4, l);
 +
 +       l = pci_read_config32(PCI_DEV(0, 0, 2), 0x9c);
 +       l |= 0x8000;
 +       pci_write_config32(PCI_DEV(0, 0, 2), 0x9c, l);
 +
 +       /* disable undocumented device */
 +       b = pci_read_config8(PCI_DEV(0, 0, 0), 0xf4);
 +       b = ~0x8;
 +       pci_write_config8(PCI_DEV(0, 0, 0), 0xf4, b);

http://downloadmirror.intel.com/8815/ENG/README.TXT offers a hint
about what this is doing, but doesn't really explain why:

According MCH BSU 0.82, document#64:Required Register Settings. To
take full advantage of the changes in the MCH Silicon, for stability
on MCH B0 stepping and above, Intel recommends that BIOS clear bit 12
of D0:F2:R0A4h and set bit 15 of D0:F2:R09Ch very early during boot.

--Ed

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


Re: [coreboot] SeaBIOS and USB UHCI keyboard support

2009-09-30 Thread Kevin O'Connor
On Wed, Sep 30, 2009 at 09:18:21PM +0200, Peter Stuge wrote:
 Kevin O'Connor wrote:
  The support in SeaBIOS is currently 1029 lines of code - it is a
  direct, no nonsense, just make it work implementation.
 
 I think that is wonderful! Good job!

Thanks!

  The next thing I am planning to look at is basic ohci keyboard
  support, and then fleshing out the current keyboard support (eg,
  auto-repeat, keyboard leds).
 
 The USB option ROM is still a tricky point. How to make it co-exist
 with USB support in SeaBIOS?

As Stefan pointed out, there can be only one driver of a usb
controller.  Anything else would be too fragile.

 If the option ROM works out well, maybe it could instead offer the
 keyboard services?

Yes - an option ROM can support keyboard.  However, a real 16bit
option ROM implementation is going to impose the same constraints on
libpayload as SeaBIOS.  Alternatively, the option rom could give up
support for vm86 mode callers and reserve lots of high ram to avoid
those constraints.  It still wouldn't be simple - the rom would need
to implement the bios calls for disk and kbd (seabios src/disk.c
src/kbd.c src/bregs.h src/entryfuncs.S = 1792 lines of code) and may
need to implement self uncompression (to reduce its rom code size).
I'd say it's doable, but not easy.

-Kevin

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


Re: [coreboot] [v2] r4698 - trunk/coreboot-v2/src/mainboard/dell/s1850

2009-09-30 Thread Peter Stuge
Ed Swierk wrote:
 http://downloadmirror.intel.com/8815/ENG/README.TXT offers a hint
 about what this is doing, but doesn't really explain why:
..
 for stability on MCH B0 stepping and above,

A secret/magic erratum. Yippee. :)


//Peter

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


Re: [coreboot] SeaBIOS and USB UHCI keyboard support

2009-09-30 Thread Peter Stuge
Kevin O'Connor wrote:
  The USB option ROM is still a tricky point. How to make it co-exist
  with USB support in SeaBIOS?
 
 As Stefan pointed out, there can be only one driver of a usb
 controller.  Anything else would be too fragile.

Yeah. The debug port can be used in parallell with another USB stack,
but that's only good for debug transfers.


  If the option ROM works out well, maybe it could instead offer
  the keyboard services?
 
 Yes - an option ROM can support keyboard.
..
 I'd say it's doable, but not easy.

I don't know what the result was/is from the GSoC project. You are
aware that there has been a GSoC project for a USB option ROM, right?


//Peter

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


Re: [coreboot] [v2] r4698 - trunk/coreboot-v2/src/mainboard/dell/s1850

2009-09-30 Thread Stefan Reinauer



On Oct 1, 2009, at 2:44, ron minnich rminn...@gmail.com wrote:

On Wed, Sep 30, 2009 at 5:11 PM, Stefan Reinauer ste...@coresystems.de 
 wrote:



:-) Nice


Sorry. I just assumed nobody would even care about this antique. Hope
no one is too annoyed by the self-ack.



+ /* operate on undocumented device */


Can you dump the pci config space or read the pci id of that device?


no, because the Dell BIOS turns it completely off.



There's a pci config space dumper in one or two of the debug.c versions







+ /* ACPI base address */
+ pci_write_config16(PCI_DEV(0, 0x1f, 0), 0x40, 0x800);



bit 0 is hard wired to 1 so it doesn't matter much I guess.



yes, I'm cloning what they do by watching IO with serialice. They did
not read it and or it in in this one case.

lotsa magic bits here. This is a really old part so I'm a little
surprised. Not too much, any more.

Going to have a long delay now while I convert to CAR. Also having a
meeting in 2 weeks that may kill the whole project.



Sure you want to add new points of failure? ;-)



ron

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



Stefan

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


[coreboot] Boot issues (CBFS?) on VIA pc2500e

2009-09-30 Thread Uwe Hermann
Hi,

tried to boot-test the VIA p2500e yesterday, but tried a manual
non-kconfig build first, and that one doesn't successfully boot anymore
and thus needs to be fixed first.

The cfbs output was (I used a FILO payload):

Name   Offset Type Size
fallback/payload   0x0payload  85864
fallback/coreboot_ram  0x14fc0stage35069
   0x1d900null 337592

Here's a bootlog, there's a hang at the end, no further output on
serial afterwards. Any ideas what the issue may be?


Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
coreboot-2.0.0-r4697-pc2500e Thu Oct  1 00:04:48 CEST 2009 booting...
Calibrating delay loop...
end 2cb8ad7b3, start 1dc56e326
32-bit delta 3827
calibrate_tsc 32-bit result is 3827
clocks_per_usec: 3827
Enumerating buses...
Show all devs...Before Device Enumeration.
Root Device: enabled 1, 0 resources
PCI_DOMAIN: : enabled 1, 0 resources
PCI: 00:00.0: enabled 1, 0 resources
PCI: 00:00.1: enabled 1, 0 resources
PCI: 00:00.2: enabled 1, 0 resources
PCI: 00:00.3: enabled 1, 0 resources
PCI: 00:00.4: enabled 1, 0 resources
PCI: 00:00.7: enabled 1, 0 resources
PCI: 00:01.0: enabled 1, 0 resources
PCI: 00:0f.0: enabled 1, 0 resources
PCI: 00:0f.1: enabled 1, 0 resources
PCI: 00:10.0: enabled 1, 0 resources
PCI: 00:10.1: enabled 1, 0 resources
PCI: 00:10.2: enabled 1, 0 resources
PCI: 00:10.3: enabled 1, 0 resources
PCI: 00:10.4: enabled 1, 0 resources
PCI: 00:10.5: enabled 1, 0 resources
PCI: 00:11.0: enabled 1, 0 resources
PNP: 002e.0: enabled 1, 3 resources
PNP: 002e.1: enabled 1, 2 resources
PNP: 002e.2: enabled 0, 2 resources
PNP: 002e.3: enabled 1, 3 resources
PNP: 002e.4: enabled 1, 3 resources
PNP: 002e.5: enabled 0, 3 resources
PNP: 002e.6: enabled 0, 1 resources
PNP: 002e.7: enabled 1, 3 resources
PNP: 002e.8: enabled 0, 2 resources
PNP: 002e.9: enabled 0, 1 resources
PNP: 002e.a: enabled 1, 2 resources
PCI: 00:11.5: enabled 1, 0 resources
PCI: 00:12.0: enabled 1, 0 resources
APIC_CLUSTER: 0: enabled 1, 0 resources
APIC: 00: enabled 1, 0 resources
Compare with tree...
Root Device: enabled 1, 0 resources
 PCI_DOMAIN: : enabled 1, 0 resources
  PCI: 00:00.0: enabled 1, 0 resources
  PCI: 00:00.1: enabled 1, 0 resources
  PCI: 00:00.2: enabled 1, 0 resources
  PCI: 00:00.3: enabled 1, 0 resources
  PCI: 00:00.4: enabled 1, 0 resources
  PCI: 00:00.7: enabled 1, 0 resources
  PCI: 00:01.0: enabled 1, 0 resources
  PCI: 00:0f.0: enabled 1, 0 resources
  PCI: 00:0f.1: enabled 1, 0 resources
  PCI: 00:10.0: enabled 1, 0 resources
  PCI: 00:10.1: enabled 1, 0 resources
  PCI: 00:10.2: enabled 1, 0 resources
  PCI: 00:10.3: enabled 1, 0 resources
  PCI: 00:10.4: enabled 1, 0 resources
  PCI: 00:10.5: enabled 1, 0 resources
  PCI: 00:11.0: enabled 1, 0 resources
   PNP: 002e.0: enabled 1, 3 resources
   PNP: 002e.1: enabled 1, 2 resources
   PNP: 002e.2: enabled 0, 2 resources
   PNP: 002e.3: enabled 1, 3 resources
   PNP: 002e.4: enabled 1, 3 resources
   PNP: 002e.5: enabled 0, 3 resources
   PNP: 002e.6: enabled 0, 1 resources
   PNP: 002e.7: enabled 1, 3 resources
   PNP: 002e.8: enabled 0, 2 resources
   PNP: 002e.9: enabled 0, 1 resources
   PNP: 002e.a: enabled 1, 2 resources
  PCI: 00:11.5: enabled 1, 0 resources
  PCI: 00:12.0: enabled 1, 0 resources
 APIC_CLUSTER: 0: enabled 1, 0 resources
  APIC: 00: enabled 1, 0 resources
scan_static_bus for Root Device
In cn700 enable_dev for device PCI_DOMAIN: .
Finding PCI configuration type.
PCI: Using configuration type 1
PCI_DOMAIN:  enabled
In cn700 enable_dev for device APIC_CLUSTER: 0.
APIC_CLUSTER: 0 enabled
PCI_DOMAIN:  scanning...
PCI: pci_scan_bus for bus 00
In cn700 enable_dev for device PCI: 00:00.0.
PCI: 00:00.0 [1106/0314] ops
PCI: 00:00.0 [1106/0314] enabled
In cn700 enable_dev for device PCI: 00:00.1.
PCI: 00:00.1 [1106/1314] enabled
In cn700 enable_dev for device PCI: 00:00.2.
PCI: 00:00.2 [1106/2314] enabled
In cn700 enable_dev for device PCI: 00:00.3.
PCI: 00:00.3 [1106/3208] ops
PCI: 00:00.3 [1106/3208] enabled
In cn700 enable_dev for device PCI: 00:00.4.
PCI: 00:00.4 [1106/4314] enabled
PCI: 00:00.5, bad id 0x
PCI: 00:00.6, bad id 0x
In cn700 enable_dev for device PCI: 00:00.7.
PCI: 00:00.7 [1106/7314] enabled
In cn700 enable_dev for device PCI: 00:01.0.
PCI: 00:01.0 [1106/b198] bus ops
PCI: 00:01.0 [1106/b198] enabled
PCI: 00:02.0, bad id 0x
PCI: 00:03.0, bad id 0x
PCI: 00:04.0, bad id 0x
PCI: 00:05.0, bad id 0x
PCI: 00:06.0, bad id 0x
PCI: 00:07.0, bad id 0x
PCI: 00:08.0, bad id 0x
PCI: 00:09.0, bad id 0x
PCI: 00:0a.0, bad id 0x
PCI: 00:0b.0, bad id 0x
PCI: 00:0c.0, bad id 0x
PCI: 00:0d.0, bad id 0x
PCI: 00:0e.0, bad id 0x
PCI: 00:0f.0 [1106/3149] ops
PCI: 00:0f.0 [1106/3149] enabled
PCI: 

Re: [coreboot] [v2] r4698 - trunk/coreboot-v2/src/mainboard/dell/s1850

2009-09-30 Thread Ed Swierk
On Wed, Sep 30, 2009 at 5:44 PM, ron minnich rminn...@gmail.com wrote:
 On Wed, Sep 30, 2009 at 5:11 PM, Stefan Reinauer ste...@coresystems.de 
 wrote:
 +     /* operate on undocumented device */

 Can you dump the pci config space or read the pci id of that device?

 no, because the Dell BIOS turns it completely off.

It shouldn't harm anything to leave the undocumented device enabled.
Then you can boot Linux and sniff around with lspci.

--Ed

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


Re: [coreboot] Boot issues (CBFS?) on VIA pc2500e

2009-09-30 Thread Stefan Reinauer

Can you try without cbfs? Did it work with cbfs before?

If the issue is new, can you bisect where it happened?

On Oct 1, 2009, at 3:30, Uwe Hermann u...@hermann-uwe.de wrote:


Hi,

tried to boot-test the VIA p2500e yesterday, but tried a manual
non-kconfig build first, and that one doesn't successfully boot  
anymore

and thus needs to be fixed first.

The cfbs output was (I used a FILO payload):

Name   Offset Type Size
fallback/payload   0x0payload  85864
fallback/coreboot_ram  0x14fc0stage35069
  0x1d900null 337592

Here's a bootlog, there's a hang at the end, no further output on
serial afterwards. Any ideas what the issue may be?


Uwe.
--
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
minicom_pc2500e_cbfs_nokconfig.txt
--
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot


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


Re: [coreboot] Boot issues (CBFS?) on VIA pc2500e

2009-09-30 Thread Myles Watson


 -Original Message-
 From: coreboot-bounces+mylesgw=gmail@coreboot.org [mailto:coreboot-
 bounces+mylesgw=gmail@coreboot.org] On Behalf Of Uwe Hermann
 Sent: Wednesday, September 30, 2009 7:31 PM
 To: coreboot@coreboot.org
 Subject: [coreboot] Boot issues (CBFS?) on VIA pc2500e
 
 Hi,
 
 tried to boot-test the VIA p2500e yesterday, but tried a manual
 non-kconfig build first, and that one doesn't successfully boot anymore
 and thus needs to be fixed first.
 
 The cfbs output was (I used a FILO payload):
 
 Name   Offset Type Size
 fallback/payload   0x0payload  85864
 fallback/coreboot_ram  0x14fc0stage35069
0x1d900null 337592
 
 Here's a bootlog, there's a hang at the end, no further output on
 serial afterwards. Any ideas what the issue may be?
It doesn't look like a place I would expect CBFS to be the issue.

 tomk is 0x8
 tom: 2000, high_tables_base: 1fff, high_tables_size: 1
512M of RAM = 0x2000, 64K for high tables.
...
 High Tables Base is 1fff.
 Copying Interrupt Routing Table to 0x000f... done.
 Copying Interrupt Routing Table to 0x1fff... done.
 Wrote the mp table end at: 000f0410 - 000f0568
 Wrote the mp table end at: 1fff0410 - 2001040e
Writing high tables above RAM!  Why is the high MP table so much larger than
the low one?
 
 Moving GDT to 0x20010800...ok
 Multiboot Information structure has been written.
 Writing high table forward entry at 0x0500
 Wrote coreboot table at: 0500 - 0518  checksum d3dd
 New low_table_end: 0x0518
 Now going to write high coreboot table at 0x20010c00
 rom_table_end = 0x20010c00
 Adjust low_table_end from 0x0518 to 0x1000 
 Adjust rom_table_end from 0x20010c00 to 0x2002
And more writing above RAM.

I don't know that that is the cause of your trouble, but it isn't good.  An
easy thing to try would be to increase high_tables_size to 0x4 and see
if you get anything different.  I'm surprised that your mp table is so
large.  Maybe that's where the real problem is?

Thanks,
Myles


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