xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [xen-unstable test] 13539: regressions - FAIL
@ 2012-08-02 23:41 xen.org
  2012-08-03  5:12 ` Ian Campbell
  0 siblings, 1 reply; 12+ messages in thread
From: xen.org @ 2012-08-02 23:41 UTC (permalink / raw)
  To: xen-devel; +Cc: ian.jackson

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

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin 12 guest-saverestore.2      fail blocked in 13536
 test-amd64-amd64-xl-qemuu-winxpsp3  9 guest-localmigrate       fail like 13536
 test-amd64-amd64-xl-qemuu-win7-amd64  9 guest-localmigrate     fail like 13536

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-i386-pv            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-amd  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 xen-build-check(1)           blocked n/a
 test-i386-i386-xl             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-multivcpu  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-credit2    1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl            1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 xen-build-check(1)         blocked n/a
 test-i386-i386-pair           1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-pair          1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-qemuu-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xend-winxpsp3  1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-rhel6hvm-intel  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-win         16 leak-check/check             fail   never pass
 test-i386-i386-pv             1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-win-vcpus1    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-winxpsp3 13 guest-stop                   fail   never pass
 test-amd64-i386-xl-win7-amd64  1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-winxpsp3    1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win7-amd64 13 guest-stop                   fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1  1 xen-build-check(1)           blocked n/a
 test-amd64-i386-win           1 xen-build-check(1)           blocked  n/a
 test-i386-i386-win            1 xen-build-check(1)           blocked  n/a
 test-i386-i386-xl-win         1 xen-build-check(1)           blocked  n/a
 test-amd64-i386-xl-win-vcpus1  1 xen-build-check(1)           blocked  n/a
 test-amd64-amd64-xl-win      13 guest-stop                   fail   never pass

version targeted for testing:
 xen                  983ea7521bad
baseline version:
 xen                  3d17148e465c

------------------------------------------------------------
People who touched revisions under test:
  Christoph Egger <Christoph.Egger@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Keir Fraser <keir@xen.org>
  Tim Deegan <tim@xen.org>
------------------------------------------------------------

jobs:
 build-amd64                                                  pass    
 build-i386                                                   fail    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           fail    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-i386-i386-xl                                            blocked 
 test-amd64-i386-rhel6hvm-amd                                 blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                blocked 
 test-amd64-i386-xl-credit2                                   blocked 
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-i386-xl-multivcpu                                 blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         blocked 
 test-i386-i386-pair                                          blocked 
 test-amd64-amd64-xl-sedf-pin                                 fail    
 test-amd64-amd64-pv                                          pass    
 test-amd64-i386-pv                                           blocked 
 test-i386-i386-pv                                            blocked 
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-win-vcpus1                                   blocked 
 test-amd64-i386-xl-win-vcpus1                                blocked 
 test-amd64-i386-xl-winxpsp3-vcpus1                           blocked 
 test-amd64-amd64-win                                         fail    
 test-amd64-i386-win                                          blocked 
 test-i386-i386-win                                           blocked 
 test-amd64-amd64-xl-win                                      fail    
 test-i386-i386-xl-win                                        blocked 
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-i386-i386-xl-qemuu-winxpsp3                             blocked 
 test-amd64-i386-xend-winxpsp3                                blocked 
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-i386-i386-xl-winxpsp3                                   blocked 


------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at
    http://www.chiark.greenend.org.uk/~xensrcts/logs

Test harness code can be found at
    http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
changeset:   25705:983ea7521bad
tag:         tip
user:        Tim Deegan <tim@xen.org>
date:        Thu Aug 02 14:44:53 2012 +0100
    
    nestedhvm: return the pfec from the pagetable walk.
    
    Don't clobber it with the pfec from teh p2m walk behind it; the guest
    will not expect (or be able to handle) error codes that come from the
    p2m table, which it can't see or control.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Acked-by: Christoph Egger <Christoph.Egger@amd.com>
    Committed-by: Tim Deegan <tim@xen.org>
    
    
changeset:   25704:c323f1af7e67
user:        Christoph Egger <Christoph.Egger@amd.com>
date:        Thu Aug 02 14:38:09 2012 +0100
    
    nestedhvm: fix write access fault on ro mapping
    
    Fix write access fault when host npt is mapped read-only.
    In this case let the host handle the #NPF.
    Apply host p2mt to hap-on-hap pagetable entry.
    This fixes the l2 guest graphic display refresh problem.
    
    Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
    Acked-by: Tim Deegan <tim@xen.org>
    Committed-by: Tim Deegan <tim@xen.org>
    
    
changeset:   25703:90bc5e0a67b5
user:        Tim Deegan <tim@xen.org>
date:        Thu Aug 02 12:04:31 2012 +0100
    
    xen: detect compiler version with '--version' rather than '-v'
    
    This allows us to get rid of the 'grep version', which doesn't
    work with localized compilers.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Acked-by: Keir Fraser <keir@xen.org>
    Committed-by: Tim Deegan <tim@xen.org>
    
    
changeset:   25702:3d17148e465c
user:        Jan Beulich <jbeulich@suse.com>
date:        Thu Aug 02 11:49:37 2012 +0200
    
    x86: also allow disabling LAPIC NMI watchdog on newer CPUs
    
    This complements c/s 9146:941897e98591, and also replaces a literal
    zero with a proper manifest constant.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    
    
(qemu changes not included)

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  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
  0 siblings, 1 reply; 12+ messages in thread
From: Ian Campbell @ 2012-08-03  5:12 UTC (permalink / raw)
  To: xen.org; +Cc: Christoph Egger, xen-devel@lists.xensource.com, Tim Deegan

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

gcc -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   -fno-builtin -fno-common -Wredundant-decls -iwithprefix include -Werror -Wno-pointer-arith -pipe -I/home/osstest/build.13539.build-i386/xen-unstable/xen/include  -I/home/osstest/build.13539.build-i386/xen-unstable/xen/include/asm-x86/mach-generic -I/home/osstest/build.13539.build-i386/xen-unstable/xen/include/asm-x86/mach-default -msoft-float -fno-stack-protector -fno-exceptions -Wnested-externs -fno-optimize-sibling-calls -nostdinc -g -D__XEN__ -include /home/osstest/build.13539.build-i386/xen-unstable/xen/include/xen/config.h -DVERBOSE -DHAS_ACPI -DHAS_GDBSX -DHAS_PASSTHROUGH -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER -MMD -MF .mce_amd_quirks.o
 .d -c mce_amd_quirks.c -o mce_amd_quirks.o
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
/home/osstest/build.13539.build-i386/xen-unstable/xen/include/asm/hvm/nestedhvm.h:55: note: expected 'paddr_t *' but argument is of type 'long unsigned int *'

Ian.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  2012-08-03  5:12 ` Ian Campbell
@ 2012-08-03  7:48   ` Ian Campbell
  2012-08-03  7:57     ` Ian Campbell
                       ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Ian Campbell @ 2012-08-03  7:48 UTC (permalink / raw)
  To: Ian Jackson; +Cc: Christoph Egger, xen-devel@lists.xensource.com, Tim (Xen.org)

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.

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>

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  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:34     ` Tim Deegan
  2 siblings, 0 replies; 12+ messages in thread
From: Ian Campbell @ 2012-08-03  7:57 UTC (permalink / raw)
  To: Ian Jackson
  Cc: Keir Fraser, Christoph Egger, xen-devel@lists.xensource.com,
	Tim (Xen.org), Jan Beulich

(adding Keir & Jan in case Christoph & Tim aren't around)

On Fri, 2012-08-03 at 08:48 +0100, Ian Campbell 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.
> 
> 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>
> 
> 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



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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  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  9:11       ` Christoph Egger
  2012-08-03  8:34     ` Tim Deegan
  2 siblings, 2 replies; 12+ messages in thread
From: Jan Beulich @ 2012-08-03  7:59 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Tim (Xen.org), Christoph Egger, xen-devel@lists.xensource.com,
	Ian Jackson

>>> 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>

> 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 



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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  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
  1 sibling, 1 reply; 12+ messages in thread
From: Ian Campbell @ 2012-08-03  8:00 UTC (permalink / raw)
  To: Jan Beulich
  Cc: Tim (Xen.org), Christoph Egger, xen-devel@lists.xensource.com,
	Ian Jackson

On Fri, 2012-08-03 at 08:59 +0100, 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.

Right. I must admit I was surprised to find that nestedhvm was a feature
of 32 bit at all, I had expect the fix to be changing some sort of stub
function...

> 
> > 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>
> 
> > 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 
> 
> 



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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  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:34     ` Tim Deegan
  2012-08-03  8:37       ` Ian Campbell
  2 siblings, 1 reply; 12+ messages in thread
From: Tim Deegan @ 2012-08-03  8:34 UTC (permalink / raw)
  To: Ian Campbell
  Cc: keir, Christoph Egger, xen-devel@lists.xensource.com, Ian Jackson

At 08:48 +0100 on 03 Aug (1343983712), Ian Campbell wrote:
> 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.
> 
> 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: Tim Deegan <tim@xen.org>

I think this is a candidate for backporting, too.  As Jan points out,
this is a HAP bug on 32-bit with >4G guests.

Tim.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  2012-08-03  8:34     ` Tim Deegan
@ 2012-08-03  8:37       ` Ian Campbell
  2012-08-03  8:39         ` Tim Deegan
  0 siblings, 1 reply; 12+ messages in thread
