From: "Jason A. Donenfeld" <Jason@zx2c4.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: "Ard Biesheuvel" <ardb@kernel.org>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"QEMU Developers" <qemu-devel@nongnu.org>,
"Xiaoyao Li" <xiaoyao.li@intel.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Gerd Hoffmann" <kraxel@redhat.com>,
linux-efi <linux-efi@vger.kernel.org>
Subject: Re: [PATCH v2] hw/i386: place setup_data at fixed place in memory
Date: Fri, 5 Aug 2022 00:56:02 +0200 [thread overview]
Message-ID: <YuxOgtykRQb1HU3e@zx2c4.com> (raw)
In-Reply-To: <8254819e-d509-59f4-79e6-e8c0ba4eb2a6@redhat.com>
Hey Laszlo,
On Thu, Aug 04, 2022 at 03:56:54PM +0200, Laszlo Ersek wrote:
> - do we want setup_data chaining work generally?
>
> - or do we want only the random seed injection to stop crashing OVMF guests?
Preferably the first - generally. Which brings us to your point:
> > Given we only need 48 bytes or so, isn't there a more subtle place we
> > could just throw this in ram that doesn't need such complex
> > coordination?
>
> These tricks add up and go wrong after a while. The pedantic
> reservations in the firmware have proved necessary.
>
> IIUC, with v2, the setup_data_base address would (most frequently) be 96
> KB. edk2 does have uses for very low memory. If OVMF's PlatformPei does
> not reserve away the area, UefiCpuPkg or other drivers might allocate an
> overlapping chunk, even if only temporarily. That might not break the
> firmware, but it could overwrite the random seed.
Yea, so we don't want an address that something else might overwrite. So
my question is: isn't there some 48 bytes or so available in some low
address (or maybe a high one?) that is traditionally reserved for some
hardware function, and so software doesn't use it, but it turns out QEMU
doesn't use it for anything either, so we can get away placing it at
that address? It seems like there *ought* to be something like that. I
just don't (yet) know what it is...
Jason
next prev parent reply other threads:[~2022-08-04 22:59 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-03 17:02 [PATCH RFC v1] hw/i386: place setup_data at fixed place in memory Jason A. Donenfeld
2022-08-03 22:25 ` Michael S. Tsirkin
2022-08-03 22:50 ` Jason A. Donenfeld
2022-08-04 0:39 ` Jason A. Donenfeld
2022-08-04 0:44 ` [PATCH v2] " Jason A. Donenfeld
2022-08-04 7:03 ` Michael S. Tsirkin
2022-08-04 8:58 ` Laszlo Ersek
2022-08-04 9:25 ` Daniel P. Berrangé
2022-08-04 10:26 ` Ard Biesheuvel
2022-08-04 11:31 ` Laszlo Ersek
2022-08-04 12:11 ` Jason A. Donenfeld
2022-08-04 12:47 ` Jason A. Donenfeld
2022-08-04 13:16 ` Laszlo Ersek
2022-08-04 13:25 ` Jason A. Donenfeld
2022-08-04 13:29 ` Laszlo Ersek
2022-08-04 12:03 ` Jason A. Donenfeld
2022-08-04 12:11 ` Daniel P. Berrangé
2022-08-04 12:16 ` Ard Biesheuvel
2022-08-04 12:17 ` Jason A. Donenfeld
2022-08-04 12:28 ` Jason A. Donenfeld
2022-08-04 13:25 ` Laszlo Ersek
2022-08-04 13:28 ` Jason A. Donenfeld
2022-08-04 13:56 ` Laszlo Ersek
2022-08-04 14:03 ` Daniel P. Berrangé
2022-08-04 14:04 ` Laszlo Ersek
2022-08-04 22:56 ` Jason A. Donenfeld [this message]
2022-08-04 23:04 ` [PATCH v3] " Jason A. Donenfeld
2022-08-05 8:10 ` Paolo Bonzini
2022-08-05 11:08 ` Ard Biesheuvel
2022-08-05 17:29 ` Paolo Bonzini
2022-08-05 17:56 ` Ard Biesheuvel
2022-08-09 9:17 ` Michael S. Tsirkin
2022-08-09 14:19 ` Paolo Bonzini
2022-08-05 12:47 ` Jason A. Donenfeld
2022-08-05 13:34 ` Laszlo Ersek
2022-08-09 12:17 ` Jason A. Donenfeld
2022-08-09 14:07 ` Michael S. Tsirkin
2022-08-09 14:15 ` Daniel P. Berrangé
2022-08-05 6:26 ` [PATCH v2] " Laszlo Ersek
2022-08-16 8:55 ` Gerd Hoffmann
2022-08-18 15:38 ` Jason A. Donenfeld
2022-08-19 6:40 ` Gerd Hoffmann
2022-08-19 7:16 ` Ard Biesheuvel
2022-08-04 12:54 ` Daniel P. Berrangé
2022-08-04 13:07 ` Jason A. Donenfeld
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-all 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=YuxOgtykRQb1HU3e@zx2c4.com \
--to=jason@zx2c4.com \
--cc=ardb@kernel.org \
--cc=berrange@redhat.com \
--cc=kraxel@redhat.com \
--cc=lersek@redhat.com \
--cc=linux-efi@vger.kernel.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=xiaoyao.li@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.