Fix PXE BIOS boot when using a proxy DHCP server

This commit is contained in:
Bryce Lanham 2023-04-22 01:22:36 -05:00 committed by mintsuki
parent 259ab0166e
commit 04cc4390b4
2 changed files with 2 additions and 1 deletions

View File

@ -88,6 +88,7 @@ struct bangpxe {
} __attribute__((packed));
#define PXENV_GET_CACHED_INFO 0x0071
#define PXENV_PACKET_TYPE_CACHED_REPLY 3
struct pxenv_get_cached_info {
uint16_t status;
uint16_t packet_type;

View File

@ -14,7 +14,7 @@
static uint32_t get_boot_server_info(void) {
struct pxenv_get_cached_info cachedinfo = { 0 };
cachedinfo.packet_type = 2;
cachedinfo.packet_type = PXENV_PACKET_TYPE_CACHED_REPLY;
pxe_call(PXENV_GET_CACHED_INFO, ((uint16_t)rm_seg(&cachedinfo)), (uint16_t)rm_off(&cachedinfo));
struct bootph *ph = (struct bootph*)(void *) (((((uint32_t)cachedinfo.buffer) >> 16) << 4) + (((uint32_t)cachedinfo.buffer) & 0xFFFF));
return ph->sip;