Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jun 2017 20:23:56 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Ed Maste <emaste@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r320234 - head/sys/boot/efi/include
Message-ID:  <1F8C5886-71FC-486B-9793-E3554843CC65@FreeBSD.org>
In-Reply-To: <201706221430.v5MEU9Zc063375@repo.freebsd.org>
References:  <201706221430.v5MEU9Zc063375@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_F9E4D9B3-F150-45C1-9124-3C64DD10075B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 22 Jun 2017, at 16:30, Ed Maste <emaste@freebsd.org> wrote:
>=20
> Author: emaste
> Date: Thu Jun 22 14:30:09 2017
> New Revision: 320234
> URL: https://svnweb.freebsd.org/changeset/base/320234
>=20
> Log:
>  Make structure padding explicit in EFI_MEMORY_DESCRIPTOR
>=20
>  The EFI memory descriptor 64-bit aligns PhysicalStart on both 32- and
>  64-bit platforms.  Make the padding explicit for i386 EFI.
>=20
>  Submitted by:	Siva Mahadevan =
<smahadevan@freebsdfoundation.org>
>  MFC after:	3 weeks
>  Sponsored by:	The FreeBSD Foundation
>  Differential Revision:	https://reviews.freebsd.org/D11301
>=20
> Modified:
>  head/sys/boot/efi/include/efidef.h
>=20
> Modified: head/sys/boot/efi/include/efidef.h
> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
> --- head/sys/boot/efi/include/efidef.h	Thu Jun 22 13:31:44 2017	=
(r320233)
> +++ head/sys/boot/efi/include/efidef.h	Thu Jun 22 14:30:09 2017	=
(r320234)
> @@ -178,6 +178,7 @@ typedef enum {
> #define EFI_MEMORY_DESCRIPTOR_VERSION  1
> typedef struct {
>     UINT32                          Type;           // Field size is =
32 bits followed by 32 bit pad
> +    UINT32                          Pad;
>     EFI_PHYSICAL_ADDRESS            PhysicalStart;  // Field size is =
64 bits
>     EFI_VIRTUAL_ADDRESS             VirtualStart;   // Field size is =
64 bits
>     UINT64                          NumberOfPages;  // Field size is =
64 bits

If you explicitly insert padding, it is better to mark the struct as
__packed, I think.  Or at least also specify the alignment explicitly.

-Dimitry


--Apple-Mail=_F9E4D9B3-F150-45C1-9124-3C64DD10075B
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.30

iEYEARECAAYFAllMC0cACgkQsF6jCi4glqOS7wCfQXRMqdBBwFKlGTT/gWqOmgZJ
YD4AoPIB939JxyVWZv0uEV3EthQaTLbu
=nvNU
-----END PGP SIGNATURE-----

--Apple-Mail=_F9E4D9B3-F150-45C1-9124-3C64DD10075B--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1F8C5886-71FC-486B-9793-E3554843CC65>