public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Larry Cleeton <Larry.Cleeton@microsoft.com>
To: "Ye, Ting" <ting.ye@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: Breaking change issue with NetworkPkg/Ip6Dxe/Ip6ConfigImlp.[c, h]
Date: Fri, 5 Aug 2016 15:34:33 +0000	[thread overview]
Message-ID: <BL2PR03MB242D3F092BB5296366E76E3E1180@BL2PR03MB242.namprd03.prod.outlook.com> (raw)
In-Reply-To: <BC0C045B0E2A584CA4575E779FA2C12A17D99EDC@SHSMSX103.ccr.corp.intel.com>

I agree with your assessment about leaving the data structure as it is.   I just wanted to highlight it as it may impact others.  

The bottom line is my development group is entirely responsible for vetting any changes coming from the EDK2 into our product.  This one slipped by us.

--Larry

-----Original Message-----
From: Ye, Ting [mailto:ting.ye@intel.com] 
Sent: Thursday, August 4, 2016 8:25 PM
To: Larry Cleeton <Larry.Cleeton@microsoft.com>; edk2-devel@lists.01.org
Subject: RE: Breaking change issue with NetworkPkg/Ip6Dxe/Ip6ConfigImlp.[c, h]

Hi Larry,

We are very sorry about the impact you suffered today. We made the change in early 2013 to support the existing NVRAM variable when firmware image was updated from IA32 to X64. Unfortunately we introduced an incompatibility issue as you raised. Now we prefer to keep the existing definition, since if we change it back that would introduce another similar incompatibility issue. What do you think about this?

Best Regards,
Ye Ting

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Larry Cleeton
Sent: Wednesday, August 03, 2016 4:55 AM
To: edk2-devel@lists.01.org
Subject: [edk2] Breaking change issue with NetworkPkg/Ip6Dxe/Ip6ConfigImlp.[c, h]

This commit (fdc4b0b147b386e966e99893526181dfae9eaeef) changed a data structure that is stored in an NVRAM variable. 
See NetworkPkg/Ip6Dxe/Ip6ConfigImpl.[c,h]

This data structure:

typedef struct {
  UINT16                    Offset;
  UINTN                     DataSize;
  EFI_IP6_CONFIG_DATA_TYPE  DataType;
} IP6_CONFIG_DATA_RECORD;

Is now:

typedef struct {
  UINT16                    Offset;
  UINT32                     DataSize;    <---------------- changed size in 64bit environments
  EFI_IP6_CONFIG_DATA_TYPE  DataType;
} IP6_CONFIG_DATA_RECORD;

Unfortunately with a 64bit implementation this current structure is now *not* compatible with an existing NVRAM variable written with the previous version of the structure. It's causing me considerable grief so I'm just sharing the discovery.  It would only impact you if you update some 64bit machine's firmware with a new version containing this change.

--Larry
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


  reply	other threads:[~2016-08-05 15:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-02 20:55 Breaking change issue with NetworkPkg/Ip6Dxe/Ip6ConfigImlp.[c, h] Larry Cleeton
2016-08-05  3:24 ` Ye, Ting
2016-08-05 15:34   ` Larry Cleeton [this message]
2016-08-05 16:12     ` Cohen, Eugene
2016-08-05 19:03       ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BL2PR03MB242D3F092BB5296366E76E3E1180@BL2PR03MB242.namprd03.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox