From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web11.1976.1637552052190867634 for ; Sun, 21 Nov 2021 19:34:13 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=fTE/IMtt; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10175"; a="295524343" X-IronPort-AV: E=Sophos;i="5.87,253,1631602800"; d="scan'208";a="295524343" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2021 19:34:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,253,1631602800"; d="scan'208";a="588860846" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by FMSMGA003.fm.intel.com with ESMTP; 21 Nov 2021 19:34:10 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Sun, 21 Nov 2021 19:34:10 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Sun, 21 Nov 2021 19:34:10 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Sun, 21 Nov 2021 19:34:10 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Sun, 21 Nov 2021 19:34:09 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kvKUIDoI7f6k4CIBUb/wiqHcwAeVJ0SXQBYOQP4faT1cKBOu3SdwAJibZQjHQ1NM2teodY/2sT3nkzHns3jaXdaCTozvGA+Zg3Q5ICB+7C79QnhOFGA2RmXVzbK7i+8tRqw2alm/VqrChx5KL358fr3GJaUKqtymmiGrbju18satf71pGdrtzQi+rdK6/TnwgbpjOoG+oo37w1w5ccNnHfXPX3s82Wuf4POMZ1zNLOk9zrfz6BDOT2FvNEyfEoBBmaWCWmKFzc9mo+7SprmbTLth9+xVCu1JYezvHl9WYUjQ8EjuPwYj05DbXpYZ9uniIMu7SeprDRi868uZmwpucA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kszbWCSrOp3VwKm0UpvTN/IB/ewIBM8CMLsWgahk8X4=; b=baf/uvC+th51RGrBswnkX5JlUlDCOxH4x6o15QumIw7DxGjWo3Jgp5xo75LKbfNdCRDvyeCcarrHZ+oNRJQc0cdJoIDGB4mNo2wpdfZXRssjQQN89dvh/8hq+JOdP5MG4AHSNtZZHFU0JNuvZXee+UiBDGjbEGJyjz1Y/uwC/QJiwFbRvpr/UEQ5FwguUxCyY74VhCrD0TJPMLVxOrEO/ZB0Jb5Q37HTc6cqZEcD2bD5Rbfgtift7TrqRwHVDtC2QXOpBzZZu/56b650z8ihxEVYjVdWr2ZRnxumike87yzZlHIrHZs7aNAt6UGiWLVHjZqFazi5o/GUoqXCkyrxmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kszbWCSrOp3VwKm0UpvTN/IB/ewIBM8CMLsWgahk8X4=; b=fTE/IMttqnaFqze1e+HtqUep9qBtx8Kd/+LVbTJg5tnunrdfM0+NcRKC1SnhI3Q32W3TTkV5NAnqjHUYBYAT41WdlBFchZREpZBjvNR+UZ0JaEt56NiEuzEtsi38bk9/AZZsEuMIdAuVv78+zWk37b2XoFr2mOXpdcuAedvT9Rs= Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by MWHPR11MB1469.namprd11.prod.outlook.com (2603:10b6:301:c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.20; Mon, 22 Nov 2021 03:34:08 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::1d07:d296:b2c7:7114]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::1d07:d296:b2c7:7114%8]) with mapi id 15.20.4669.016; Mon, 22 Nov 2021 03:34:08 +0000 From: "Yao, Jiewen" To: "Ni, Ray" , "Xu, Min M" , "devel@edk2.groups.io" CC: Gerd Hoffmann , Anthony Perard , Julien Grall , "Dong, Eric" Subject: Re: [PATCH V3 3/3] OvmfPkg: Move LocalApicTimerDxe to UefiCpuPkg Thread-Topic: [PATCH V3 3/3] OvmfPkg: Move LocalApicTimerDxe to UefiCpuPkg Thread-Index: AQHX1GcS+GEsKxlLnEWpqGKtq4uRsKwO8paAgAAHOpA= Date: Mon, 22 Nov 2021 03:34:08 +0000 Message-ID: References: <69c2eeac1fb327acc92626886477755b6b12e044.1636350203.git.min.m.xu@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 06b6ab87-d30d-4e1e-ecf4-08d9ad68f14a x-ms-traffictypediagnostic: MWHPR11MB1469: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YLxcbtBB9o2XoGTJLDEgTE58wIOjha4srz/BXaMrIqS6BrB0c9fP8MQbbj+GgIIA8D7slJFLCcmXjRn+QUun02YxEx8mbkOEw+ZaHmvD/44+EdyZoguUislDBa/5eA31F/1xGLuMU/hH8SguU7/51W3dJHB6mhS1IV3DPqbQFfpNohBeY+YnkB0Za6860Er57preRT54QqKoISTlmpp3dYIQInDrLmskSb740AQ+8xqXdJLgsppGpErg4eHzfuHot+hC2O6esrT2hPtgMT45fbdSP7pXxPYxIvzk819M1o9xK4VgingWMOBAh8pgEAksZawa166eZeq5J6O8/GJEhEe45YuXYQk8fM04ecDyiw2BV8K+q9djnQ8ckOXhQtQ0cSmlB1oeu9PqyfTYSoPYzqDjWydoGeg6xFUpQZwfTClVFX0lG67DUH7fJ0iqSPNCRmyk9D/PJxcrPUpFB2J/OJPuFWoxMsDFV2sD4fhSExhJaDPxPtM+0s9eiyxv4Hr1y4Wl8fbL/6KL2UlJ5sTJvVGTT30rVEWvtGN596IKAmEofJHgO4BxOui+e1fIe8xF5eSAEQlXzyDnwAQdQEM5IPYMNLcGFp+n+kaT/VE/PJBWtbJE44rKvJtVRNgX0ZO8L6Nn5qL7DpCeLmbZCvnRC16maSC9jx1RyJpCNFnA/fwVIHuHejSWmPCFww20AHK6164gZFsjq4OSOwfCk375+s6wc9LNRpz4Tf6xE6g9lCzOR+BQPSxm07ipTb3wN9ELzssTP0G0U/2INv8py1wRMFxzQTzffmLUam+yAmXHKKQ= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(52536014)(8936002)(9686003)(82960400001)(38070700005)(966005)(38100700002)(30864003)(110136005)(316002)(54906003)(5660300002)(71200400001)(2906002)(107886003)(26005)(7696005)(66946007)(6506007)(83380400001)(33656002)(64756008)(19627235002)(122000001)(186003)(4326008)(66556008)(86362001)(8676002)(66476007)(53546011)(55016002)(66446008)(508600001)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?o8ZXLP0yK2q/MQGnz7qn71mhgECy090vqHlFrDM89UUVLLp2pI/x3sDU2T/y?= =?us-ascii?Q?02i0EKh4Hadfyesd7FmT1jBCd/WLhYnju1jy4splFRa0QviI5Xc2jZVU6dUf?= =?us-ascii?Q?FD8S9PTyIOVIQRHC6B9PMpXt4TePEkuBp7ffqTjTwbQd8VJF4DWT5Qoy1ZWB?= =?us-ascii?Q?oEVFKyqi2H58dc74EZnl+BrRd4T2SacaQE+vk3yZqH8N2X6tISix4c44B1eZ?= =?us-ascii?Q?UIX3mYo/FWcFcDm3ci8Lqzd8DDHgEREA0BsyaHus0ShZIqi83m6kALCNUcyC?= =?us-ascii?Q?84qCsp86Gr5tyFaOosWDJBRaB0oUXRCGVq76akR/zz7gAlZsppg/L1/Q6Bzw?= =?us-ascii?Q?mU5XeaPURoNkAMQ/D5y6SFgLwccLtzVk2Xky/bSMFEWPa8FNtejgI7aIttH5?= =?us-ascii?Q?vc7zvINMn1W5J0MZpBzPqfafZW1ItRF0KvbcDMEv1peHCTyNkZCT2ZMjh3pD?= =?us-ascii?Q?7xFpUQxQPXSDE7NcEloK/QiA9Gw9UoW1okmUKL79VzXFfn1kwIeOW5pABvU9?= =?us-ascii?Q?SosBvCNJAvCDrCCVLOkqrVnJWDnRvpvnrBZJOzY8c/J7Gsj4ai4XaqBtb1xf?= =?us-ascii?Q?NsngAEY9HEeQ/qyJFBKRBZIygFyICmHCmiRbv1tkI5EOZwhhZDIVcM4FJWzt?= =?us-ascii?Q?X2c8l/m4e2I5MiJz37yDaPs+RglKXGcZtV/KtAp6sRc1AqR7kSFJiU6IBNGZ?= =?us-ascii?Q?ecGyGv2x0yXhK/B3iVo3UVVsQGoQ6OT/8t/4uCVq6P+rNgA/5gPalj+w+Tz+?= =?us-ascii?Q?AETMUEP9NLadMAzY8Io/2lrYKqIILvApjp7DTf3c+sDuDhlvmLKIesx7gOGT?= =?us-ascii?Q?0vQEx3T5Vqo+sQZ4End/szb9fYootQ73PCIXk8XK55NsPibwzCq92PBCbcw+?= =?us-ascii?Q?Ii/CNnGuyN3sudScWlF0lbmt02BtIMclx232xQRQSHbSHt7BIWlhs6MNY6jp?= =?us-ascii?Q?KYbBj6UAQ5QangTPl538PkAfbIbsXW6VNDnLbMVqJ0FXTuj0rRQbUjRMSJI3?= =?us-ascii?Q?uSFhP4DvDay581i80U8x92wp+96w8CRdRN6Qv3IzNxHSQZsunvx3JAx5z9z5?= =?us-ascii?Q?9iIOdJTwTmzeaVMsp3TDTR9G/Lje+HUKe59Y62vmIqNrGhytxlneFB+XgfXA?= =?us-ascii?Q?FZO0w3vU5A5bn7Fc553/t2xh41Q2i0IkpESkcfHI9HSc0vZnBJ8+hFcV4p1A?= =?us-ascii?Q?8wxYGh+KfGwNORfKEs6y7bSxuC0Y5I7umrwibmQJVmZnZo7ZahzGP/eQMHpp?= =?us-ascii?Q?tRtL8gM4SI0B7NmoiNgDfM2upHt4EXiZB/ib47Fm4W84KHvLq2hKQ7Vwvljq?= =?us-ascii?Q?owgNEt4Is85efcRJQbZRA6a9TjzBkzIoQHM050wthR8Z4G6sZ8HuL/d4nWV9?= =?us-ascii?Q?IMn7jA/2mkpoRl2DnTW4lz6LV0Sbei9xGuwzumDUKxrDqZyuuGtt4wmg87lG?= =?us-ascii?Q?AWtEUX510V9I/6h4Oiqmz1olFAKLXvN+QS66fdpIzX4O+N9+nTRRS82B3RQh?= =?us-ascii?Q?cq4WkZB58cwMdTFfSnuJ+O/zuB1lD6SYiDywxCptD94JC7qg5nns/Y+oEQ2q?= =?us-ascii?Q?mMq5wrUasZuzEK85yEhbg/Y4E7Pg8j9FkscsmspdDpG+nF8UizeGVTCUK6AI?= =?us-ascii?Q?DA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06b6ab87-d30d-4e1e-ecf4-08d9ad68f14a X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2021 03:34:08.4695 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: F0LGuDQ5SenE/uXCWnn1Bll6puc0tmwgp7dR9++kj/cbB7Gfu5VFIxsfyUa7u7p2gc2SIWMOdIF3V3LPhE/vGA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1469 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks Ray. I prefer to put the LocalApicTimerDxe to UefiCpuPkg, because it is hardware= feature. There is no specific OVMF or QEMU related thing there. It does not make sen= se to keep it to OvmfPkg. Your quality concern is valid. I think the quality expectation for LocalApi= cTimerDxe should be same, no matter it is in OvmfPkg or UefiCpuPkg. I don't think the expectation is that the quality can be lower if it is in = OvmfPkg and it must be higher if it is in UefiCpuPkg. All quality issues of LocalApicTimerDxe should be resolved, no matter where= it is finally located. Thank you Yao Jiewen > -----Original Message----- > From: Ni, Ray > Sent: Monday, November 22, 2021 11:05 AM > To: Xu, Min M ; devel@edk2.groups.io > Cc: Yao, Jiewen ; Gerd Hoffmann > ; Anthony Perard ; Julien > Grall ; Dong, Eric > Subject: RE: [PATCH V3 3/3] OvmfPkg: Move LocalApicTimerDxe to UefiCpuPkg >=20 > Min, > What's the reason of moving this driver to UefiCpuPkg? >=20 > When the LocalApicTimerDxe is in OvmfPkg, it's clear that this driver is = only used > by OVMF/QEMU platform. > Now since the patch moves the driver to UefiCpuPkg, it's possible that ot= her > platforms may choose this driver as the timer driver in DXE phase. >=20 > So, we need to make sure the quality of this driver is good enough for a = broad > scope of platforms. >=20 > 1. What's the issue when this driver still stays in OvmfPkg? If it's a mu= st that this > driver stays in UefiCpuPkg, please help to address following questions: >=20 > 2. Can SourceLevelDebug (rely on Local APIC timer) work if this driver is= chosen > as DXE timer driver? > 3. Can detailed comments be added for " @bug : This does not handle misse= d > timer interrupts" in TimerInterruptHandler()? > 4. Can detailed comments be added for " DisableInterrupts ();" in > TimerInterruptHandler()? > 5. In general what kinds of platforms are capable of using this driver as= Timer > driver? >=20 > Thanks, > Ray >=20 > -----Original Message----- > From: Xu, Min M > Sent: Monday, November 8, 2021 2:08 PM > To: devel@edk2.groups.io > Cc: Xu, Min M ; Yao, Jiewen ; > Gerd Hoffmann ; Anthony Perard > ; Julien Grall ; Dong, Eric > ; Ni, Ray > Subject: [PATCH V3 3/3] OvmfPkg: Move LocalApicTimerDxe to UefiCpuPkg >=20 > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3711 >=20 > OvmfPkg.dec is removed from [Packages] because it doesn't depend > on OvmfPkg. LocalApicTimerDxe is moved to UefiCpuPkg. >=20 > Cc: Jiewen Yao > Cc: Gerd Hoffmann > Cc: Anthony Perard > Cc: Julien Grall > Cc: Eric Dong > Cc: Ray Ni > Signed-off-by: Min Xu > --- > OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +- > OvmfPkg/AmdSev/AmdSevX64.fdf | 2 +- > OvmfPkg/Microvm/MicrovmX64.dsc | 2 +- > OvmfPkg/Microvm/MicrovmX64.fdf | 2 +- > OvmfPkg/OvmfPkgIa32.dsc | 2 +- > OvmfPkg/OvmfPkgIa32.fdf | 2 +- > OvmfPkg/OvmfPkgIa32X64.dsc | 2 +- > OvmfPkg/OvmfPkgIa32X64.fdf | 2 +- > OvmfPkg/OvmfPkgX64.dsc | 2 +- > OvmfPkg/OvmfPkgX64.fdf | 2 +- > OvmfPkg/OvmfXen.dsc | 2 +- > OvmfPkg/OvmfXen.fdf | 2 +- > .../LocalApicTimerDxe/LocalApicTimerDxe.c | 0 > .../LocalApicTimerDxe/LocalApicTimerDxe.h | 0 > .../LocalApicTimerDxe/LocalApicTimerDxe.inf | 6 ++++-- > 15 files changed, 16 insertions(+), 14 deletions(-) > rename {OvmfPkg =3D> UefiCpuPkg}/LocalApicTimerDxe/LocalApicTimerDxe.c > (100%) > rename {OvmfPkg =3D> UefiCpuPkg}/LocalApicTimerDxe/LocalApicTimerDxe.h > (100%) > rename {OvmfPkg =3D> UefiCpuPkg}/LocalApicTimerDxe/LocalApicTimerDxe.inf > (79%) >=20 > diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc > b/OvmfPkg/AmdSev/AmdSevX64.dsc > index 88c51dfe8337..888fc24f1b58 100644 > --- a/OvmfPkg/AmdSev/AmdSevX64.dsc > +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc > @@ -674,7 +674,7 @@ > MdeModulePkg/Universal/EbcDxe/EbcDxe.inf > UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf > UefiCpuPkg/CpuDxe/CpuDxe.inf > - OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > + UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf >=20 > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf { > diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf > b/OvmfPkg/AmdSev/AmdSevX64.fdf > index 7489b04198fe..659810f96bec 100644 > --- a/OvmfPkg/AmdSev/AmdSevX64.fdf > +++ b/OvmfPkg/AmdSev/AmdSevX64.fdf > @@ -208,7 +208,7 @@ INF > MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf > INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf > INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf > INF UefiCpuPkg/CpuDxe/CpuDxe.inf > -INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > +INF UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > INF > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf > diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc > b/OvmfPkg/Microvm/MicrovmX64.dsc > index 1a0e848f8356..fcb8b571a041 100644 > --- a/OvmfPkg/Microvm/MicrovmX64.dsc > +++ b/OvmfPkg/Microvm/MicrovmX64.dsc > @@ -656,7 +656,7 @@ >=20 > MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf > MdeModulePkg/Universal/EbcDxe/EbcDxe.inf > - OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > + UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf > UefiCpuPkg/CpuDxe/CpuDxe.inf >=20 > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > diff --git a/OvmfPkg/Microvm/MicrovmX64.fdf > b/OvmfPkg/Microvm/MicrovmX64.fdf > index ac9efba26811..d02e88e2a48e 100644 > --- a/OvmfPkg/Microvm/MicrovmX64.fdf > +++ b/OvmfPkg/Microvm/MicrovmX64.fdf > @@ -215,7 +215,7 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf > INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf > INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf > INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf > -INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > +INF UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf > INF UefiCpuPkg/CpuDxe/CpuDxe.inf > INF > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index d0e9f3ca05f6..f8c8ef1e58be 100644 > --- a/OvmfPkg/OvmfPkgIa32.dsc > +++ b/OvmfPkg/OvmfPkgIa32.dsc > @@ -763,7 +763,7 @@ > OvmfPkg/8259InterruptControllerDxe/8259.inf > OvmfPkg/8254TimerDxe/8254Timer.inf > !else > - OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > + UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > !endif >=20 > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf > index b7b35a3a490a..321d4a871afa 100644 > --- a/OvmfPkg/OvmfPkgIa32.fdf > +++ b/OvmfPkg/OvmfPkgIa32.fdf > @@ -218,7 +218,7 @@ INF UefiCpuPkg/CpuDxe/CpuDxe.inf > INF OvmfPkg/8259InterruptControllerDxe/8259.inf > INF OvmfPkg/8254TimerDxe/8254Timer.inf > !else > - INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > + INF UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > !endif > INF > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc > index d3531d388e24..4de4ed21a5ca 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.dsc > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc > @@ -777,7 +777,7 @@ > OvmfPkg/8259InterruptControllerDxe/8259.inf > OvmfPkg/8254TimerDxe/8254Timer.inf > !else > - OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > + UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > !endif >=20 > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf > index 986228a44c78..10e97c35001f 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.fdf > +++ b/OvmfPkg/OvmfPkgIa32X64.fdf > @@ -222,7 +222,7 @@ INF UefiCpuPkg/CpuDxe/CpuDxe.inf > INF OvmfPkg/8259InterruptControllerDxe/8259.inf > INF OvmfPkg/8254TimerDxe/8254Timer.inf > !else > - INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > + INF UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > !endif > INF > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc > index c6ee624fc738..57b0c3c10826 100644 > --- a/OvmfPkg/OvmfPkgX64.dsc > +++ b/OvmfPkg/OvmfPkgX64.dsc > @@ -775,7 +775,7 @@ > OvmfPkg/8259InterruptControllerDxe/8259.inf > OvmfPkg/8254TimerDxe/8254Timer.inf > !else > - OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > + UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > !endif >=20 > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf > index 99339e73bb51..b52c43127845 100644 > --- a/OvmfPkg/OvmfPkgX64.fdf > +++ b/OvmfPkg/OvmfPkgX64.fdf > @@ -238,7 +238,7 @@ INF UefiCpuPkg/CpuDxe/CpuDxe.inf > INF OvmfPkg/8259InterruptControllerDxe/8259.inf > INF OvmfPkg/8254TimerDxe/8254Timer.inf > !else > - INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > + INF UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > !endif > INF > OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf > INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc > index 7c4c5412d102..d4a9e8f87def 100644 > --- a/OvmfPkg/OvmfXen.dsc > +++ b/OvmfPkg/OvmfXen.dsc > @@ -551,7 +551,7 @@ > MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf >=20 > MdeModulePkg/Universal/EbcDxe/EbcDxe.inf > - OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > + UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf > UefiCpuPkg/CpuDxe/CpuDxe.inf > OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > diff --git a/OvmfPkg/OvmfXen.fdf b/OvmfPkg/OvmfXen.fdf > index 196853740753..76934d354fa6 100644 > --- a/OvmfPkg/OvmfXen.fdf > +++ b/OvmfPkg/OvmfXen.fdf > @@ -298,7 +298,7 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf > INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf > INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf > INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf > -INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > +INF UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf > INF UefiCpuPkg/CpuDxe/CpuDxe.inf > INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf > diff --git a/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.c > b/UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.c > similarity index 100% > rename from OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.c > rename to UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.c > diff --git a/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.h > b/UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.h > similarity index 100% > rename from OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.h > rename to UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.h > diff --git a/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > b/UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > similarity index 79% > rename from OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > rename to UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > index 3ad28a148c5b..4f2b4db9e5dc 100644 > --- a/OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > +++ b/UefiCpuPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf > @@ -1,6 +1,9 @@ > ## @file > # Local APIC timer driver that provides Timer Arch protocol. > -# PcdFSBClock is defined in MdePkg and it should be set by the consumer. > +# > +# This driver is to support fixed frequency. If a real platform happens > +# to have fixed frequency, then it can be used. In this case the consume= r > +# should set PcdFSBClock which is defined in MdePkg. > # > # Copyright (c) 2005 - 2019, Intel Corporation. All rights reserved.
> # Copyright (c) 2019, Citrix Systems, Inc. > @@ -21,7 +24,6 @@ > [Packages] > MdePkg/MdePkg.dec > UefiCpuPkg/UefiCpuPkg.dec > - OvmfPkg/OvmfPkg.dec >=20 > [LibraryClasses] > UefiBootServicesTableLib > -- > 2.29.2.windows.2