From: Ian Campbell @ 2012-08-03  8:37 UTC (permalink / raw)
  To: Tim Deegan
  Cc: Keir (Xen.org), Christoph Egger, xen-devel@lists.xensource.com,
	Ian Jackson

On Fri, 2012-08-03 at 09:34 +0100, Tim Deegan wrote:
> At 08:48 +0100 on 03 Aug (1343983712), Ian Campbell wrote:
> > 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.
> > 
> > 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: Tim Deegan <tim@xen.org>

Is one of you or Jan going to apply or shall I? (I'm doing a tools
commit sweep right now)

> I think this is a candidate for backporting, too.  As Jan points out,
> this is a HAP bug on 32-bit with >4G guests.
> 
> Tim.
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  2012-08-03  8:37       ` Ian Campbell
@ 2012-08-03  8:39         ` Tim Deegan
  2012-08-03  8:55           ` Ian Campbell
  0 siblings, 1 reply; 12+ messages in thread
From: Tim Deegan @ 2012-08-03  8:39 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Keir (Xen.org), Christoph Egger, xen-devel@lists.xensource.com,
	Ian Jackson

At 09:37 +0100 on 03 Aug (1343986678), Ian Campbell wrote:
> On Fri, 2012-08-03 at 09:34 +0100, Tim Deegan wrote:
> > At 08:48 +0100 on 03 Aug (1343983712), Ian Campbell wrote:
> > > 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.
> > > 
> > > 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: Tim Deegan <tim@xen.org>
> 
> Is one of you or Jan going to apply or shall I? (I'm doing a tools
> commit sweep right now)

If you're already applying things, please do apply up this one too.

Tim.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  2012-08-03  8:00       ` Ian Campbell
@ 2012-08-03  8:44         ` Jan Beulich
  0 siblings, 0 replies; 12+ messages in thread
From: Jan Beulich @ 2012-08-03  8:44 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Tim (Xen.org), Christoph Egger, xen-devel@lists.xensource.com,
	Ian Jackson

>>> On 03.08.12 at 10:00, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Fri, 2012-08-03 at 08:59 +0100, 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.
> 
> Right. I must admit I was surprised to find that nestedhvm was a feature
> of 32 bit at all, I had expect the fix to be changing some sort of stub
> function...

So did I first think. But the function that needed changing really
isn't nested-HVM only, so the fix was required in any case (just
that without the exposing c/s, the problem would likely have been
found a lot later).

Jan

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  2012-08-03  8:39         ` Tim Deegan
@ 2012-08-03  8:55           ` Ian Campbell
  0 siblings, 0 replies; 12+ messages in thread
From: Ian Campbell @ 2012-08-03  8:55 UTC (permalink / raw)
  To: Tim Deegan
  Cc: Keir (Xen.org), Christoph Egger, xen-devel@lists.xensource.com,
	Ian Jackson

On Fri, 2012-08-03 at 09:39 +0100, Tim Deegan wrote:
> At 09:37 +0100 on 03 Aug (1343986678), Ian Campbell wrote:
> > On Fri, 2012-08-03 at 09:34 +0100, Tim Deegan wrote:
> > > At 08:48 +0100 on 03 Aug (1343983712), Ian Campbell wrote:
> > > > 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.
> > > > 
> > > > 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: Tim Deegan <tim@xen.org>
> > 
> > Is one of you or Jan going to apply or shall I? (I'm doing a tools
> > commit sweep right now)
> 
> If you're already applying things, please do apply up this one too.

Done.

I added an extra sentence to the commit log:
        Jan points out that this is also an issue for >4GB guests on the
        32 
        bit hypervisor.

> 
> Tim.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [xen-unstable test] 13539: regressions - FAIL
  2012-08-03  7:59     ` Jan Beulich
  2012-08-03  8:00       ` Ian Campbell
@ 2012-08-03  9:11       ` Christoph Egger
  1 sibling, 0 replies; 12+ messages in thread
From: Christoph Egger @ 2012-08-03  9:11 UTC (permalink / raw)
  To: Jan Beulich
  Cc: Tim (Xen.org), xen-devel@lists.xensource.com, Ian Jackson,
	Ian Campbell

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-08-03  9:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

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).