On 08/24/2016 11:35 PM, Ard Biesheuvel wrote:
On 25 aug. 2016, at 05:17, Alan Ott alan@softiron.co.uk wrote:
On 08/23/2016 07:34 AM, Leif Lindholm wrote:
On Mon, Aug 22, 2016 at 12:25:18PM -0400, Alan Ott wrote:
Ok, great. I'll rebase on what's now upstream.
So in doing this, I updated to the latest edk2, and I'm now unable to edk2 to start. Very near the beginning I get:
ASSERT [ArmPlatformPrePeiCore] .../ArmPlatformPkg/PrePeiCore/MainUniCore.c(25): ((BOOLEAN)(0==1))
The place it's failing looks like:
VOID EFIAPI SecondaryMain ( IN UINTN MpId ) { ASSERT(FALSE); }
which is called by: ArmPlatformPkg/PrePeiCore/PrePeiCore.c
based on a call to: ArmPlatformIsPrimaryCore (MpId)
I did some printing out of the MpId and the result of ArmPlatformGetPrimaryCoreMpId(). Both show 0xffffffff (at least the lower 32-bits anyway). After reverting 666858b0caa and 395c5b8c35, the PrimaryCoreMpId shows 0xff instead of 0xffffffff. Strange....
I submitted a bunch of asm cleanup patches which touch this code. They were not supposed to introduce functional changes though
So after doing some bisecting (which did indeed turn out to prove interesting with the two repos), I discovered that indeed, 395c5b8c350f503 is where the breakage happens.
I didn't see it last night, because by the time I was reverting commits, I had already added gArmTokenSpaceGuid.PcdArmPrimaryCoreMask and gArmTokenSpaceGuid.PcdArmPrimaryCore to my dsc, which actually produce the same symptom, even with that commit reverted.
So I can run with the latest from both edk2 and OpenPlatformPkg with 395c5b8c350f503 reverted. I haven't looked closely into that commit to find the cause, but it's refactoring code which is related to the failure.
I will post updated patches shortly.
Alan.