From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:4864:20::434; helo=mail-wr1-x434.google.com; envelope-from=leif.lindholm@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 97B3321196235 for ; Mon, 3 Dec 2018 07:08:00 -0800 (PST) Received: by mail-wr1-x434.google.com with SMTP id x10so12539271wrs.8 for ; Mon, 03 Dec 2018 07:08:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=tzMN7fF7Ozs3vlOZthoxvm0U4ivVKEbhdCACX5/BLQU=; b=W98UHn5/HiIZ6Im7Kkr3qfZHJ3vcJOKXrloitdDfkdZGH5Jyb/oMc1r7lpDmc6x0Tg edrsTAUUG/npFapJKMYW9X8cO2zGsklXF7CDnzVWMcJ3RT3bPSg7d7K7LQ7nFWIM/xQP zkSystsDcDR1EISaC5tKQ/84bOawdvTdNTr2U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=tzMN7fF7Ozs3vlOZthoxvm0U4ivVKEbhdCACX5/BLQU=; b=c0EtF475XQlC9GTqr6g0e6jD3iDyqY3589dZC3f3L0aZJkNnAWopPQJhd31jdVTNhK JpesrIE03M3qc4vYgkLpmcf6z4JQHPefTRiLkIAOdqN4Hpi7GN5+jb7QNKxL6HVPc0yb B4DOwfTUFxErCcem/qM4HOE6r9dFvuMJKjpIVSDmoQ5qgf6OQ6qDDivjYNDw5FjA6+sA 1GEV6a3DK0NSc3XUa3pibobx4rbDgAAdPEXA4/YelwTjzINoIiDdDeZ6pprzexKuDgAH Ivliss9jJhCPMJfEoRUWap+7GKAUp0NUlYmB8KRNZN6jSx11r+vUBURkhPzdoQuqn0iq PpyA== X-Gm-Message-State: AA+aEWaE7ZYVoGUjk0oDUtncjstQCAYqGbOEJXEZfXOAZVidAfgM5Lgg er5uvkj43BDkd1uKuoUvMb5ohQ== X-Google-Smtp-Source: AFSGD/UDcYewoIjD7D2+T+IGxfjr2U4PTGoyQQGojoLrUXqvAUQeeE4OslfYDQDTSvAp4rXYxvyX4w== X-Received: by 2002:adf:e488:: with SMTP id i8mr14987606wrm.10.1543849678906; Mon, 03 Dec 2018 07:07:58 -0800 (PST) Received: from bivouac.eciton.net (bivouac.eciton.net. [2a00:1098:0:86:1000:23:0:2]) by smtp.gmail.com with ESMTPSA id j6sm12625059wrw.30.2018.12.03.07.07.57 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 03 Dec 2018 07:07:57 -0800 (PST) Date: Mon, 3 Dec 2018 15:07:56 +0000 From: Leif Lindholm To: Laszlo Ersek Cc: Andrew Fish , Michael Kinney , "edk2-devel@lists.01.org" Message-ID: <20181203150756.up6iaez5sl25f7fu@bivouac.eciton.net> References: <20181129224102.ab43kwgrkk6xz2bl@bivouac.eciton.net> <129a947f.308c.167624a3bd2.Coremail.sssky307@163.com> <179708E3-F8AD-41B4-90B5-ECFD94924986@apple.com> <0cecc14d-f268-6fcb-d185-e0bddecd4f1e@redhat.com> MIME-Version: 1.0 In-Reply-To: <0cecc14d-f268-6fcb-d185-e0bddecd4f1e@redhat.com> User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [RFC] Proposal to add edk2-apps repository X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Dec 2018 15:08:00 -0000 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Dec 03, 2018 at 03:11:33PM +0100, Laszlo Ersek wrote: > On 11/30/18 07:03, Andrew Fish wrote: > > Mike, > > > > As Krishna points out there are flavors of Apps. Do we want to have > > different packages for different flavor of apps, or different dirs in > > a more generic App package? Maybe we should define classes of UEFI > > Applications in the README.md and give them a place to live. > > In my opinion, this is absolutely the first step that should be done. Yes please. > Personally, I've just learned, from this thread, that there are *three* > (not two) UEFI application entry point types that edk2 supports. > > * I've always known about main() -- libc app --, and ShellAppMain() -- > shell app. I've always known these because I read about them in > "AppPkg/ReadMe.txt" and "StdLib/ReadMe.txt" years ago. In particular, > compare the description of "Hello" and "Main". > > * And now MdeModulePkg/Application has been mentioned, in this thread, > where I see UefiMain() as the entry point. Well, these are defined by the application .inf though, so "UefiMain" is just a common name picked. MdeModulePkg/Application also has applications with entry points called 'BootManagerMenuEntry', 'SmiHandlerProfileInfoEntrypoint' and 'InitializeUserInterface'. (The latter being UiApp.) > I don't recall reading about UefiMain() or UefiApplicationEntryPoint on > this list. On the other hand, I remember several discussions where > people asked if they could write an application and invoke it from > SysPrep#### or similar, and the answer has always been, "oh sorry you > can't do that, because the lowest level you can go is ShellAppMain(), > and that won't work from SysPrep####". Huh? Who claimed that? Where? (I suspect the meaning of "Application" has taken on some overly-specific meaning for someone if they have claimed such - going back to how having a proper definition is clearly quite important.) Of course they can. Any EDK2 image itself contains a bunch of .efi executables - and there is nothing preventing you from invoking those from the shell. And don't forget most platforms ship without a built-in Shell, so there would be no way of running ... anything ... if that was true. Also, it's pretty much the whole point of gnu-efi (combined with doing it directly in a normal POSIX environment). / Leif