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