From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eastrmfepo203.cox.net (eastrmfepo203.cox.net [68.230.241.218]) by ml01.01.org (Postfix) with ESMTP id 2E6F22007FD1C for ; Wed, 5 Jul 2017 05:56:08 -0700 (PDT) Received: from eastrmimpo305.cox.net ([68.230.241.237]) by eastrmfepo203.cox.net (InterMail vM.8.01.05.28 201-2260-151-171-20160122) with ESMTP id <20170705125747.MRGL16450.eastrmfepo203.cox.net@eastrmimpo305.cox.net> for ; Wed, 5 Jul 2017 08:57:47 -0400 Received: from nessus.rodsbooks.com ([72.209.58.79]) by eastrmimpo305.cox.net with cox id h0xm1v0211iZxRU010xmt6; Wed, 05 Jul 2017 08:57:47 -0400 X-CT-Class: Clean X-CT-Score: 0.00 X-CT-RefID: str=0001.0A020203.595CE24B.0035, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CT-Spam: 0 X-Authority-Analysis: v=2.1 cv=b7Y8472x c=1 sm=1 tr=0 a=z3VlLZBMWEV9qHpJH5brsw==:117 a=z3VlLZBMWEV9qHpJH5brsw==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=IkcTkHD0fZMA:10 a=G3gG6ho9WtcA:10 a=FP58Ms26AAAA:8 a=28bguoTQAAAA:8 a=OLvKRjO0TORAKnzppb8A:9 a=QEXdDO2ut3YA:10 a=v2312BZ5C20A:10 a=voRV_PY5qW-4FQMV9MBC:22 X-CM-Score: 0.00 Authentication-Results: cox.net; none Received: from [192.168.1.2] (nessus.rodsbooks.com [192.168.1.2]) by nessus.rodsbooks.com (Postfix) with ESMTP id AA5A72A04AC for ; Wed, 5 Jul 2017 08:58:40 -0400 (EDT) To: edk2-devel@lists.01.org References: From: Rod Smith Message-ID: <4544e851-58e6-ddae-0031-3c8a05540809@rodsbooks.com> Date: Wed, 5 Jul 2017 08:58:40 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: Subject: Re: writing EDK compatible application. 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: Wed, 05 Jul 2017 12:56:08 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit On 07/04/2017 04:10 PM, Laszlo Ersek wrote: > On 07/04/17 19:20, Amit kumar wrote: >> >> HI, >> >> I have written a code (say helloworld program ) using edk2 framework, named the output efi file as BOOTx64.efi and placed it on a removable media in EFI/BOOT/ directory so that the application is listed in one time boot menu. When selected from boot menu it prints "Hello World". >> Which works as expected when tested on UEFI 2.3 and above platforms. >> But the same code fails to execute on EFI 1.10 platforms. Which i suppose is the problem with application entry point. >> Can somebody suggest me a way so that the application entry function can be compatible to both the platform. Even when written according to UEFI 2.5+ Spec ? > > I don't think you can develop for EFI 1 using edk2 -- unless you use > EdkCompatibilityPkg I guess. But, I don't know how much > EdkCompatibilityPkg is maintained. Actually, I think it is possible -- or at the very least, it's possible to write something that works on both UEFI-based PCs and EFI 1.1-based Macs. My rEFInd (https://sourceforge.net/projects/refind/) does this. I've used it with Macs as early as a first-generation 32-bit Mac Mini. I have NOT tested it with any non-Apple EFI 1.x implementations, though. I recall I had to fiddle with the .inf file to get it to work with Macs. Comparing my refind.inf to other .inf files included in EDK2, I think the relevant line(s) were one or both of the following: EDK_RELEASE_VERSION = 0x00020000 EFI_SPECIFICATION_VERSION = 0x00010000 This is in the [Defines] section. Note that, if you want to look more closely at the rEFInd code or configuration files, I've made some significant improvements to the compilation procedures under EDK2 (vs. GNU-EFI) since the latest 0.10.8 release. Thus, you should pull down the latest unreleased code via git, rather than download the source code tarball. -- Rod Smith rodsmith@rodsbooks.com http://www.rodsbooks.com