diff -Naur grub-0.97/netboot/etherboot.h grub-0.97-magellan/netboot/etherboot.h --- grub-0.97/netboot/etherboot.h 2003-07-09 13:45:37.000000000 +0200 +++ grub-0.97-magellan/netboot/etherboot.h 2010-08-19 15:35:35.000000000 +0200 @@ -531,9 +531,6 @@ extern int network_ready; extern struct rom_info rom; extern struct arptable_t arptable[MAX_ARP]; -extern struct bootpd_t bootp_data; -#define BOOTP_DATA_ADDR (&bootp_data) -extern unsigned char *end_of_rfc1533; /* config.c */ extern struct nic nic; diff -Naur grub-0.97/netboot/main.c grub-0.97-magellan/netboot/main.c --- grub-0.97/netboot/main.c 2004-05-21 00:19:33.000000000 +0200 +++ grub-0.97-magellan/netboot/main.c 2010-08-19 15:37:15.000000000 +0200 @@ -56,7 +56,8 @@ static unsigned long netmask; static struct bootpd_t bootp_data; static unsigned long xid; -static unsigned char *end_of_rfc1533 = NULL; + +#define BOOTP_DATA_ADDR (&bootp_data) #ifndef NO_DHCP_SUPPORT #endif /* NO_DHCP_SUPPORT */ @@ -967,7 +968,6 @@ if (block == 0) { - end_of_rfc1533 = NULL; vendorext_isvalid = 0; if (grub_memcmp (p, rfc1533_cookie, 4)) @@ -1021,7 +1021,7 @@ } else if (c == RFC1533_END) { - end_of_rfc1533 = endp = p; + endp = p; continue; } else if (c == RFC1533_NETMASK) diff -Naur grub-0.97/netboot/natsemi.c grub-0.97-magellan/netboot/natsemi.c --- grub-0.97/netboot/natsemi.c 2003-07-09 13:45:38.000000000 +0200 +++ grub-0.97-magellan/netboot/natsemi.c 2010-08-19 15:37:51.000000000 +0200 @@ -608,7 +608,7 @@ const char *p) /* Packet */ { u32 status, to, nstype; - u32 tx_status; + volatile u32 tx_status; /* Stop the transmitter */ outl(TxOff, ioaddr + ChipCmd); @@ -647,7 +647,7 @@ to = currticks() + TX_TIMEOUT; - while ((((volatile u32) tx_status=txd.cmdsts) & OWN) && (currticks() < to)) + while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to)) /* wait */ ; if (currticks() >= to) { diff -Naur grub-0.97/netboot/sis900.c grub-0.97-magellan/netboot/sis900.c --- grub-0.97/netboot/sis900.c 2003-07-09 13:45:38.000000000 +0200 +++ grub-0.97-magellan/netboot/sis900.c 2010-08-19 15:38:26.000000000 +0200 @@ -901,7 +901,7 @@ const char *p) /* Packet */ { u32 status, to, nstype; - u32 tx_status; + volatile u32 tx_status; /* Stop the transmitter */ outl(TxDIS, ioaddr + cr); @@ -940,7 +940,7 @@ to = currticks() + TX_TIMEOUT; - while ((((volatile u32) tx_status=txd.cmdsts) & OWN) && (currticks() < to)) + while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to)) /* wait */ ; if (currticks() >= to) {