[U-Boot] [PATCH 1/2] 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 --- include/efi_api.h | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/include/efi_api.h b/include/efi_api.h index 3ba650e57e..06789acdd1 100644 --- a/include/efi_api.h +++ b/include/efi_api.h @@ -662,7 +662,7 @@ struct efi_mac_address {
struct efi_ip_address { u8 ip_addr[16]; -}; +} __attribute__((aligned(4)));
enum efi_simple_network_state { EFI_NETWORK_STOPPED, @@ -756,7 +756,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_discovervalid; + 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;

On 03/27/2018 02:23 PM, Patrick Wildt wrote:
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
include/efi_api.h | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/include/efi_api.h b/include/efi_api.h index 3ba650e57e..06789acdd1 100644 --- a/include/efi_api.h +++ b/include/efi_api.h @@ -662,7 +662,7 @@ struct efi_mac_address {
struct efi_ip_address { u8 ip_addr[16]; -}; +} __attribute__((aligned(4)));
enum efi_simple_network_state { EFI_NETWORK_STOPPED, @@ -756,7 +756,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_discovervalid;
%s/pxe_discovervalid/pxe_discover_valid/
Everywhere else you replaced CamelCase by underscores.
Rest looks fine. Thanks.
Regards
Heinrich
- 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;

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
Thanks, applied to efi-next
Alex
participants (3)
-
Alexander Graf
-
Heinrich Schuchardt
-
Patrick Wildt