From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072104.outbound.protection.outlook.com [40.92.72.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 1099C21D09190 for ; Thu, 27 Jul 2017 08:17:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=HqYPAW2gViQaBySlofk5fg6Pmvh75TO35ofgWdecyBQ=; b=gG+DXC93jo1ENo3ZP2YFB+OO+LyhhPkHZpQr9otr8cQhuCDQQd4EIk4VjoZ5OS12GNCax3r/8SX1iDxYOLb62o3Tm7b+nMUTnfZHEdIHZOJlIgIe9EWPF2pzFnaSZDIYUjh6SDlyuTSnh1qW8biQ0bHREW4Pi+zoP0SWOcbyDgsdD0oSHfO0olNmDhEmD59wBD/5R2io1UGgKSNUS+dP2xJK1YTMZxyLoPO4wnR/FDm92WQ3eBY94bHT6wnQGBSLKIgfFoecH8kxOQKlGdplF/McKraO3pq43szpuAk8AzkuzrG/wAT/wJPXXstyWi2PYMALyCseXlgC7rbr3DC09Q== Received: from VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com (10.152.18.56) by VE1EUR03HT100.eop-EUR03.prod.protection.outlook.com (10.152.19.128) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1240.9; Thu, 27 Jul 2017 15:19:44 +0000 Received: from AM4PR06MB1491.eurprd06.prod.outlook.com (10.152.18.59) by VE1EUR03FT036.mail.protection.outlook.com (10.152.19.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.9 via Frontend Transport; Thu, 27 Jul 2017 15:19:44 +0000 Received: from AM4PR06MB1491.eurprd06.prod.outlook.com ([fe80::dcd0:60e6:90e0:871b]) by AM4PR06MB1491.eurprd06.prod.outlook.com ([fe80::dcd0:60e6:90e0:871b%13]) with mapi id 15.01.1282.021; Thu, 27 Jul 2017 15:19:44 +0000 From: =?iso-8859-1?Q?Marvin_H=E4user?= To: "edk2-devel@lists.01.org" CC: "Gao, Liming" , "michael.d.kinney@intel.com" , "jeff.fan@intel.com" Thread-Topic: [PATCH] MdePkg/SecPeiDxeTimerLibCpu: Consume UefiCpuPkg LAPIC code. Thread-Index: AQHTA5wlcfBDCD5qrEmhamQ76DeIzKJhMXOQgAH8Z8CAAAWKQIACMpSggABlhpCAAeLicIAAB7cwgAAW2PCAAAKeIA== Date: Thu, 27 Jul 2017 15:19:43 +0000 Message-ID: References: <542CF652F8836A4AB8DBFAAD40ED192A4C62E463@shsmsx102.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14D75CAE9@shsmsx102.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14D75CBDC@shsmsx102.ccr.corp.intel.com> In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14D75CBDC@shsmsx102.ccr.corp.intel.com> Accept-Language: de-DE, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=outlook.com; x-incomingtopheadermarker: OriginalChecksum:BCC6EB97FEA04A7CBAF35CFE024FA20E487F40981CECE275D7F99CDE0FCA494A; UpperCasedChecksum:B8E048221DAED43C3242113BE7B725FBBBFB73460A530A8AF1AF84CBA39DDD11; SizeAsReceived:8174; Count:45 x-tmn: [cyjBvx0Mi1pQWs+9VR6cWXJq0Ilth77uneWxz0mPWY7VY81FrSpj5SsMAs/SojRn] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VE1EUR03HT100; 7:zuw7QlKFMwpwYm/kbwVAEP40W3ub3ZAr1EWjT9jKIJ+8OFc/Mtt+tlbJdbKx6dtCouGkaWMLjm06OQsMWny/G35YofX5p+UW10GlWP2dnkshbWqUyMsnR/GpvGnn+Gh+53W5Kj+Z653xsPLgPIQ3mxdOI9y0yOulVMP68yprXu/EzmzvCEw36G/lfOurN6zD4xqmLf+CLysuqHdp0wfOQvBrgOhE8BuD8ufC08+Tm0pBJi7RnUbtv7/t711JulUgZDChEFpY3xa87M6v8PL7sVALfiAt3KSrwGUK/yQqrsDCX0uJcdjy4FGg/fgAPzodIi4Z4uMThanzArGPBARRlxtQzP/by9B2uR2/l+tZ6e70CglidZC/Ji61WD3tsQxgysdRHwkOVbLS7opGMm3Piunbs0aGpTpsH5P79Fe8Pekf1XqJ/DLntW5xbwJHa9ffjiEudXD7P3vVqJbqxxXk7IBoWcf4dyq+V7ob+3d7cYSy1o6lMujRCnK5ixpjjBI02uH7bgMo6IRxDbT4CrvGiRXEdycGYZ2YbI1puEUgBLXDSR9dDq0yfLVCWJfM+/HtZLymHra4OCKIGnfOtZK+U+KDvzcfs0hiPMFkyZzPPKpO69OcQYxhklDh1kI5DslzxXwMwH3iEfY1Ol/uxVa99nfsBPEKukcuJvsgDOo+75vBYkRXfPakExHaXPNlewi3OM8ubOh2wT4jSRhU7mHtx+kElQVv/6+Wc0gROjecyEtiTMtnqzMcG8PhObMhT+/V+LVcijiang6woiuyDIk8yQ== x-incomingheadercount: 45 x-eopattributedmessage: 0 x-forefront-antispam-report: EFV:NLI; SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:VE1EUR03HT100; H:AM4PR06MB1491.eurprd06.prod.outlook.com; FPR:; SPF:None; LANG:en; x-ms-office365-filtering-correlation-id: b69575e7-7d0a-4dc6-de76-08d4d502e8e7 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322350)(1603101448)(1601125374)(1701031045)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:VE1EUR03HT100; x-ms-traffictypediagnostic: VE1EUR03HT100: x-exchange-antispam-report-test: UriScan:(189930954265078)(162533806227266)(228905959029699)(68840517438536); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(444000031); SRVR:VE1EUR03HT100; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VE1EUR03HT100; x-forefront-prvs: 03818C953D spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jul 2017 15:19:43.9642 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1EUR03HT100 Subject: Re: [PATCH] MdePkg/SecPeiDxeTimerLibCpu: Consume UefiCpuPkg LAPIC code. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jul 2017 15:17:43 -0000 Content-Language: de-DE Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hey Liming, Thanks for your answer! Sorry, it seems like I indeed had a typo in the bui= ld command and accidentially built with 2005 instead of 2015. It builds fine with VS2015, though I still think the mask value is incorrec= t. After all it includes the first nibble of ApicBaseHi on 64-bit platforms= , rather than the entire value. Regards, Marvin. > -----Original Message----- > From: Gao, Liming [mailto:liming.gao@intel.com] > Sent: Thursday, July 27, 2017 5:09 PM > To: Marvin.Haeuser@outlook.com; edk2-devel@lists.01.org > Cc: Kinney, Michael D ; Fan, Jeff > > Subject: RE: [PATCH] MdePkg/SecPeiDxeTimerLibCpu: Consume UefiCpuPkg > LAPIC code. >=20 > Marvin: > I build this library on IA32 with VS2013x86 and VS2015x86. They can pas= s > build. Could you let me know how to reproduce the compiler issue? Then, > we can further provide the patch to fix it. >=20 > Thanks > Liming > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > > Marvin H?user > > Sent: Thursday, July 27, 2017 9:49 PM > > To: edk2-devel@lists.01.org > > Cc: Kinney, Michael D ; Fan, Jeff > > ; Gao, Liming > > Subject: Re: [edk2] [PATCH] MdePkg/SecPeiDxeTimerLibCpu: Consume > UefiCpuPkg LAPIC code. > > > > Hey Liming, > > > > Old and new because sizeof (UINTN) is what matters. > > > > Thanks, > > Marvin. > > > > > -----Original Message----- > > > From: Gao, Liming [mailto:liming.gao@intel.com] > > > Sent: Thursday, July 27, 2017 3:19 PM > > > To: Marvin.Haeuser@outlook.com; edk2-devel@lists.01.org > > > Cc: Kinney, Michael D ; Fan, Jeff > > > > > > Subject: RE: [PATCH] MdePkg/SecPeiDxeTimerLibCpu: Consume > UefiCpuPkg > > > LAPIC code. > > > > > > Marvin: > > > Do you meet with the compiler issue on the old VS tool chain? > > > > > > Thanks > > > Liming > > > > -----Original Message----- > > > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On > > > > Behalf Of Marvin H?user > > > > Sent: Wednesday, July 26, 2017 4:34 PM > > > > To: edk2-devel@lists.01.org > > > > Cc: Kinney, Michael D ; Fan, Jeff > > > > > > > > Subject: Re: [edk2] [PATCH] MdePkg/SecPeiDxeTimerLibCpu: Consume > > > UefiCpuPkg LAPIC code. > > > > > > > > Hey Jeff, > > > > > > > > That would definitely fix the compilation issue. > > > > Do I see it right that for 32-bit platforms, it's just ApicBase > > > > and for 64-bit > > > platforms, it's ApicBase and ApicBaseHi? > > > > If yes, maybe ~(UINTN)0xFFF should be used to play safe? > > > > > > > > Thanks, > > > > Marvin. > > > > > > > > > -----Original Message----- > > > > > From: Fan, Jeff [mailto:jeff.fan@intel.com] > > > > > Sent: Wednesday, July 26, 2017 4:28 AM > > > > > To: Marvin H=E4user ; edk2- > > > > > devel@lists.01.org > > > > > Cc: Kinney, Michael D > > > > > Subject: RE: [PATCH] MdePkg/SecPeiDxeTimerLibCpu: Consume > > > UefiCpuPkg > > > > > LAPIC code. > > > > > > > > > > Marvin, > > > > > > > > > > Could the following updating fix your issue? > > > > > > > > > > ApicBase =3D MsrValue & ~0xfff; > > > > > > > > > > Thanks! > > > > > Jeff > > > > > > > > > > -----Original Message----- > > > > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On > > > > > Behalf Of Marvin H=E4user > > > > > Sent: Tuesday, July 25, 2017 12:57 AM > > > > > To: edk2-devel@lists.01.org > > > > > Cc: Kinney, Michael D > > > > > Subject: Re: [edk2] [PATCH] MdePkg/SecPeiDxeTimerLibCpu: > Consume > > > > > UefiCpuPkg LAPIC code. > > > > > > > > > > Hi Michael, > > > > > > > > > > Sorry, I did not notice that UefiCpuPkg already has a similiar li= brary. > > > > > Could you please answer my question regarding the mask value > > > > > which I considered incorrect nevertheless? > > > > > I am getting compile-time errors as the mask promotes the value > > > > > to UINT64, which is, on 32-bit platforms, implicitely casted to > > > > > UINT32 (UINTN), resulting in the appropiate data loss warning. > > > > > > > > > > Thanks for your answer! > > > > > > > > > > Regards, > > > > > Marvin. > > > > > > > > > > > -----Original Message----- > > > > > > From: Kinney, Michael D [mailto:michael.d.kinney@intel.com] > > > > > > Sent: Monday, July 24, 2017 6:40 PM > > > > > > To: Marvin H=E4user ; edk2- > > > > > > devel@lists.01.org; Kinney, Michael D > > > > > > > > > > > > Cc: Gao, Liming > > > > > > Subject: RE: [PATCH] MdePkg/SecPeiDxeTimerLibCpu: Consume > > > > > UefiCpuPkg > > > > > > LAPIC code. > > > > > > > > > > > > Hi Marvin, > > > > > > > > > > > > We should not add a dependency on the UefiCpuPkg to the > > > > > > MdePkg. I agree that a better location of the local APIC > > > > > > based timer lib would be the UefiCpuPkg, and there is already > > > > > > one there called SecPeiDxeTimerLibUefiCpu. > > > > > > > > > > > > The TimeLib in the MdePkg was created before the UefiCpuPkg > > > > > > was created, which explains the current state of the MdePkg. > > > > > > > > > > > > The MdePkg version has other limitations noted in the INF and > > > > > > recommends the UefiCpuPkg version be used. > > > > > > > > > > > > Thanks, > > > > > > > > > > > > Mike > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Marvin H=E4user [mailto:Marvin.Haeuser@outlook.com] > > > > > > > Sent: Sunday, July 23, 2017 3:19 AM > > > > > > > To: edk2-devel@lists.01.org > > > > > > > Cc: Kinney, Michael D ; Gao, > > > > > > > Liming > > > > > > > Subject: RE: [PATCH] MdePkg/SecPeiDxeTimerLibCpu: Consume > > > > > > UefiCpuPkg > > > > > > > LAPIC code. > > > > > > > > > > > > > > Dear Michael and Liming, > > > > > > > > > > > > > > I submited the patch as the changes need to be done anyway, > > > > > > > though I think the library might be better moved to UefiCpuPk= g. > > > > > > > Also, is my understanding of the mask value being incorrect > > > > > > > right? I was confused by the 'ULL' suffix, which makes it > > > > > > > look like it was intended. Is it? > > > > > > > > > > > > > > Regards, > > > > > > > Marvin. > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] > > > > > > > > On > > > > > > > Behalf Of > > > > > > > > Marvin H=E4user > > > > > > > > Sent: Sunday, July 23, 2017 12:12 PM > > > > > > > > To: edk2-devel@lists.01.org > > > > > > > > Cc: michael.d.kinney@intel.com; liming.gao@intel.com > > > > > > > > Subject: [edk2] [PATCH] MdePkg/SecPeiDxeTimerLibCpu: > > > > > > > > Consume UefiCpuPkg LAPIC code. > > > > > > > > > > > > > > > > X86TimerLib is changed to use UefiCpuPkg LAPIC register > > > > > > > definitions and > > > > > > > > LocalApicLib to remove duplicated code. An implicite > > > > > > > > change is > > > > > > > the value > > > > > > > > returned by InternalX86GetApicBase() as it now returns the > > > > > > > result of > > > > > > > > GetLocalApicBaseAddress(), which is the full LAPIC address. > > > > > > > This also > > > > > > > > implicitely fixes the incorrect mask value used > > > > > > > > previously, > > > > > > > which did not only > > > > > > > > mask AcpiBase, but also the first nibble of AcpiBaseHi. > > > > > > > > This > > > > > > > does not apply to > > > > > > > > 32-bit platforms. > > > > > > > > > > > > > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > > > > > > > Signed-off-by: Marvin Haeuser > > > > > > > > > --- > > > > > > > > MdePkg/Library/SecPeiDxeTimerLibCpu/X86TimerLib.c = | > > > > > > > 35 +++++++-- > > > > > > > > ----------- > > > > > > > > > > > > > > > > > MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.i > > > > > > > > nf > > > > > > > > | > > > > > > > 4 ++- > > > > > > > > MdePkg/MdePkg.dsc = | > > > > > > > 3 ++ > > > > > > > > 3 files changed, 18 insertions(+), 24 deletions(-) > > > > > > > > > > > > > > > > diff --git > > > > > > > > a/MdePkg/Library/SecPeiDxeTimerLibCpu/X86TimerLib.c > > > > > > > > b/MdePkg/Library/SecPeiDxeTimerLibCpu/X86TimerLib.c > > > > > > > > index 76c66fbce6fb..fa6e6f213029 100644 > > > > > > > > --- a/MdePkg/Library/SecPeiDxeTimerLibCpu/X86TimerLib.c > > > > > > > > +++ b/MdePkg/Library/SecPeiDxeTimerLibCpu/X86TimerLib.c > > > > > > > > @@ -1,7 +1,7 @@ > > > > > > > > /** @file > > > > > > > > Timer Library functions built upon local APIC on IA32/x6= 4. > > > > > > > > > > > > > > > > - Copyright (c) 2006 - 2015, Intel Corporation. All > > > > > > > > rights > > > > > > > reserved.
> > > > > > > > + Copyright (c) 2006 - 2017, Intel Corporation. All > > > > > > > > + rights reserved.
> > > > > > > > This program and the accompanying materials > > > > > > > > are licensed and made available under the terms and > > > > > > > conditions of the BSD > > > > > > > > License > > > > > > > > which accompanies this distribution. The full text of > > > > > > > > the > > > > > > > license may be > > > > > > > > found at @@ -13,18 +13,14 @@ **/ > > > > > > > > > > > > > > > > #include > > > > > > > > +#include #include > > > > > > > > + > > > > > > > > #include #include > > > > > > > > #include #include > > > > > > > > #include > > > > > > > > > > > > > > > > -#define APIC_SVR 0x0f0 > > > > > > > > -#define APIC_LVTERR 0x370 > > > > > > > > -#define APIC_TMICT 0x380 > > > > > > > > -#define APIC_TMCCT 0x390 > > > > > > > > -#define APIC_TDCR 0x3e0 > > > > > > > > - > > > > > > > > // > > > > > > > > // The following array is used in calculating the > > > > > > > > frequency of > > > > > > > local APIC // > > > > > > > > timer. Refer to IA-32 developers' manual for more details. > > > > > > > > @@ -54,30 +50,21 @@ InternalX86GetApicBase ( > > > > > > > > VOID > > > > > > > > ) > > > > > > > > { > > > > > > > > - UINTN MsrValue; > > > > > > > > UINTN ApicBase; > > > > > > > > > > > > > > > > - MsrValue =3D (UINTN) AsmReadMsr64 (27); > > > > > > > > - ApicBase =3D MsrValue & 0xffffff000ULL; > > > > > > > > - > > > > > > > > // > > > > > > > > - // Check the APIC Global Enable bit (bit 11) in > > > > > > > IA32_APIC_BASE MSR. > > > > > > > > - // This bit will be 1, if local APIC is globally enabled= . > > > > > > > > + // Verify local APIC is under XAPIC mode. > > > > > > > > // > > > > > > > > - ASSERT ((MsrValue & BIT11) !=3D 0); > > > > > > > > + ASSERT (GetApicMode () =3D=3D LOCAL_APIC_MODE_XAPIC); > > > > > > > > > > > > > > > > - // > > > > > > > > - // Check the APIC Extended Mode bit (bit 10) in > > > > > > > IA32_APIC_BASE MSR. > > > > > > > > - // This bit will be 0, if local APIC is under XAPIC mode= . > > > > > > > > - // > > > > > > > > - ASSERT ((MsrValue & BIT10) =3D=3D 0); > > > > > > > > + ApicBase =3D GetLocalApicBaseAddress (); > > > > > > > > > > > > > > > > // > > > > > > > > // Check the APIC Software Enable/Disable bit (bit 8) > > > > > > > > in > > > > > > > Spurious-Interrupt > > > > > > > > // Vector Register. > > > > > > > > // This bit will be 1, if local APIC is software enabled= . > > > > > > > > // > > > > > > > > - ASSERT ((MmioRead32 (ApicBase + APIC_SVR) & BIT8) !=3D > > > > > > > > 0); > > > > > > > > + ASSERT ((MmioRead32 (ApicBase + > > > > > > > XAPIC_SPURIOUS_VECTOR_OFFSET) & > > > > > > > > BIT8) > > > > > > > > + !=3D 0); > > > > > > > > > > > > > > > > return ApicBase; > > > > > > > > } > > > > > > > > @@ -98,7 +85,9 @@ InternalX86GetTimerFrequency ( { > > > > > > > > return > > > > > > > > PcdGet32(PcdFSBClock) / > > > > > > > > - mTimerLibLocalApicDivisor[MmioBitFieldRead32 (ApicBase= + > > > > > > > APIC_TDCR, > > > > > > > > 0, 3)]; > > > > > > > > + mTimerLibLocalApicDivisor[ > > > > > > > > + MmioBitFieldRead32 (ApicBase + > > > > > > > > XAPIC_TIMER_DIVIDE_CONFIGURATION_OFFSET, 0, 3) > > > > > > > > + ]; > > > > > > > > } > > > > > > > > > > > > > > > > /** > > > > > > > > @@ -115,7 +104,7 @@ InternalX86GetTimerTick ( > > > > > > > > IN UINTN ApicBase > > > > > > > > ) > > > > > > > > { > > > > > > > > - return MmioRead32 (ApicBase + APIC_TMCCT); > > > > > > > > + return MmioRead32 (ApicBase + > > > > > > > > XAPIC_TIMER_CURRENT_COUNT_OFFSET); > > > > > > > > } > > > > > > > > > > > > > > > > /** > > > > > > > > @@ -131,7 +120,7 @@ InternalX86GetInitTimerCount ( > > > > > > > > IN UINTN ApicBase > > > > > > > > ) > > > > > > > > { > > > > > > > > - return MmioRead32 (ApicBase + APIC_TMICT); > > > > > > > > + return MmioRead32 (ApicBase + > > > > > > > XAPIC_TIMER_INIT_COUNT_OFFSET); > > > > > > > > } > > > > > > > > > > > > > > > > /** > > > > > > > > diff --git > > > > > > > > > > > a/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf > > > > > > > > > > > b/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf > > > > > > > > index a00ebb0eeb64..286da09db174 100644 > > > > > > > > --- > > > > > > > > a/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.i > > > > > > > nf > > > > > > > > +++ > > > > > > > > b/MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.i > > > > > > > nf > > > > > > > > @@ -13,7 +13,7 @@ > > > > > > > > # Note that for IA-32 and x64, this library only supports > > > > > > > xAPIC mode. If > > > > > > > > x2APIC # support is desired, the SecPeiDxeTimerLibUefiCpu > > > > > > > library can be > > > > > > > > used. > > > > > > > > # > > > > > > > > -# Copyright (c) 2007 - 2014, Intel Corporation. All > > > > > > > > rights > > > > > > > reserved.
> > > > > > > > +# Copyright (c) 2007 - 2017, Intel Corporation. All > > > > > > > > +rights reserved.
> > > > > > > > # > > > > > > > > # This program and the accompanying materials # are > > > > > > > licensed and made > > > > > > > > available under the terms and conditions of the BSD > > > > > > > > License @@ > > > > > > > -48,6 +48,7 > > > > > > > > @@ [Sources.IPF] > > > > > > > > > > > > > > > > [Packages] > > > > > > > > MdePkg/MdePkg.dec > > > > > > > > + UefiCpuPkg/UefiCpuPkg.dec > > > > > > > > > > > > > > > > > > > > > > > > [LibraryClasses] > > > > > > > > @@ -57,6 +58,7 @@ [LibraryClasses.IA32, LibraryClasses.X64] > > > > > > > > PcdLib > > > > > > > > IoLib > > > > > > > > DebugLib > > > > > > > > + LocalApicLib > > > > > > > > > > > > > > > > [LibraryClasses.IPF] > > > > > > > > PalLib > > > > > > > > diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc index > > > > > > > > 010ce533d7ea..8988d1947566 100644 > > > > > > > > --- a/MdePkg/MdePkg.dsc > > > > > > > > +++ b/MdePkg/MdePkg.dsc > > > > > > > > @@ -35,6 +35,9 @@ [PcdsFixedAtBuild] > > > > > > > > [PcdsFixedAtBuild.IPF] > > > > > > > > > > > > > > > > > > gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000 > > > > > > > 0 > > > > > > > 00 > > > > > > > > > > > > > > > > +[LibraryClasses] > > > > > > > > + > > > > > > > > > > > > > > > > > > +LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2A > > > > > > > +LocalApicLib|p > > > > > > > icLib.i > > > > > > > > +nf > > > > > > > > + > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ########################################################## > > > > > > > > ######################################### > > > > > > > > # > > > > > > > > # Components Section - list of the modules and components > > > > > > > > that > > > > > > > will be > > > > > > > > processed by compilation > > > > > > > > -- > > > > > > > > 2.12.2.windows.2 > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > 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-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