public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Jordan Justen <jordan.l.justen@intel.com>
To: Laszlo Ersek <lersek@redhat.com>,
	edk2-devel-01 <edk2-devel@lists.01.org>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Subject: Re: [PATCH 1/1] OvmfPkg/PlatformPei: support >=1TB high RAM, and discontiguous high RAM
Date: Tue, 25 Jul 2017 17:13:35 -0700	[thread overview]
Message-ID: <150102801569.20332.10802753116663936503@jljusten-skl> (raw)
In-Reply-To: <20170711032231.29280-2-lersek@redhat.com>

On 2017-07-10 20:22:31, Laszlo Ersek wrote:
> +STATIC
> +EFI_STATUS
> +E820HighRamIterate (
> +  IN     E820_HIGH_RAM_ENTRY_CALLBACK Callback,
> +  IN OUT VOID                         *Context
> +  )

I think a simpler option would be:

STATIC
EFI_STATUS
ScanOrAddE820HighRam (
  IN     E820_HIGH_RAM_ENTRY_CALLBACK Callback,
  OUT    UINT64                       *MaxAddress  OPTIONAL
  )

If MaxAddress != NULL, then scan for it, otherwise add HOBs.

Do you anticipate future needs where the iterate callback could be
helpful?

You might also consider ScanOrAdd64BitE820Ram to somewhat clarify that
the 'HighRam' is addresses that don't fit in 32 bits.

> +  QemuFwCfgSelectItem (FwCfgItem);
> +  for (Processed = 0; Processed < FwCfgSize; Processed += sizeof E820Entry) {
> +    QemuFwCfgReadBytes (sizeof E820Entry, &E820Entry);
> +    DEBUG ((
> +      DEBUG_VERBOSE,
> +      "%a: Base=0x%Lx Length=0x%Lx Type=%u\n",
> +      __FUNCTION__,
> +      E820Entry.BaseAddr,
> +      E820Entry.Length,
> +      E820Entry.Type
> +      ));
> +    if (E820Entry.Type == EfiAcpiAddressRangeMemory &&
> +        E820Entry.BaseAddr >= BASE_4GB) {

I guess at least for IA32/X64, today, and for the foreseeable future
the firmware device will cause a break at 4GB.

It seems like we could just check for the end of the range to be above
4GB to easily remove this assumption, right?

-Jordan


  parent reply	other threads:[~2017-07-26  0:11 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-11  3:22 [PATCH 0/1] OvmfPkg/PlatformPei: support >=1TB high RAM, and discontiguous high RAM Laszlo Ersek
2017-07-11  3:22 ` [PATCH 1/1] " Laszlo Ersek
2017-07-11  8:38   ` Igor Mammedov
2017-07-11 13:10     ` Laszlo Ersek
2017-07-26  0:13   ` Jordan Justen [this message]
2017-07-26 16:23     ` Laszlo Ersek
2017-08-04  8:50       ` Jordan Justen
2017-08-04 20:04         ` Laszlo Ersek
2017-07-25 21:39 ` [PATCH 0/1] " Laszlo Ersek

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=150102801569.20332.10802753116663936503@jljusten-skl \
    --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