All of lore.kernel.org
 help / color / mirror / Atom feed
* SMBIOS problem with PXE booting
@ 2007-01-05  4:25 Evan Bigall
  2007-01-05 16:24 ` Tim Deegan
  0 siblings, 1 reply; 2+ messages in thread
From: Evan Bigall @ 2007-01-05  4:25 UTC (permalink / raw)
  To: xen-devel

I am using Xen 3.03 on IBM T60s running FC5 and RHEL4 with VT enabled.

We have a standard linux bootable iso that we use to run diagnostics 
(2.6.11 kernel).  When I boot that image in an HVM guest, the 
diagnostics run fine, and SMBIOS looks normal.

When I change nothing in the config but the image to boot, and then boot 
eb-5.4.2-rtl8139.iso (downloaded from *rom*-*o*-*matic*.net), the iso 
boots, correctly, PXEs, tftps our kernel and ramdisk, but then if I run 
dmidecode on the ramdisk, it looks like SMBIOS has been corrupted somehow.

A correct dmidecode starts out like this:

SMBIOS 2.4 present.
10 structures occupying 283 bytes
Table at 0x0009f01
Handle 0x0000
    DMI type 0, 24 bytes
    BIOS information
       Vendor: Xen
       Version 3.0.3-0
       [etc...]      

The corrupted one looks like this:

SMBIOS 2.4 present.
10 structures occupying 283 bytes
Table at 0x0009f01f
Handle 0x009e
    DMI type 0, 0 bytes.
    BIOS Information
Handle 0x09e0
    DMI type 158, 0 bytes.

I've tried integrating the rom image directly into 
/usr/lib/xen/boot/hvmloader, but get the same results.

Any ideas?

I've also noted that in the HVM guest, if I try to boot an SMP kernel, 
it hangs, only the non-SMP kernel successfully boots.

Evan

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: SMBIOS problem with PXE booting
  2007-01-05  4:25 SMBIOS problem with PXE booting Evan Bigall
@ 2007-01-05 16:24 ` Tim Deegan
  0 siblings, 0 replies; 2+ messages in thread
From: Tim Deegan @ 2007-01-05 16:24 UTC (permalink / raw)
  To: Evan Bigall; +Cc: xen-devel

[-- Attachment #1: Type: text/plain, Size: 596 bytes --]

Hi,

At 11:25 +0700 on 05 Jan (1167996340), Evan Bigall wrote:
> When I change nothing in the config but the image to boot, and then boot 
> eb-5.4.2-rtl8139.iso (downloaded from *rom*-*o*-*matic*.net), the iso 
> boots, correctly, PXEs, tftps our kernel and ramdisk, but then if I run 
> dmidecode on the ramdisk, it looks like SMBIOS has been corrupted somehow.

Indeed.  The ROMBIOS is reporting the wrong amount of base memory 
(0x0 -- 0x9fc00), so etherboot relocates itself on top of the SMBIOS
tables (which are at 0x9f000).  The attached patch should fix it for
Xen 3.0.3.

Cheers,

Tim.

[-- Attachment #2: basemem --]
[-- Type: text/plain, Size: 841 bytes --]

diff -r 6b3bb79cb1c9 tools/firmware/rombios/rombios.c
--- a/tools/firmware/rombios/rombios.c	Tue Jan 02 14:46:13 2007 +0000
+++ b/tools/firmware/rombios/rombios.c	Fri Jan 05 16:12:02 2007 +0000
@@ -1435,10 +1435,17 @@ copy_e820_table()
 copy_e820_table()
 {
   Bit8u nr_entries = read_byte(0x9000, 0x1e8);
+  Bit32u base_mem;
   if (nr_entries > 32)
   	nr_entries = 32;
   write_word(0xe000, 0x8, nr_entries);
   memcpyb(0xe000, 0x10, 0x9000, 0x2d0, nr_entries * 0x14);
+  /* Report the proper base memory size at address 0x0413: otherwise
+   * non-e820 code will clobber things if BASE_MEM_IN_K is bigger than
+   * the first e820 entry.  Get the size by reading the second 64bit 
+   * field of the first e820 slot. */ 
+  base_mem = read_dword(0x9000, 0x2d0 + 8);
+  write_word(0x40, 0x13, base_mem >> 10);
 }
 #endif /* HVMASSIST */
 

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-01-05 16:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-05  4:25 SMBIOS problem with PXE booting Evan Bigall
2007-01-05 16:24 ` Tim Deegan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.