From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH RFC] ioreq-server: handle the lack of a default emulator properly Date: Fri, 26 Sep 2014 17:23:19 +0100 Message-ID: <5425AF170200007800039DF0@mail.emea.novell.com> References: <1411745473-5075-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1411745473-5075-1-git-send-email-paul.durrant@citrix.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Paul Durrant Cc: Keir Fraser , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org >>> On 26.09.14 at 17:31, wrote: > This fix should probably go in 4.5 but this patch is RFC for the moment > because of uncertainty about what to do for unemulated MMIO accesses. > Originally I forced a domain crash in this case, but hvmloader actually > hit the crash because the code that deals with building the ACPI TPM > info reads from 0xFED40F00 looking for a signature value and there is > nothing backing this access in my configuration. So, the question is > whether to whitelist this access in some way or make building that > table optional in some way so that it is only invoked if an emulated > TPM is definitely present. I think in the sense of acting like real hardware, having a definite point to complete such I/O is quite desirable, as opposed to killing the guest. > --- a/xen/arch/x86/hvm/hvm.c > +++ b/xen/arch/x86/hvm/hvm.c > @@ -2386,8 +2386,7 @@ static struct hvm_ioreq_server *hvm_select_ioreq_server(struct domain *d, > if ( list_empty(&d->arch.hvm_domain.ioreq_server.list) ) > return NULL; > > - if ( list_is_singular(&d->arch.hvm_domain.ioreq_server.list) || > - (p->type != IOREQ_TYPE_COPY && p->type != IOREQ_TYPE_PIO) ) > + if ( p->type != IOREQ_TYPE_COPY && p->type != IOREQ_TYPE_PIO ) I'm having some trouble understanding the reason for this change. Jan