public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Andrew Fish <afish@apple.com>
To: Udit Kumar <udit.kumar@nxp.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"Ni, Ruiyu" <ruiyu.ni@intel.com>,
	"Zeng, Star" <star.zeng@intel.com>
Subject: Re: Help on boot manager 'Boot Manager Menu' and direct boot
Date: Wed, 28 Nov 2018 17:52:14 -0800	[thread overview]
Message-ID: <2EF700E0-AF34-498C-B740-406BE5BA0839@apple.com> (raw)
In-Reply-To: <VI1PR04MB46403FA0AE85507A12273B6091D20@VI1PR04MB4640.eurprd04.prod.outlook.com>

Udit,

Memory map differences would be expected as UiApp.efi is going to allocate memory too. The OS Loader starts off as an EFI Application so it needs to know EFI time allocations in addition to what allocations are legal for the OS to use. 

In general how EFI communicates with the OS is via EFI NVRAM Variables. You can look at the Table in section "3.3 Globally Defined Variables" of the UEFI Spec. The OSprot will also figure out information about the platform from ACPI tables published by the EFI firmware. Also the OS Loader is an EFI App so it can access any protocol mentioned in the UEFI Spec. So form example on a Unix like OS the OS Loader may construct a Device Tree and pass it up to the kernel. It is going to be the code in the OS loader that does all this magic. If your working with a FOSS OS you may want to try and dump that device tree, and see if something is different. Then you could try to figure out the code in the OS Loader that produces that part of the device tree. 

Thanks,

Andrew Fish

> On Nov 28, 2018, at 5:42 PM, Udit Kumar <udit.kumar@nxp.com> wrote:
> 
> Hi ,
> I am looking for information/Help. If UEFI passed different information to OS, in below boot path
> 
>  1.  Enter into Setup menu (By pressing Esc key), On display of UiApp.efi on console, select device to boot OS
>  2.  Let the boot OS without user intervention from same device as of 1
> 
> I could see, UEFI pass different memory map in case of 1 and 2.
> Is there some other/extra information is being shared with OS/OS Loader.
> 
> For me, if I use 1) for booting  then OS boots okay,
> If I use option 2) for booting then when user-space prints are printed as garbage. Whereas kernel space prints are good on serial console
> 
> Thanks
> Udit
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel



  reply	other threads:[~2018-11-29  1:52 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-29  1:42 Help on boot manager 'Boot Manager Menu' and direct boot Udit Kumar
2018-11-29  1:52 ` Andrew Fish [this message]
2018-11-29  3:09   ` Udit Kumar
2018-11-29 10:21     ` Laszlo Ersek
2018-11-29 13:12       ` Udit Kumar
2018-11-29 18:01         ` Laszlo Ersek
2018-11-30  9:13           ` Udit Kumar
2018-12-03  9:56             ` Laszlo Ersek
2018-12-03 10:03               ` Udit Kumar
2018-12-03 13:45                 ` Laszlo Ersek
2018-12-03 14:04                   ` Ard Biesheuvel
2018-12-03 14:54                     ` Udit Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2EF700E0-AF34-498C-B740-406BE5BA0839@apple.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox