public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@linux.intel.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Anthony Liguori <anthony@codemonkey.ws>,
	Avi Kivity <avi@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, kvm <kvm@vger.kernel.org>
Subject: Re: [PATCH 1/2] qemu-kvm: extboot: Keep variables in RAM
Date: Fri, 19 Feb 2010 08:50:17 -0800	[thread overview]
Message-ID: <4B7EC149.5080603@linux.intel.com> (raw)
In-Reply-To: <4B7E628E.2050107@siemens.com>

Jan Kiszka wrote:
> 
> Shall the protection start _before_ INT 19 or somewhere _while_ it is
> processed? I'm asking as extboot redirect the handler and writes to some
> variable in its own handler. If the protection is already active at this
> point, we must move at least one of the variables out of the shadow ROM.
> 

The protection kicks in as the PMM system is torn down, which is done 
immediately before INT 19h.  So

>> However, as I did point out in the original comment, there are some
>> BIOSes in the field which uses vectors 0xc0-0xdf as a scratch memory
>> pool -- usually to have somewhere to stash a small stack -- so if you
>> absolutely have to go down this route that range those probably be the
>> safest.  An alternative would be to use memory in the BDA in the range
>> 0x4ac-0x4ff (absolute), which appears to be available for BIOS-specific
>> uses.
> 
> No problem moving to 0xc0 vectors if we have to (though my PC interrupt
> vector docs all state that already 0x80 is BIOS/BASIC domain).
> 
>>>> NEITHER OF THESE OPTIONS ARE SAFE ON REAL HARDWARE <<
>> These are both BIOS-specific use areas.
>>
> 
> Extboot is not targeting real hardware. It is built for a paravirtual
> interface to QEMU.
> 

Actually, extboot, or at least one variant of it, is used on real 
hardware in the gPXE stack.  Nothing that says it has to be identical 
code, of course.

For the Qemu case it sounds like the easiest thing is to just reserve 
two dwords in the BIOS Data Area that your BIOS doesn't use.

	-hpa


  reply	other threads:[~2010-02-19 16:50 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-18 16:13 [PATCH 1/2] qemu-kvm: extboot: Keep variables in RAM Jan Kiszka
2010-02-18 20:27 ` Anthony Liguori
2010-02-18 22:56   ` H. Peter Anvin
2010-02-19 10:06     ` Jan Kiszka
2010-02-19 16:50       ` H. Peter Anvin [this message]
2010-02-19 17:03         ` Jan Kiszka
2010-02-19 17:24           ` H. Peter Anvin
2010-02-19 17:44             ` Jan Kiszka
2010-02-19 18:10           ` Anthony Liguori
2010-02-19 18:17             ` Jan Kiszka
2010-02-19 19:37               ` H. Peter Anvin
2010-02-20  3:21                 ` Kevin O'Connor
2010-02-22 10:03               ` Stefan Hajnoczi
     [not found]                 ` <4B82DE3F.5090306@linux.intel.com>
2010-02-23  9:30                   ` Stefan Hajnoczi
2010-02-22  9:40 ` Avi Kivity
2010-02-22  9:59   ` Jan Kiszka
2010-02-22 10:03     ` Jan Kiszka
2010-02-22 11:02     ` Avi Kivity
2010-04-06  8:50   ` Jan Kiszka

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=4B7EC149.5080603@linux.intel.com \
    --to=hpa@linux.intel.com \
    --cc=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox