From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6A57C817B4 for ; Mon, 9 Jan 2017 14:41:29 -0800 (PST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP; 09 Jan 2017 14:41:29 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,341,1477983600"; d="scan'208";a="28238775" Received: from lagutie1-mobl1.amr.corp.intel.com (HELO localhost) ([10.252.134.247]) by orsmga002.jf.intel.com with ESMTP; 09 Jan 2017 14:41:28 -0800 MIME-Version: 1.0 To: "Duran, Leo" , "'Laszlo Ersek'" , "'Gao, Liming'" , "edk2-devel@lists.01.org" Message-ID: <148400168843.2527.7563495097385526507@jljusten-ivb> From: Jordan Justen In-Reply-To: Cc: "Ni, Ruiyu" , "Singh, Brijesh" , "Kinney, Michael D" , "Fan, Jeff" , "Agyeman, Prince" , "Wei, David" References: <1483652965-14357-1-git-send-email-leo.duran@amd.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14D6CA2BD@shsmsx102.ccr.corp.intel.com> <9bf84287-cdec-b5c0-26c6-16f5cd1e453f@redhat.com> <148375017874.13659.3185969071926290103@jljusten-ivb> <4A89E2EF3DFEDB4C8BFDE51014F606A14D6CAC20@shsmsx102.ccr.corp.intel.com> <07b6ae9d-fa79-6e9e-2320-8cbef093d8a7@redhat.com> User-Agent: alot/0.3.7 Date: Mon, 09 Jan 2017 14:41:28 -0800 Subject: Re: [PATCH v3 0/4] BaseIoFifoLib X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jan 2017 22:41:29 -0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On 2017-01-09 08:37:38, Duran, Leo wrote: > > -----Original Message----- > > From: Laszlo Ersek [mailto:lersek@redhat.com] > > Sent: Monday, January 09, 2017 9:14 AM > > = > > On 01/09/17 15:22, Duran, Leo wrote: > > > > > >> -----Original Message----- > > >> From: Gao, Liming [mailto:liming.gao@intel.com] > > >> Sent: Sunday, January 08, 2017 9:11 PM > > >> > > >> Leo: > > >> IoLib Library class is designed from the functionality, not code > > >> implementation. So, many IO operations are included in this library > > >> class. If developers want to use IO API, they only need to check IoL= ib > > library class. > > >> After add new APIs, we need to update all IoLib library instances to > > >> implement them. And, if any library API implementation has the > > >> different version, the full library instance will have to be copied > > >> to another instance. I know your concern is to duplicate the library > > >> implementation. But, I think this is the separate topic to optimize > > >> the library implementation and reuse the same source file. Other > > >> library instances may have the same issue. So, I suggest you submit > > >> bugzilla for this optimization request. We will figure out the solut= ion and > > review it in this mail list. > > >> > > > > > > I'm not sure I follow what you mean by an 'optimization request'. > > = > > I think under "optimization", Liming means eliminating code duplication > > between IoLib library instances. That is, if I understand correctly, Li= ming and > > Jordan suggest that you first add the new interfaces to the IoLib class= header, > > add (--> duplicate) the implementation to all library instances, then f= ile a BZ > > about eliminating code duplication between the library instances. > > = > > This is my understanding anyway. > > = > [Duran, Leo] Thanks Lazlo... Unfortunately the 'ask' is still not clear = to me. > Liming, I would appreciate some clarification. Can you simplify the request down to what is needed, and not worry about the 'IoFifoLib' implementation idea? Then put that into a bugzilla feature request? I think that was Liming's request. Would a reasonable example feature request be: "OVMF should detect Secure Encrypted Virtualization mode, and if detected, it should not use rep i/o instructions" I think you should also try to provide details for how to detect SEV mode in the feature request. One situation that sounds familiar to me is 881813d7a93d9009c873515b043c41c4554779e4. By the way, is this true? You simply cannot use those instructions? It's not a matter of them being really slow, but they just don't work at all? -Jordan