Re: [edk2] HOB build/get and size changing

2015-12-03 Thread Gao, Liming
Lee:
  Per PI spec Volume 3 4.5.2 HOB Construction Rules, all HOBs must be multiples 
of 8 bytes in length. PEI CreateHob() service will adjust HOB length to meet 
this requirement. So, you find the hob data size becomes to 8 from 4. 

Thanks
Liming
-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Hamel, 
Lee M
Sent: Thursday, December 03, 2015 4:47 PM
To: edk2-devel@lists.01.org
Subject: [edk2] HOB build/get and size changing

I have a strange issue with a block of code that is causing an ASSERT.  I call 
BuildGuidDataHob() with a size of 4, and somehow it is changing to 8.
When I add code after BuildGuidDataHob() to get the HOB and output the size, I 
see size of 8 as returned by GET_GUID_HOB_DATA_SIZE() macro.
I have debugged all the way into InternalMemCopyMem() and see a single DWORD 
being copied (ECX=1 before "rev movsd").  I'm starting to think that there is 
some funny compiler bug.  I am building with Visual Studio 2010.  Any thoughts?

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


[edk2] HOB build/get and size changing

2015-12-03 Thread Hamel, Lee M
I have a strange issue with a block of code that is causing an ASSERT.  I call 
BuildGuidDataHob() with a size of 4, and somehow it is changing to 8.
When I add code after BuildGuidDataHob() to get the HOB and output the size, I 
see size of 8 as returned by GET_GUID_HOB_DATA_SIZE() macro.
I have debugged all the way into InternalMemCopyMem() and see a single DWORD 
being copied (ECX=1 before "rev movsd").  I'm starting to think
that there is some funny compiler bug.  I am building with Visual Studio 2010.  
Any thoughts?

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