All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Paolo Bonzini <pbonzini@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 17:05:14 +0200	[thread overview]
Message-ID: <5536672A.6060809@redhat.com> (raw)
In-Reply-To: <553660EC.4040902@redhat.com>

On 04/21/15 16:38, Paolo Bonzini wrote:
> 
> 
> 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.

Hm, I must have missed this (or not seen it at all) -- should I have
noticed it in Gerd's series somewhere (or in yours)? Or is that by
virtue of mapping mch->tseg_window as a subregion of mch->smram?

(These overlays are pretty confusing, without a graphical visualization :))

>> 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.

Great, thank you.

Yet another question -- as far as I understand, I should have enough
info (with my pending questions of course) for EFI_SMM_ACCESS2_PROTOCOL.
I've now reviewed EFI_SMM_CONTROL2_PROTOCOL too, and AFAICS the only
thing I need to know for it is "how to raise an SMI, synchronously".
What are the plans for that? An ioport write perhaps? (I skimmed the
ICH9 spec, but whatever I found seemed to be quite inappropriate.)

Thanks
Laszlo

  reply	other threads:[~2015-04-21 15:05 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
2015-04-21 15:05       ` Laszlo Ersek [this message]
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=5536672A.6060809@redhat.com \
    --to=lersek@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@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.