[gPXE] [Qemu-devel] Stack corruption problem with SeaBIOS/gPXE under QEMU

Avi Kivity avi at redhat.com
Tue Nov 17 08:23:46 EST 2009


On 11/17/2009 04:26 AM, Kevin O'Connor wrote:
> On Mon, Nov 16, 2009 at 04:02:20PM +0200, Avi Kivity wrote:
>    
>>> Something that is likely related, I am seeing reboot failures in
>>> seabios's pmm_free.  Immediately after loading gpxe, seabios is in an
>>> endless loop there, likely due to memory corruption.
>>>
>>> This is with -smp 2, rebooting Fedora 9 after installation.
>>>        
>> With gpxe disabled, rebooting works as expected.
>>
>> Note the tests were performed with the stack at 64K to avoid triggering
>> the known issue.
>>      
> Hi Avi,
>
> Can you send the full qemu command line that you used?  I can't seem
> to reproduce this on my setup.
>
>    

Example command line is

   qemu -name 'vm1' -drive 
file=/root/kvm-autotest/client/tests/kvm/images/winvista-64.qcow2,if=ide,cache=writeback 
-net nic,vlan=0,model=rtl8139,macaddr=52:54:00:12:34:56 -net user,vlan=0 
-m 512 -smp 2 -cdrom 
/root/kvm-autotest/client/tests/kvm/isos/windows/winutils.iso -redir 
tcp:5000::22

(generate by autotest) with qemu-kvm.git 
b496fe34317ead61cf5ae019506fadc8f9ad6556.

> I do see an issue if SeaBIOS's reboot vector is called (eg, by using
> "sendkey ctrl-alt-delete" while still in the bios) because seabios
> allows gpxe to modify itself, and on a seabios only reboot the gpxe
> rom isn't recopied and gpxe therefore gets confused.  However, on a
> linux invoked reboot, it looks like a full machine reset occurs and
> qemu recopies the gpxe rom, so that doesn't seem to be an issue.
>
> BTW, how did you change the stack location?  I've been changing
> seabios by setting BUILD_STACK_ADDR to 0x7000 (or 0xfff0) in
> src/config.h.
>    

I modified BUILD_STACK_ADDR as well.

-- 
error compiling committee.c: too many arguments to function



More information about the gPXE mailing list