qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: Gleb Natapov <gleb@redhat.com>
Cc: TAKEDA@shareable.org, toshiya <t-takeda@m1.interq.or.jp>,
	Gerd Hoffmann <kraxel@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: [SeaBIOS] [PATCH 0/8] option rom loading overhaul.
Date: Tue, 12 Jan 2010 04:48:32 +0000	[thread overview]
Message-ID: <20100112044832.GA17905@shareable.org> (raw)
In-Reply-To: <20091220153347.GN4490@redhat.com>

Gleb Natapov wrote:
> On Sun, Dec 20, 2009 at 09:28:34AM -0600, Anthony Liguori wrote:
> > Gleb Natapov wrote:
> > >On Sun, Dec 20, 2009 at 09:11:18AM -0600, Anthony Liguori wrote:
> > >>Gleb Natapov wrote:
> > >>>On Sun, Dec 20, 2009 at 08:58:40AM -0600, Anthony Liguori wrote:
> > >>>>No.  You have to physically shut down and start up again.  That's
> > >>>>the right semantics IMHO.
> > >>>>
> > >>>Reset is equivalent (or should be) to shut down and start up again.
> > >>Not at all.  Reset can happen in a lot of different ways, some that
> > >We support only one way of reset: hard reset. It equivalent to full
> > >HW power cycling. ACPI spec define ACPI reset as equivalent to HW power
> > >cycling too BTW (see 4.7.3.6).
> > 
> > For every system periphereal?
>
> To cite ACPI spec : "From an OSPM perspective, asserting the reset mechanism
> is the logical equivalent to power cycling the machine."
> 
> > For instance, memory contents
> > survive a reset whereas they won't survive a hard power down.
>
> We cannot rely on memory content after such reset.

Some software expects it.  But the worst situation is when it's
"mostly reliable", i.e. works normally but unreliable if migration
occurs during the reset cycle.  It should either be reliable, or if
that is not intended, the memory should be wiped on reset to be sure
nobody is running guests which depend on it.  (They might not even know).

> > More importantly though, what's the use-case here?
> > 
> Use-case for what? This just what need to be done for correct HW
> emulation.

Reminder about x86 HW emulation; recent message:

http://www.mail-archive.com/qemu-devel@nongnu.org/msg22676.html

