Gene Cumm
2014-Jun-29 15:08 UTC
[syslinux] SYSLINUX 6.03-pre18 crashes on Mellanox/Intel card with iPXE stack
On Jun 29, 2014 9:37 AM, "Wissam Shoukair" <wissams at mellanox.com> wrote:> > Hi Peter, > > I approached you before on this issue that I?m having with the SYSLINUX6.03-pre18 when booting with iPXE option ROM.> > The issue was reproduced on different OEMs, and also on 2 different cards(Mellanox and Intel), with latest and 2 years old iPXE code.> > Just to be clear, if we use SYSLINUX 4.07 on the same setup, the issuedoesn?t reproduce.> > > > The problem is when the SYSLINUX goes into real mode and tries to callthe iPXE API function.> > SYSLINUX 6.03-pre18 loads up, and before calling pxe_entry(arch/i386/interface/pxe/pxe_entry.S) from iPXE code, it fails to move to real mode in core_syscall:core/callback.inc (when running ?jmp enter_rm? assembly command)> > > > In all cases, when iPXE gives the control to SYSLINUX, the memory andregisters values are correct. We validated the values in the !PXE structure which iPXE gives to SYSLINUX.> > > > These are the values of the registers prior executing the SYSLINUX: > > EAX=00000000 EBX=00000AA0 ECX=000A9300 EDX=00093AA0 > > ESI=422E2B30 EDI=00000A40 EBP=00000007 ESP=00002D12 EIP=0000030E > > CS=9300 DS=93AE ES=9300 FS=93AE GS=93AE SS=93AE C=0 Z=0 D=0 I=1 S=0 > > > > 9300:030E CALL FAR 0000:7C00 > > 9300:0313 ADD SP,0004 > > 9300:0316 RET > > 9300:0317 PUSHF > > 9300:0318 PUSH CS > > 9300:0319 PUSH 031F > > 9300:031C PUSH EAX > > 9300:031E RETF > > 9300:031F RET > > 9300:0320 CALL FAR WORD PTR SS:[139C] > > 9300:0325 RET > > 9300:0326 PUSHAD > > 9300:0328 PUSH DS > > 9300:0329 PUSH ES > > 9300:032A PUSH FSThanks for the details. I wonder if this might be related to some troubles I've had recently with gpxelinux.0 where my VM on VMware Workstation has a CPU fault in a similar version range, starting around 5.02/5.10-pre2. Testing with iPXE ISO it works flawlessly. Sounds like my next test should be an ipxelinux.0. --Gene