public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] efi_loader: complete efi_pxe_mode struct definition
@ 2018-03-27 12:23 Patrick Wildt
  2018-03-27 15:33 ` Heinrich Schuchardt
  2018-04-04  9:51 ` [U-Boot] [U-Boot, " Alexander Graf
  0 siblings, 2 replies; 3+ messages in thread
From: Patrick Wildt @ 2018-03-27 12:23 UTC (permalink / raw)
  To: u-boot

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;
-- 
2.14.3 (Apple Git-98)

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH 1/2] efi_loader: complete efi_pxe_mode struct definition
  2018-03-27 12:23 [U-Boot] [PATCH 1/2] efi_loader: complete efi_pxe_mode struct definition Patrick Wildt
@ 2018-03-27 15:33 ` Heinrich Schuchardt
  2018-04-04  9:51 ` [U-Boot] [U-Boot, " Alexander Graf
  1 sibling, 0 replies; 3+ messages in thread
From: Heinrich Schuchardt @ 2018-03-27 15:33 UTC (permalink / raw)
  To: u-boot

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;
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [U-Boot, 1/2] efi_loader: complete efi_pxe_mode struct definition
  2018-03-27 12:23 [U-Boot] [PATCH 1/2] efi_loader: complete efi_pxe_mode struct definition Patrick Wildt
  2018-03-27 15:33 ` Heinrich Schuchardt
@ 2018-04-04  9:51 ` Alexander Graf
  1 sibling, 0 replies; 3+ messages in thread
From: Alexander Graf @ 2018-04-04  9:51 UTC (permalink / raw)
  To: u-boot

> 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-04-04  9:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-27 12:23 [U-Boot] [PATCH 1/2] efi_loader: complete efi_pxe_mode struct definition Patrick Wildt
2018-03-27 15:33 ` Heinrich Schuchardt
2018-04-04  9:51 ` [U-Boot] [U-Boot, " Alexander Graf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox