All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: "Markus Armbruster" <armbru@redhat.com>,
	"Stephen Checkoway" <stephen.checkoway@oberlin.edu>,
	"Thomas Huth" <thuth@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Testing sysbus devices
Date: Wed, 20 Feb 2019 11:14:27 +0100	[thread overview]
Message-ID: <87zhqqydfg.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <fdec6838-6051-427d-6192-f68a76171915@redhat.com> (Laszlo Ersek's message of "Wed, 20 Feb 2019 09:55:30 +0100")

Laszlo Ersek <lersek@redhat.com> writes:

> On 02/19/19 18:55, Markus Armbruster wrote:
>> Stephen Checkoway <stephen.checkoway@oberlin.edu> writes:
>> 
>>>> On Feb 19, 2019, at 10:28, Markus Armbruster <armbru@redhat.com> wrote:
>>>>
>>>> My terminology might be confused...
>>>>
>>>> Let me backtrack a bit an explain my use case.  On physical PCs, the
>>>> single flash chip is commonly configured to have a read-only part and a
>>>> read/write part.  The read-only part holds UEFI code, and the read-write
>>>> part holds its persistent state.
>>>>
>>>> Since our virtual flash chips lack this feature, our virtual PCs have
>>>> *two* of them: one configured read-only, and one configured read/write.
>>>> Cleaning that up would be nice.
>>>>
>>>> The comment "It does not implement software data protection as found in
>>>> many real chips" in both pflash_cfi0*.c might be referring to this
>>>> missing feature.
>>>
>>> I understand now, thank you for explaining. I noticed the comments about software data protection in the code, but I didn't investigate.
>>>
>>> >From a quick look at <https://www.cypress.com/file/195291/download> Table 27 on page 8, I see there are at least 4 different protection modes. I think the most common one (based on my reading of a handful of data sheets for flash chips) is the high voltage one. Essentially, there are sector groups that can be locked/unlocked using high voltage. It seems easy enough to model this by configuring sectors as locked and refusing to erase or program them.
>>>
>>> Software command locking would probably involve implementing a few additional commands.
>>>
>>> I'm not sure what the others are.
>>>
>>> Which locking method do you need?
>> 
>> László, Philippe, what would you prefer to work with in OVMF?
>
> I would strongly prefer if the guest-side view wouldn't change at all.
>
> IOW, I don't have any useful input on extensions to the current command
> set; what matters to me is that OVMF please not be forced to make use of
> the new commands (and that the privilege differences wrt. SMM remain
> functional). We've avoided version lock-in between OVMF and QEMU for a
> great long time now, thanks to the ACPI linker/loader; I wouldn't like
> to see version dependencies reintroduced in other areas.

My grasp on CFI pflash is somewhat shaky.  Philippe, Stephen, please
correct misunderstandings in the following.

We could improve the device model to let us configure a part of the
flash memory read-only.  We could use that to have just one pflash
device suitably configured instead of two.

For guest software that merely reads and writes the memory, no visible
change.

To support updating firmware from the guest, we'd have to implement a
suitable guest-controlled protection mode, but that's not on the table
right now.

  reply	other threads:[~2019-02-20 10:14 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-18  6:07 [Qemu-devel] Testing sysbus devices Stephen Checkoway
2019-02-18 13:43 ` Thomas Huth
2019-02-18 16:02   ` Stephen Checkoway
2019-02-18 16:38     ` Thomas Huth
2019-02-18 18:08     ` Markus Armbruster
2019-02-18 18:31       ` Stephen Checkoway
2019-02-19  6:09         ` Markus Armbruster
2019-02-19 14:42           ` Stephen Checkoway
2019-02-19 15:28             ` Markus Armbruster
2019-02-19 16:00               ` Stephen Checkoway
2019-02-19 17:55                 ` Markus Armbruster
2019-02-20  8:55                   ` Laszlo Ersek
2019-02-20 10:14                     ` Markus Armbruster [this message]
2019-02-21 19:57                     ` Stephen Checkoway
2019-02-22  7:42                       ` Markus Armbruster
2019-02-22  8:03                         ` Laszlo Ersek
2019-02-22 13:31                         ` Stephen Checkoway
2019-02-22  7:55                       ` Laszlo Ersek
2019-02-22 13:35                         ` Stephen Checkoway

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=87zhqqydfg.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=lersek@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stephen.checkoway@oberlin.edu \
    --cc=thuth@redhat.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.