xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Egger <Christoph.Egger@amd.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: "Tim (Xen.org)" <tim@xen.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [xen-unstable test] 13539: regressions - FAIL
Date: Fri, 3 Aug 2012 11:11:28 +0200	[thread overview]
Message-ID: <501B95C0.1080708@amd.com> (raw)
In-Reply-To: <501BA0E6020000780009263B@nat28.tlf.novell.com>

On 08/03/12 09:59, Jan Beulich wrote:

>>>> On 03.08.12 at 09:48, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>> On Fri, 2012-08-03 at 06:12 +0100, Ian Campbell wrote:
>>> On Fri, 2012-08-03 at 00:41 +0100, xen.org wrote:
>>>> flight 13539 xen-unstable real [real]
>>>> http://www.chiark.greenend.org.uk/~xensrcts/logs/13539/ 
>>>>
>>>> Regressions :-(
>>>>
>>>> Tests which did not succeed and are blocking,
>>>> including tests which could not be run:
>>>>  build-i386-oldkern            4 xen-build                 fail REGR. vs. 
>> 13536
>>>>  build-i386                    4 xen-build                 fail REGR. vs. 
>> 13536
>>
>> 8<----------------------------------
>>
>> # HG changeset patch
>> # User Ian Campbell <ian.campbell@citrix.com>
>> # Date 1343980045 -3600
>> # Node ID 23fdca3adb3346090ea8b65b77cad7d279cf9daf
>> # Parent  95a4ab632ac25ce0ec6a245dcc46ad57d3c7030f
>> nestedhvm: fix nested page fault build error on 32-bit
>>
>>     cc1: warnings being treated as errors
>>     hvm.c: In function ‘hvm_hap_nested_page_fault’:
>>     hvm.c:1282: error: passing argument 2 of 
>> ‘nestedhvm_hap_nested_page_fault’ from incompatible pointer type 
>> /local/scratch/ianc/devel/xen-unstable.hg/xen/include/asm/hvm/nestedhvm.h:55: 
>> note: expected ‘paddr_t *’ but argument is of type ‘long unsigned int *’
>>
>> hvm_hap_nested_page_fault takes an unsigned long gpa and passes &gpa
>> to nestedhvm_hap_nested_page_fault which takes a paddr_t *. Since both
>> of the callers of hvm_hap_nested_page_fault (svm_do_nested_pgfault and
>> ept_handle_violation) actually have the gpa which they pass to
>> hvm_hap_nested_page_fault as a paddr_t I think it makes sense to
>> change the argument to hvm_hap_nested_page_fault.
> 
> And that's even outside of the current build failure - it just
> can't have worked for >4Gb guests on the 32-bit hypervisor.
> 
>> The other user of gpa in hvm_hap_nested_page_fault is a call to
>> p2m_mem_access_check, which currently also takes a paddr_t gpa but I
>> think a paddr_t is appropriate there too.
>>
>> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Christoph Egger <Christoph.Egger@amd.com>

> 
>> diff -r 95a4ab632ac2 -r 23fdca3adb33 xen/arch/x86/hvm/hvm.c
>> --- a/xen/arch/x86/hvm/hvm.c	Fri Aug 03 08:43:10 2012 +0100
>> +++ b/xen/arch/x86/hvm/hvm.c	Fri Aug 03 08:47:25 2012 +0100
>> @@ -1242,7 +1242,7 @@ void hvm_inject_page_fault(int errcode, 
>>      hvm_inject_trap(&trap);
>>  }
>>  
>> -int hvm_hap_nested_page_fault(unsigned long gpa,
>> +int hvm_hap_nested_page_fault(paddr_t gpa,
>>                                bool_t gla_valid,
>>                                unsigned long gla,
>>                                bool_t access_r,
>> diff -r 95a4ab632ac2 -r 23fdca3adb33 xen/arch/x86/mm/p2m.c
>> --- a/xen/arch/x86/mm/p2m.c	Fri Aug 03 08:43:10 2012 +0100
>> +++ b/xen/arch/x86/mm/p2m.c	Fri Aug 03 08:47:25 2012 +0100
>> @@ -1233,7 +1233,7 @@ void p2m_mem_paging_resume(struct domain
>>      }
>>  }
>>  
>> -bool_t p2m_mem_access_check(unsigned long gpa, bool_t gla_valid, unsigned 
>> long gla, 
>> +bool_t p2m_mem_access_check(paddr_t gpa, bool_t gla_valid, unsigned long 
>> gla, 
>>                            bool_t access_r, bool_t access_w, bool_t 
>> access_x,
>>                            mem_event_request_t **req_ptr)
>>  {
>> diff -r 95a4ab632ac2 -r 23fdca3adb33 xen/include/asm-x86/hvm/hvm.h
>> --- a/xen/include/asm-x86/hvm/hvm.h	Fri Aug 03 08:43:10 2012 +0100
>> +++ b/xen/include/asm-x86/hvm/hvm.h	Fri Aug 03 08:47:25 2012 +0100
>> @@ -433,7 +433,7 @@ static inline void hvm_set_info_guest(st
>>  
>>  int hvm_debug_op(struct vcpu *v, int32_t op);
>>  
>> -int hvm_hap_nested_page_fault(unsigned long gpa,
>> +int hvm_hap_nested_page_fault(paddr_t gpa,
>>                                bool_t gla_valid, unsigned long gla,
>>                                bool_t access_r,
>>                                bool_t access_w,
>> diff -r 95a4ab632ac2 -r 23fdca3adb33 xen/include/asm-x86/p2m.h
>> --- a/xen/include/asm-x86/p2m.h	Fri Aug 03 08:43:10 2012 +0100
>> +++ b/xen/include/asm-x86/p2m.h	Fri Aug 03 08:47:25 2012 +0100
>> @@ -589,7 +589,7 @@ static inline void p2m_mem_paging_popula
>>   * been promoted with no underlying vcpu pause. If the req_ptr has been 
>> populated, 
>>   * then the caller must put the event in the ring (once having released 
>> get_gfn*
>>   * locks -- caller must also xfree the request. */
>> -bool_t p2m_mem_access_check(unsigned long gpa, bool_t gla_valid, unsigned 
>> long gla, 
>> +bool_t p2m_mem_access_check(paddr_t gpa, bool_t gla_valid, unsigned long 
>> gla, 
>>                            bool_t access_r, bool_t access_w, bool_t 
>> access_x,
>>                            mem_event_request_t **req_ptr);
>>  /* Resumes the running of the VCPU, restarting the last instruction */
>> @@ -606,7 +606,7 @@ int p2m_get_mem_access(struct domain *d,
>>                         hvmmem_access_t *access);
>>  
>>  #else
>> -static inline bool_t p2m_mem_access_check(unsigned long gpa, bool_t 
>> gla_valid, 
>> +static inline bool_t p2m_mem_access_check(paddr_t gpa, bool_t gla_valid, 
>>                                          unsigned long gla, bool_t access_r, 
>>
>>                                          bool_t access_w, bool_t access_x,
>>                                          mem_event_request_t **req_ptr)
>>
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org 
>> http://lists.xen.org/xen-devel 



-- 
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  parent reply	other threads:[~2012-08-03  9:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-02 23:41 [xen-unstable test] 13539: regressions - FAIL xen.org
2012-08-03  5:12 ` Ian Campbell
2012-08-03  7:48   ` Ian Campbell
2012-08-03  7:57     ` Ian Campbell
2012-08-03  7:59     ` Jan Beulich
2012-08-03  8:00       ` Ian Campbell
2012-08-03  8:44         ` Jan Beulich
2012-08-03  9:11       ` Christoph Egger [this message]
2012-08-03  8:34     ` Tim Deegan
2012-08-03  8:37       ` Ian Campbell
2012-08-03  8:39         ` Tim Deegan
2012-08-03  8:55           ` Ian Campbell

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=501B95C0.1080708@amd.com \
    --to=christoph.egger@amd.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xensource.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;
as well as URLs for NNTP newsgroup(s).