From: Paolo Bonzini <pbonzini@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH 6/6] [wip] tseg, part2, not (yet) tested
Date: Tue, 21 Apr 2015 16:38:36 +0200 [thread overview]
Message-ID: <553660EC.4040902@redhat.com> (raw)
In-Reply-To: <55365F05.1050402@redhat.com>
On 21/04/2015 16:30, Laszlo Ersek wrote:
>> > - MemoryRegion tseg_blackhole;
>> > + MemoryRegion tseg_blackhole, tseg_window;
>> > PcPciInfo pci_info;
>> > ram_addr_t below_4g_mem_size;
>> > ram_addr_t above_4g_mem_size;
>> >
> Why is this necessary? If you disable the black hole overlay, the access
> will go to the RAM. (Or can't that be done per-CPU?)
The reason to have two separate MemoryRegions is exactly to allow
per-CPU access.
tseg_blackhole is added on top of address_space_memory to hide TSEG;
tseg_window is included in /machine/smram and TCG adds it to the private
per-CPU address space when it enters system management mode.
> I'm thinking, the last 1 / 2 / 8 megabytes should behave as RAM in all
> of the following cases:
> - no SMRAM programmed (tseg size = 0)
> - SMRAM programmed (tseg size > 0), and it is open
> - SMRAM programmed (tseg size > 0) and closed, but CPU in SMM
Correct. However, you can have one CPU in SMM and another executing
"normal" code. It would be a hole to allow that CPU to read (or worse,
write) the TSEG or legacy SMRAM areas.
> ... Another question, related to SMM (but not related to SMRAM): Paolo,
> am I right to think that we'll be keying off at least two independent
> things of SMM-or-not: one is access to SMRAM (tseg), for LockBox and SMM
> driver purposes, the other is pflash access (with the MemTxAttrs thing),
> for the varstore?
Yes.
Paolo
next prev parent reply other threads:[~2015-04-21 14:38 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-20 9:19 [Qemu-devel] [PATCH 1/6] [fixup] add ESMRAMC default Gerd Hoffmann
2015-04-20 9:19 ` [Qemu-devel] [PATCH 2/6] add SMRAM+ESMRAMC wmask Gerd Hoffmann
2015-04-20 12:05 ` Michael S. Tsirkin
2015-04-20 9:19 ` [Qemu-devel] [PATCH 3/6] q35: implement SMRAM.D_LCK Gerd Hoffmann
2015-04-20 12:06 ` Michael S. Tsirkin
2015-04-20 9:19 ` [Qemu-devel] [PATCH 4/6] q35: add test for SMRAM.D_LCK Gerd Hoffmann
2015-04-20 12:06 ` Michael S. Tsirkin
2015-04-20 9:19 ` [Qemu-devel] [PATCH 5/6] [wip] tseg, part1, not (yet) tested Gerd Hoffmann
2015-04-20 11:45 ` Paolo Bonzini
2015-04-21 14:18 ` Laszlo Ersek
2015-04-21 15:04 ` Gerd Hoffmann
2015-04-21 15:08 ` Paolo Bonzini
2015-04-21 15:16 ` Gerd Hoffmann
2015-04-21 18:46 ` Laszlo Ersek
2015-04-22 6:07 ` Gerd Hoffmann
2015-04-22 8:09 ` Gerd Hoffmann
2015-04-22 8:52 ` Laszlo Ersek
2015-04-22 9:33 ` Gerd Hoffmann
2015-04-22 21:41 ` Laszlo Ersek
2015-04-22 21:51 ` Laszlo Ersek
2015-04-23 7:02 ` Gerd Hoffmann
2015-04-23 7:41 ` Laszlo Ersek
2015-04-23 8:33 ` Laszlo Ersek
2015-04-23 8:34 ` Gerd Hoffmann
2015-04-23 8:42 ` Laszlo Ersek
2015-04-23 10:27 ` Paolo Bonzini
2015-04-20 9:19 ` [Qemu-devel] [PATCH 6/6] [wip] tseg, part2, " Gerd Hoffmann
2015-04-21 14:30 ` Laszlo Ersek
2015-04-21 14:38 ` Paolo Bonzini [this message]
2015-04-21 15:05 ` Laszlo Ersek
2015-04-21 15:14 ` Gerd Hoffmann
2015-04-21 15:21 ` Paolo Bonzini
2015-04-21 20:31 ` [Qemu-devel] implementing EFI_SMM_CONTROL2_PROTOCOL.Trigger() (was: [PATCH 6/6] [wip] tseg, part2, not (yet) tested) Laszlo Ersek
2015-04-21 20:58 ` [Qemu-devel] implementing EFI_SMM_CONTROL2_PROTOCOL.Trigger() Paolo Bonzini
2015-04-24 11:56 ` [Qemu-devel] [edk2] implementing EFI_SMM_CONTROL2_PROTOCOL.Trigger() (was: [PATCH 6/6] [wip] tseg, part2, not (yet) tested) Yao, Jiewen
2015-04-24 13:00 ` [Qemu-devel] [edk2] implementing EFI_SMM_CONTROL2_PROTOCOL.Trigger() Paolo Bonzini
2015-04-24 13:16 ` Yao, Jiewen
2015-04-24 14:50 ` [Qemu-devel] [edk2] implementing EFI_SMM_CONTROL2_PROTOCOL.Trigger() (was: [PATCH 6/6] [wip] tseg, part2, not (yet) tested) Yao, Jiewen
2015-04-24 16:46 ` [Qemu-devel] [edk2] implementing EFI_SMM_CONTROL2_PROTOCOL.Trigger() Laszlo Ersek
2015-04-21 15:12 ` [Qemu-devel] [PATCH 6/6] [wip] tseg, part2, not (yet) tested Gerd Hoffmann
2015-04-20 12:07 ` [Qemu-devel] [PATCH 1/6] [fixup] add ESMRAMC default Michael S. Tsirkin
2015-04-20 12:27 ` Paolo Bonzini
2015-04-20 13:23 ` Gerd Hoffmann
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=553660EC.4040902@redhat.com \
--to=pbonzini@redhat.com \
--cc=kraxel@redhat.com \
--cc=lersek@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.