From: Andrey Borzenkov [mailto:arvidj...@gmail.com] Sent: Tuesday, February 11, 2014 8:06 AM > > В Tue, 11 Feb 2014 02:20:19 +0000 > "Mroczek, Joseph T" <joseph.t.mroc...@intel.com> пишет: > > > Updated efi api.h with more of pxe mode structure. Definitions from uEFI > specification v2.4 errata A. > > > > I had to update the typedef for grub_efi_ip_address_t, but it did not seem > to be used anywhere at this point. > > > > There is a minor issue that it is still not capturing the file name. It is > > beyond > my skill level to track down exactly why and fix it safely. > > > > Please let me know if there is anything more I can do. > > > > ~joe > > > > diff -Naur grub-2.02~beta2/grub-core/net/drivers/efi/efinet.c > > grub-2.02~beta2-bug41488-jtm/grub-core/net/drivers/efi/efinet.c > > --- grub-2.02~beta2/grub-core/net/drivers/efi/efinet.c 2013-12-24 > > 11:29:27.000000000 -0500 > > +++ grub-2.02~beta2-bug41488-jtm/grub- > core/net/drivers/efi/efinet.c > > +++ 2014-02-10 20:21:29.342895600 -0500 > > @@ -250,6 +250,12 @@ > > > > &pxe_mode->dhcp_ack, > > > > sizeof (pxe_mode->dhcp_ack), > > 1, > > device, path); > > + if (pxe_mode->proxy_offer_received) > > Should not preceding grub_net_configure_by_dhcp_ack be made > conditional on pxe_mode->dhcp_ack_received as well?
That would make sense. It did not perform the check before my change, so I saw no reason to add it. As far as I know, there are no issues with it operating the it does now. I have no insider knowledge of EFI, PXE, or GRUB. I am just a sysadmin who took a C class 10 years ago that is very frustrated trying to get a solution to netboot both Windows and Linux for BIOS, EFI32 and EFI64. > > > + grub_net_configure_by_dhcp_ack (card->name, card, 0, > > + > > +(struct grub_net_bootp_packet *) > > + > > +&pxe_mode->proxy_offer, > > + > > +sizeof (pxe_mode->proxy_offer), > > + 1, > > +device, path); > > return; > > } > > } > > diff -Naur grub-2.02~beta2/include/grub/efi/api.h > > grub-2.02~beta2-bug41488-jtm/include/grub/efi/api.h > > --- grub-2.02~beta2/include/grub/efi/api.h 2013-12-24 > > 12:04:54.000000000 -0500 > > +++ grub-2.02~beta2-bug41488-jtm/include/grub/efi/api.h > > +++ 2014-02-10 20:30:32.754895600 -0500 > > @@ -526,7 +526,7 @@ > > typedef grub_uint8_t grub_efi_mac_address_t[32]; typedef grub_uint8_t > > grub_efi_ipv4_address_t[4]; typedef grub_uint16_t > > grub_efi_ipv6_address_t[8]; -typedef grub_uint8_t > > grub_efi_ip_address_t[8] __attribute__ ((aligned(4))); > > +typedef grub_uint8_t grub_efi_ip_address_t[16] __attribute__ > > +((aligned(4))); > > typedef grub_efi_uint64_t grub_efi_physical_address_t; typedef > > grub_efi_uint64_t grub_efi_virtual_address_t; > > > > @@ -1342,12 +1342,33 @@ > > > > typedef struct grub_efi_pxe_mode > > { > > - grub_uint8_t unused[52]; > > + grub_uint8_t started; > > + grub_uint8_t ipv6_available; > > + grub_uint8_t ipv6_supported; > > + grub_uint8_t using_ipv6; > > + grub_uint8_t bis_supported; > > + grub_uint8_t bis_detected; > > + grub_uint8_t auto_arp; > > + grub_uint8_t send_guid; > > + grub_uint8_t dhcp_discover_valid; > > + grub_uint8_t dhcp_ack_received; > > + grub_uint8_t proxy_offer_received; > > + grub_uint8_t pxe_discover_valid; > > + grub_uint8_t pxe_reply_received; > > + grub_uint8_t pxe_bis_reply_received; > > + grub_uint8_t icmp_error_received; > > + grub_uint8_t tftp_error_received; > > + grub_uint8_t make_callbacks; > > + grub_uint8_t ttl; > > + grub_uint8_t tos; > > + grub_efi_ip_address_t station_ip; > > + grub_efi_ip_address_t subnet_mask; > > grub_efi_pxe_packet_t dhcp_discover; > > grub_efi_pxe_packet_t dhcp_ack; > > grub_efi_pxe_packet_t proxy_offer; > > grub_efi_pxe_packet_t pxe_discover; > > grub_efi_pxe_packet_t pxe_reply; > > + grub_efi_pxe_packet_t pxe_bis_reply; > > } grub_efi_pxe_mode_t; > > > > typedef struct grub_efi_pxe > > _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel