Strange problem with PXE_GET_CACHED_INFO
Posted: Sat Aug 18, 2012 8:04 am
Hi, I am writing my PXE boot loader but when calling PXE_GET_CACHED_INFO, I always get PXE_EXIT_FAILURE:
Here is t_PXENV_GET_CACHED_INFO structure:
Everything stay in same segment and the code run at ORG $7C00. But when I change .Buffer_Off, .Buffer_Seg and .BufferSize to 0, it works and return PXE_EXIT_SUCCESS. Anyone knows about this problem? Also, I running it on ASRock P4i45GV with RTL8139 onboard.
Code: Select all
push ds ; DS is 0
push t_PXENV_GET_CACHED_INFO
push PXENV_GET_CACHED_INFO
call dword [Var.EntryPointSP]
Code: Select all
t_PXENV_GET_CACHED_INFO:
.Status dw 0
.PacketType dw PXENV_PACKET_TYPE_DHCP_ACK
.BufferSize dw Cached_Packet_End - Cached_Packet + 1
.Buffer_Off dw Cached_Packet
.Buffer_Seg dw 0
.BufferLimit dw 0