efi_loader: complete efi_pxe_mode struct definition

The efi_pxe_mode struct which represents the PXE_BASE_CODE_PROTOCOL
Replace the placeholder paddings in the efi_pxe_mode struct with the
actual fields as defined in UEFI's PXE Base Code Protocol.  Since
our efi_ip_address is a simple char array set a specific alignment
to the efi_ip_address fields, as expected by the UEFI spec.

Signed-off-by: Patrick Wildt <patrick@blueri.se>
[agraf: s/pxe_discovervalid/pxe_discover_valid]
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Patrick Wildt 2018-03-27 14:23:20 +02:00 committed by Alexander Graf
parent f9cfad1a61
commit e274235866

View File

@ -703,7 +703,7 @@ struct efi_mac_address {
struct efi_ip_address {
u8 ip_addr[16];
};
} __attribute__((aligned(4)));
enum efi_simple_network_state {
EFI_NETWORK_STOPPED,
@ -797,7 +797,28 @@ struct efi_pxe_packet {
struct efi_pxe_mode
{
u8 unused[52];
u8 started;
u8 ipv6_available;
u8 ipv6_supported;
u8 using_ipv6;
u8 bis_supported;
u8 bis_detected;
u8 auto_arp;
u8 send_guid;
u8 dhcp_discover_valid;
u8 dhcp_ack_received;
u8 proxy_offer_received;
u8 pxe_discover_valid;
u8 pxe_reply_received;
u8 pxe_bis_reply_received;
u8 icmp_error_received;
u8 tftp_error_received;
u8 make_callbacks;
u8 ttl;
u8 tos;
u8 pad;
struct efi_ip_address station_ip;
struct efi_ip_address subnet_mask;
struct efi_pxe_packet dhcp_discover;
struct efi_pxe_packet dhcp_ack;
struct efi_pxe_packet proxy_offer;