TAKEDA, toshiya wrote:
> Anthony Liguori wrote:
> >Hi,
> >
> >Why is this needed verses qemu_system_reset()?
> 
> PC-98 has the ioport to reset only cpu (don't reset other periferals) 
> and I need qemu_cpu_reset() to emulate thios port.
> 
> This port was used to return to real mode from protect mode by resetting cpu.
> It was added for 80286, but was used on PC-98 with 80386 and later.
> (For example for checking of over 1mb memory in hardware
> initialization bios.)
> 
> Thanks,
> TAKEDA, toshiya

That is, PC-98 emulation requires a CPU-only reset that retains memory
contents and does not reset peripherals.  It has an I/O port
explicitly for it.

Regular x86 PCs also require this under some circumstances, for the
same reasons: To run 80286 MS-DOS software (on a later CPU of course
:-) that switches from protected mode to real mode by triggering a
hardware reset.  It does not reset the peripherals and memory contents
are reliable, except possibly for some regions that the BIOS may affect.

I assume this was one of the things meant in Anthony's qemu 0.12
release announcment:

>>> [please test...]
>>> - exotic x86 guests that may interact with the BIOS in special ways

But I don't really understand

  - what strange things are being implemented with ROMs changing on
    boot and during migration
  - how it depends in some intricate way on ACPI tables and option ROMS
    and migration and qemu upgrades all at once
  - those are things which the "exotic" guests don't care about
  - memory is preserved, isn't it, when qemu resets, even though it is
    called "not reliable", meaning that test guests will run fine with
    it while having some hidden bug waiting to happen under a rare
    conjunction of qemu's circumstances - is that right?

So I don't know quite what to test to confirm or deny bugs in
emulation of things that exotic x86 guests depend on.

-- Jamie

      parent reply	other threads:[~2010-01-12  4:48 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-18 11:01 [Qemu-devel] [PATCH 0/8] option rom loading overhaul Gerd Hoffmann
2009-12-18 11:01 ` [Qemu-devel] [PATCH 1/8] Support PCI based option rom loading Gerd Hoffmann
2009-12-19 10:57   ` Blue Swirl
2009-12-20 15:34     ` Anthony Liguori
2009-12-20 17:02       ` Blue Swirl
2009-12-20 17:18         ` Alexander Graf
2009-12-20 17:55           ` Anthony Liguori
2009-12-20 18:01             ` Alexander Graf
2009-12-20 18:24               ` Andreas Färber
2009-12-20 18:53                 ` Blue Swirl
2009-12-20 21:24                   ` Benjamin Herrenschmidt
2009-12-20 21:23               ` Benjamin Herrenschmidt
2009-12-18 11:01 ` [Qemu-devel] [PATCH 2/8] pci romfiles: add property, add default to PCIDeviceInfo Gerd Hoffmann
2010-01-11 21:18   ` [Qemu-devel] [RFC] New naming rules for GPXE romfiles Stefan Weil
2010-01-11 21:34     ` Anthony Liguori
2010-01-12 10:23     ` Kevin Wolf
2009-12-18 11:01 ` [Qemu-devel] [PATCH 3/8] fw_cfg: make calls typesafe Gerd Hoffmann
2009-12-18 11:01 ` [Qemu-devel] [PATCH 4/8] fw_cfg: add API for file transfer Gerd Hoffmann
2009-12-19 12:06   ` Blue Swirl
2009-12-20  8:42   ` [Qemu-devel] Re: [SeaBIOS] " Gleb Natapov
2009-12-18 11:01 ` [Qemu-devel] [PATCH 5/8] roms: use new fw_cfg file xfer support Gerd Hoffmann
2009-12-20  8:45   ` [Qemu-devel] Re: [SeaBIOS] " Gleb Natapov
2009-12-18 11:01 ` [Qemu-devel] [PATCH 6/8] roms: remove option rom packing logic Gerd Hoffmann
2009-12-18 11:01 ` [Qemu-devel] [PATCH 7/8] updated seabios binary for testing convinience Gerd Hoffmann
2009-12-18 11:01 ` [Qemu-devel] [PATCH 8/8] debug: enable bios messages Gerd Hoffmann
2009-12-18 14:35 ` [Qemu-devel] Re: [SeaBIOS] [PATCH 0/8] option rom loading overhaul Anthony Liguori
2009-12-18 16:34   ` Gerd Hoffmann
2009-12-18 16:42     ` Anthony Liguori
2009-12-18 17:03       ` Gerd Hoffmann
2009-12-18 17:12         ` Anthony Liguori
2009-12-19  1:48           ` Kevin O'Connor
2009-12-19  3:07             ` Anthony Liguori
2009-12-18 17:14         ` Anthony Liguori
2009-12-18 18:04           ` Gerd Hoffmann
2009-12-18 19:41         ` Sebastian Herbszt
2009-12-18 19:53           ` Anthony Liguori
2009-12-18 20:10             ` Sebastian Herbszt
2009-12-20  8:38 ` Gleb Natapov
2009-12-20 14:43   ` Anthony Liguori
2009-12-20 14:52     ` Gleb Natapov
2009-12-20 14:58       ` Anthony Liguori
2009-12-20 15:07         ` Gleb Natapov
2009-12-20 15:11           ` Anthony Liguori
2009-12-20 15:20             ` Avi Kivity
2009-12-20 15:31               ` Anthony Liguori
2009-12-20 15:35                 ` Avi Kivity
2009-12-22 13:04               ` Paul Brook
2009-12-22 13:09                 ` Avi Kivity
2009-12-22 15:11                 ` Anthony Liguori
2009-12-22 15:54                   ` Paul Brook
2009-12-22 16:16                     ` Anthony Liguori
2009-12-20 15:23             ` Gleb Natapov
2009-12-20 15:28               ` Anthony Liguori
2009-12-20 15:33                 ` Gleb Natapov
2009-12-20 15:39                   ` Anthony Liguori
2009-12-20 15:52                     ` Gleb Natapov
2009-12-20 16:08                       ` Blue Swirl
2009-12-20 16:15                         ` Gleb Natapov
2009-12-20 16:23                           ` Blue Swirl
2009-12-20 17:48                       ` Anthony Liguori
2009-12-21  1:59                         ` Kevin O'Connor
2009-12-21  7:32                           ` Gleb Natapov
2009-12-21 16:40                             ` Anthony Liguori
2009-12-21 16:43                               ` Gleb Natapov
2009-12-21 17:26                                 ` Anthony Liguori
2009-12-21 17:43                                   ` Gleb Natapov
2009-12-21 18:24                                     ` [Qemu-devel] Re: Re: [SeaBIOS] [PATCH 0/8] option rom loadingoverhaul Sebastian Herbszt
2009-12-21 18:36                                       ` Gleb Natapov
2009-12-21 19:28                                         ` Sebastian Herbszt
2009-12-21 19:57                                           ` Gleb Natapov
2009-12-21 19:17                                       ` [Qemu-devel] " Anthony Liguori
2009-12-21 19:39                                         ` Sebastian Herbszt
2009-12-21 19:53                                           ` Gleb Natapov
2009-12-21 20:16                                             ` Sebastian Herbszt
2009-12-22  7:58                                               ` Gleb Natapov
2009-12-22 14:57                                                 ` Anthony Liguori
2009-12-21 19:48                                         ` Gleb Natapov
2009-12-21 19:13                                     ` [Qemu-devel] Re: [SeaBIOS] [PATCH 0/8] option rom loading overhaul Anthony Liguori
2009-12-21 19:43                                       ` Gleb Natapov
2009-12-21 23:54                                         ` Anthony Liguori
2009-12-22 20:50                                           ` [Qemu-devel] Re: Re: [SeaBIOS] [PATCH 0/8] option rom loadingoverhaul Sebastian Herbszt
2009-12-21  7:40                         ` [Qemu-devel] Re: [SeaBIOS] [PATCH 0/8] option rom loading overhaul Gleb Natapov
2009-12-21 17:27                           ` Michael S. Tsirkin
2010-01-12  4:48                   ` Jamie Lokier [this message]

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=20100112044832.GA17905@shareable.org \
    --to=jamie@shareable.org \
    --cc=TAKEDA@shareable.org \
    --cc=gleb@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=t-takeda@m1.interq.or.jp \
    /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;
as well as URLs for NNTP newsgroup(s).