[syslinux] syslinux.efi with QEMU/OVMF

BALATON Zoltan balaton at eik.bme.hu
Wed Apr 8 16:24:33 PDT 2015


On Tue, 7 Apr 2015, Laszlo Ersek wrote:
> Whereas syslinux.efi apparently uses the embedded gpxe/ tree, and that
> one uses TCP timestamps. See tcp_xmit() in gpxe/src/net/tcp.c:

Actually syslinux.efi seems to be using the implementation calling into 
UEFI via these functions:

http://git.kernel.org/cgit/boot/syslinux/syslinux.git/tree/efi/tcp.c

I've tried to add debug messages to these functions and got the following:

core_tcp_connect: connecting
core_tcp_connect: connected
core_tcp_connect: at out: closing CompletionToken
core_tcp_write: Sending 227 bytes
tcp transmit failed, Access Denied

Meanwhile on the OVMF side I could get these debug logs:

Tcb (3F296898) state TCP_CLOSED --> TCP_SYN_SENT
TcpToSendData: set RTT measure sequence 464107706 for TCB 3F296898
Tcb (3F296898) state TCP_SYN_SENT --> TCP_ESTABLISHED
TcpComputeRtt: new RTT for TCB 3F296898 computed SRTT: 0 RTTVAR: 0 RTO: 5
TcpInput: connection established for TCB 3F296898 in SYN_SENT
TcpInput: connection reset for TCB 3F296898
Tcb (3F296898) state TCP_ESTABLISHED --> TCP_CLOSED
Tcb (3F296898) state TCP_CLOSED --> TCP_CLOSED

So now it seems the problem may be in OVMF somewhere but how to find it? 
EDK2 code is hard to follow and I'm not sure what should I look for. Any 
hints?

Regards,
BALATON Zoltan


More information about the Syslinux mailing list