From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Avi Kivity <avi@redhat.com>
Cc: Marcelo Tossati <mtosatti@redhat.com>,
Carsten Otte <cotte@de.ibm.com>, Alexander Graf <agraf@suse.de>,
Jens Freimann <jfrei@linux.vnet.ibm.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
KVM <kvm@vger.kernel.org>
Subject: Re: [patch 0/3] RFC: provide synchronous registers in kvm_run
Date: Thu, 22 Dec 2011 14:17:47 +0100 [thread overview]
Message-ID: <4EF32DFB.2080304@de.ibm.com> (raw)
In-Reply-To: <4EF3289D.3080903@redhat.com>
On 22/12/11 13:54, Avi Kivity wrote:
>> My main concern was the prefix register (this is a per cpu register that
>> defines the address of two pages that are swapped with the pages at 0 for this cpu).
>> SMP on s390 is done that way (e.g. interrupt things are stored in page 0 for this cpu)
>> The storage that qemu sees is storage without prefix. For architecture compliance
>> we actually must check _every_ memory access if it hits the prefix/swpa area and
>> the add/subtract the prefix value.
>
> Those are only memory accesses coming from the cpu, yes? Why does
> userspace have to access them at all? I imagine DMA ignores it
> completely since it doesn't come from the cpu.
Not sure if I got you question...(just ask again if that doesnt aswer it)
The prefix page contains HW-defined content (like the PSWs for the different
interrupt types) as well as some OS-defined values (for CPU local data structures
as well as a place to store information in critical sections)
The prefix page (and the swap area) must not be used for device I/O (since it will
be broken as you pointed out), but some I/O instructions can and will write status
information to the prefix page. For example the channel subsystem driver in Linux
will use an area in the prefix page as a store address for some instructions.
So let me phrase the above sentence differently:
For architecture compliance we actually must check every memory access that is done
on behalf of a guest cpu and was not already handled by the host kernel.
PS: Most of the things are really handled in the kernel. As you can see, the current
paravirtual I/O stack does not need the prefix at all
next prev parent reply other threads:[~2011-12-22 13:17 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-22 11:56 [patch 0/3] RFC: provide synchronous registers in kvm_run Christian Borntraeger
2011-12-22 11:56 ` [patch 1/3] kvm: " Christian Borntraeger
2011-12-22 12:28 ` Avi Kivity
2012-01-09 12:59 ` Alexander Graf
2011-12-22 11:56 ` [patch 2/3] kvm-s390: provide the prefix register via kvm_run Christian Borntraeger
2011-12-22 11:56 ` [patch 3/3] kvm-s390: provide general purpose registers " Christian Borntraeger
2011-12-22 12:34 ` Avi Kivity
2011-12-22 12:39 ` Christian Borntraeger
2011-12-22 12:46 ` Avi Kivity
2011-12-22 12:41 ` Heiko Carstens
2011-12-22 12:47 ` Avi Kivity
2011-12-22 12:35 ` [patch 0/3] RFC: provide synchronous registers in kvm_run Avi Kivity
2011-12-22 12:49 ` Christian Borntraeger
2011-12-22 12:54 ` Avi Kivity
2011-12-22 13:17 ` Christian Borntraeger [this message]
2011-12-22 13:25 ` Avi Kivity
[not found] ` <1325605858-30492-1-git-send-email-borntraeger@de.ibm.com>
[not found] ` <1325605858-30492-4-git-send-email-borntraeger@de.ibm.com>
2012-01-04 8:16 ` [PATCH 3/3] kvm-s390: provide standard guest registers via kvm_run Heiko Carstens
2012-01-04 8:30 ` Christian Borntraeger
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=4EF32DFB.2080304@de.ibm.com \
--to=borntraeger@de.ibm.com \
--cc=agraf@suse.de \
--cc=avi@redhat.com \
--cc=cornelia.huck@de.ibm.com \
--cc=cotte@de.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=jfrei@linux.vnet.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=schwidefsky@de.ibm.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.