[Xen-devel] [linux-3.14 test] 33494: regressions - FAIL

2015-01-18 Thread xen . org
flight 33494 linux-3.14 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/33494/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvh-intel  5 xen-boot fail REGR. vs. 33341
 test-amd64-amd64-xl-pvh-amd   7 debian-installfail REGR. vs. 33341
 test-amd64-i386-rumpuserxen-i386  5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-libvirt   5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-xl-credit27 debian-installfail REGR. vs. 33341
 test-amd64-i386-xl-multivcpu  5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-rhel6hvm-amd  5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-qemut-rhel6hvm-amd  5 xen-bootfail REGR. vs. 33341
 test-amd64-i386-qemuu-rhel6hvm-intel  5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-qemut-rhel6hvm-intel  5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-xl5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install  fail REGR. vs. 33341
 test-amd64-i386-freebsd10-amd64  5 xen-boot   fail REGR. vs. 33341
 test-amd64-i386-xl-qemuu-debianhvm-amd64  5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-xl-qemuu-ovmf-amd64  5 xen-boot   fail REGR. vs. 33341
 test-amd64-amd64-xl   5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-xl-qemut-debianhvm-amd64  5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-xl-win7-amd64  5 xen-boot fail REGR. vs. 33341
 test-amd64-i386-freebsd10-i386  5 xen-bootfail REGR. vs. 33341
 test-amd64-i386-xl-qemut-winxpsp3  5 xen-boot fail REGR. vs. 33341
 test-amd64-amd64-pair 8 xen-boot/dst_host fail REGR. vs. 33341
 test-amd64-amd64-xl-qemut-winxpsp3  5 xen-bootfail REGR. vs. 33341
 test-amd64-i386-xl-qemuu-win7-amd64  5 xen-boot   fail REGR. vs. 33341
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1  5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-xl-qemut-win7-amd64  5 xen-boot   fail REGR. vs. 33341
 test-amd64-i386-xl-winxpsp3   5 xen-boot  fail REGR. vs. 33341
 test-amd64-amd64-xl-qemut-win7-amd64  5 xen-boot  fail REGR. vs. 33341
 test-amd64-amd64-xl-qemuu-win7-amd64  5 xen-boot  fail REGR. vs. 33341
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  5 xen-boot fail REGR. vs. 33341
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1  5 xen-boot  fail REGR. vs. 33341
 test-amd64-amd64-xl-qemut-debianhvm-amd64  5 xen-boot fail REGR. vs. 33341
 test-amd64-amd64-xl-qemuu-ovmf-amd64 7 debian-hvm-install fail REGR. vs. 33341
 test-amd64-i386-xl-winxpsp3-vcpus1  5 xen-bootfail REGR. vs. 33341
 test-amd64-i386-pair  8 xen-boot/dst_host fail REGR. vs. 33341
 test-amd64-i386-pair  7 xen-boot/src_host fail REGR. vs. 33341
 test-amd64-amd64-xl-winxpsp3  5 xen-boot  fail REGR. vs. 33341
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install fail REGR. vs. 33341
 test-amd64-i386-xl-qemuu-winxpsp3  5 xen-boot fail REGR. vs. 33341
 test-amd64-amd64-rumpuserxen-amd64 7 rumpuserxen-demo-setup fail in 33462 
REGR. vs. 33341
 test-amd64-amd64-xl-win7-amd64 7 windows-install fail in 33462 REGR. vs. 33341

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-rumpuserxen-amd64  5 xen-boot  fail pass in 33462
 test-armhf-armhf-xl  12 guest-start.2   fail pass in 33462
 test-amd64-amd64-xl-win7-amd64  5 xen-boot  fail pass in 33462
 test-amd64-amd64-xl-pvh-amd   5 xen-boot   fail in 33462 pass in 33494
 test-amd64-i386-xl-credit25 xen-boot   fail in 33462 pass in 33494
 test-amd64-amd64-libvirt  5 xen-boot   fail in 33462 pass in 33494
 test-amd64-i386-qemuu-rhel6hvm-amd  5 xen-boot fail in 33462 pass in 33494
 test-amd64-amd64-pair 7 xen-boot/src_host  fail in 33462 pass in 33494
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1 3 host-install(3) broken in 33462 
pass in 33494
 test-amd64-amd64-xl-qemuu-ovmf-amd64  5 xen-boot   fail in 33462 pass in 33494
 test-amd64-amd64-xl-qemuu-winxpsp3  5 xen-boot fail in 33462 pass in 33494

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf  5 xen-boot  fail REGR. vs. 33341
 test-amd64-amd64-xl-pcipt-intel  5 xen-boot   fail REGR. vs. 33341
 test-amd64-i386-rhel6hvm-intel  5 xen-boot fail like 33296
 test-amd64-amd64-xl-sedf-pin  5 xen-boot  fail REGR. vs. 33341
 test-amd64-i386-xl-qemuu-debianhvm-amd64 3 host-install(3) broken in 33462 
like 33296
 test-amd64-i386-xl-qemuu-ovmf-amd64 3 host-install(3) broken in 33462 like 
33296

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt  9 guest-s

[Xen-devel] [libvirt test] 33553: regressions - FAIL

2015-01-18 Thread xen . org
flight 33553 libvirt real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/33553/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt   5 libvirt-build fail REGR. vs. 33422
 build-i386-libvirt5 libvirt-build fail REGR. vs. 33422
 build-amd64-libvirt   5 libvirt-build fail REGR. vs. 33422

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt   1 build-check(1)   blocked  n/a
 test-armhf-armhf-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a

version targeted for testing:
 libvirt  368042cf4a6bca34c7da45517a6e3ce91876c53c
baseline version:
 libvirt  ce745914b33e3f9a136d91655600b931e7a4178f


People who touched revisions under test:
  Anthony PERARD 
  Cédric Bosdonnat 
  Daniel P. Berrange 
  Dmitry Guryanov 
  Erik Skultety 
  Jim Fehlig 
  Jiri Denemark 
  John Ferlan 
  Ján Tomko 
  Kiarie Kahurani 
  Luyao Huang 
  Martin Kletzander 
  Michal Privoznik 
  Shivaprasad G Bhat 
  Shivaprasad G Bhat 


jobs:
 build-amd64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-libvirt  fail
 build-armhf-libvirt  fail
 build-i386-libvirt   fail
 build-amd64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-libvirt blocked
 test-armhf-armhf-libvirt blocked
 test-amd64-i386-libvirt  blocked



sg-report-flight on osstest.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.

(No revision log; it would be 549 lines long.)

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


[Xen-devel] [linux-linus test] 33485: tolerable FAIL - PUSHED

2015-01-18 Thread xen . org
flight 33485 linux-linus real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/33485/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-freebsd10-i386  7 freebsd-install  fail like 33426
 test-amd64-i386-freebsd10-amd64  7 freebsd-install fail like 33426
 test-amd64-i386-pair17 guest-migrate/src_host/dst_host fail like 33426
 test-amd64-amd64-xl-qemuu-winxpsp3  7 windows-install  fail like 33426

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pvh-intel  9 guest-start  fail  never pass
 test-armhf-armhf-libvirt  9 guest-start  fail   never pass
 test-armhf-armhf-xl  10 migrate-support-checkfail   never pass
 test-amd64-i386-libvirt   9 guest-start  fail   never pass
 test-amd64-amd64-libvirt  9 guest-start  fail   never pass
 test-amd64-amd64-xl-pcipt-intel  9 guest-start fail never pass
 test-amd64-amd64-xl-pvh-amd   9 guest-start  fail   never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-amd64-xl-winxpsp3 14 guest-stop   fail   never pass
 test-amd64-i386-xl-qemuu-winxpsp3 14 guest-stopfail never pass
 test-amd64-amd64-xl-qemut-win7-amd64 14 guest-stop fail never pass
 test-amd64-i386-xl-qemut-win7-amd64 14 guest-stop  fail never pass
 test-amd64-i386-xl-win7-amd64 14 guest-stop   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 14 guest-stop fail never pass
 test-amd64-amd64-xl-win7-amd64 14 guest-stop   fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 14 guest-stop  fail never pass
 test-amd64-amd64-xl-qemut-winxpsp3 14 guest-stop   fail never pass
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 14 guest-stop   fail never pass
 test-amd64-i386-xl-winxpsp3  14 guest-stop   fail   never pass
 test-amd64-i386-xl-qemut-winxpsp3 14 guest-stopfail never pass

version targeted for testing:
 linuxfc7f0dd381720ea5ee5818645f7d0e9dece41cb0
baseline version:
 linux188c901941efd43cbf21e8f4f9e9a276536b989c


People who touched revisions under test:
  Alan Stern 
  Alexander Usyskin 
  Alexandre Belloni 
  Alexey Khoroshilov 
  Amit Virdi 
  Ani Sinha 
  Anjali Singhai 
  Anson Huang 
  Anton Blanchard 
  Arik Nemtsov 
  Arnd Bergmann 
  Arseny Solokha 
  B Viswanath 
  Benjamin Poirier 
  Bjorn Andersson 
  Bo Shen 
  Boris Brezillon 
  Catalin Marinas 
  Chanwoo Choi 
  Chen Gang 
  Chen Gang 
  Christian Borntraeger 
  Christoffer Dall 
  Christoph Jaeger 
  Chuck Lever 
  Colin Ian King 
  Dan Carpenter 
  Daniel Borkmann 
  Darrick J. Wong 
  David Peterson 
  David S. Miller 
  David Spinadel 
  David Vrabel 
  Eddie Kovsky 
  Eduardo Valentin 
  Emmanuel Grumbach 
  Eric Dumazet 
  Eyal Shapira 
  Eyal Shapira 
  Fabien Proriol 
  Felipe Balbi 
  Gabriel Fernandez 
  Geert Uytterhoeven 
  Geert Uytterhoeven 
  Geunsik Lim 
  Giel van Schijndel 
  Greg Kroah-Hartman 
  Greg Rose 
  Hans de Goede 
  Harald Freudenberger 
  Hariprasad Shenai 
  Heikki Krogerus 
  Heiko Carstens 
  Hubert Feurstein 
  Ian Munsie 
  Inki Dae 
  James Bottomley 
  Jan Willeke 
  Javi Merino 
  Jean-Francois Remy 
  Jeff Kirsher 
  Jeff Layton 
  Jens Axboe 
  Jeremiah Mahler 
  Jesse Brandeburg 
  Jim Young 
  Jim Young 
  Jiri Benc 
  Jiri Pirko 
  Joe Bryant 
  Johan Hovold 
  Johannes Thumshirn 
  John W. Linville 
  Jon Maloy 
  Jon Paul Maloy 
  Jonathan Cameron 
  Julia Lawall 
  Julian Anastasov 
  Kalle Valo 
  Keith Busch 
  Kishon Vijay Abraham I 
  Larry Finger 
  Lars-Peter Clausen 
  leroy christophe 
  Linus Torvalds 
  Louis Langholtz 
  Malcolm Priestley 
  Marc Dionne 
  Marc Zyngier 
  Mario Schuknecht 
  Mario Smarduch 
  Martin Long 
  Martin Schwidefsky 
  Masami Hiramatsu 
  Mathias Nyman 
  Maxime Ripard 
  Michael Chan 
  Michael Ellerman 
  Michael Holzheu 
  Mike Krinkin 
  Mike Looijmans 
  Miklos Szeredi 
  Ming Lei 
  Mugunthan V N 
  NeilBrown 
  Nicolas Ferre 
  Nishanth Menon 
  Nobuhiro Iwamatsu 
  Oded Gabbay 
  Oliver Neukum 
  Olof Johansson 
  Pablo Neira Ayuso 
  Paolo Bonzini 
  Paul Zimmerman 
  Peter Chen 
  Peter Hurley 
  Prashant Sreedharan 
  Pravin B Shelar 
  Preston Fick 
  Rasmus Villemoes 
  Reinhard Speyerer 
  Richard 
  Robert Baldyga 
  Sascha Hauer 
  Sebastian Andrzej Siewior 
  Sergej Pupykin 
  Shreyas Bethur 
  Simon Horman 
  Songjun Wu 
  Stefan Agner 
  Steven Rostedt (Red Hat) 
  Steven Rostedt 
  Tejun Heo 
  Thierry Reding 
  Thomas Falcon 
  Thomas Graf 
  Tim Kryger 
  Tomas Winkler 
  Tomeu Vizoso 
  Tomi Valkeinen 
  Tony Lindgren

Re: [Xen-devel] [Patch V2 0/4] xen: auto-generate symbols for xen hypercalls

2015-01-18 Thread Juergen Gross

Hi,

anything missing to take these patches?

Juergen

On 12/17/2014 10:50 AM, Juergen Gross wrote:

The Xen hypercalls are defined in include/xen/interface/xen.h. There
are some places where for each hypercall a table element is created.
Instead of manually add each hypercall element to these tables use
an auto generated header built during the make process of the kernel.

Changes in V2:
- add "autogenerated" comment to generated header file as suggested by
   David Vrabel (patch 1)
- some minor adjustments to patch 4 as suggested by David Vrabel

Juergen Gross (4):
   xen: build infrastructure for generating hypercall depending symbols
   xen: synchronize include/xen/interface/xen.h with xen
   xen: use generated hypervisor symbols in arch/x86/xen/trace.c
   xen: use generated hypercall symbols in arch/x86/xen/xen-head.S

  arch/x86/syscalls/Makefile  |  9 +++
  arch/x86/xen/trace.c| 50 +++
  arch/x86/xen/xen-head.S | 63 +++--
  include/xen/interface/xen.h |  6 -
  scripts/xen-hypercalls.sh   | 12 +
  5 files changed, 40 insertions(+), 100 deletions(-)
  create mode 100644 scripts/xen-hypercalls.sh




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


[Xen-devel] [Bugfix 2/3] xen/irq: Override ACPI IRQ management callback __acpi_unregister_gsi

2015-01-18 Thread Jiang Liu
Xen overrides __acpi_register_gsi and leaves __acpi_unregister_gsi as is.
That means, an IRQ allocated by acpi_register_gsi_xen_hvm() or
acpi_register_gsi_xen() will be freed by acpi_unregister_gsi_ioapic(),
which may cause undesired effects. So override __acpi_unregister_gsi to
NULL for safety.

Signed-off-by: Jiang Liu 
---
 arch/x86/include/asm/acpi.h |1 +
 arch/x86/pci/xen.c  |2 ++
 2 files changed, 3 insertions(+)

diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
index 0ab4f9fd2687..3a45668f6dc3 100644
--- a/arch/x86/include/asm/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -50,6 +50,7 @@ void acpi_pic_sci_set_trigger(unsigned int, u16);
 
 extern int (*__acpi_register_gsi)(struct device *dev, u32 gsi,
  int trigger, int polarity);
+extern void (*__acpi_unregister_gsi)(u32 gsi);
 
 static inline void disable_acpi(void)
 {
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 6e5e89c3c644..9098d880c476 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -458,6 +458,7 @@ int __init pci_xen_hvm_init(void)
 * just how GSIs get registered.
 */
__acpi_register_gsi = acpi_register_gsi_xen_hvm;
+   __acpi_unregister_gsi = NULL;
 #endif
 
 #ifdef CONFIG_PCI_MSI
@@ -482,6 +483,7 @@ int __init pci_xen_initial_domain(void)
pci_msi_ignore_mask = 1;
 #endif
__acpi_register_gsi = acpi_register_gsi_xen;
+   __acpi_unregister_gsi = NULL;
/* Pre-allocate legacy irqs */
for (irq = 0; irq < nr_legacy_irqs(); irq++) {
int trigger, polarity;
-- 
1.7.10.4


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


[Xen-devel] [libvirt bisection] complete build-armhf-libvirt

2015-01-18 Thread xen . org
branch xen-unstable
xen branch xen-unstable
job build-armhf-libvirt
test libvirt-build

Tree: libvirt git://libvirt.org/libvirt.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  libvirt git://libvirt.org/libvirt.git
  Bug introduced:  2c78051a14acfb7aba078d569b1632dfe0ca0853
  Bug not present: 7ad117b2e33039737126ce9df7a267a6f939988d


  commit 2c78051a14acfb7aba078d569b1632dfe0ca0853
  Author: Kiarie Kahurani 
  Date:   Thu Sep 11 07:10:33 2014 +0300
  
  src/xenconfig: Xen-xl parser
  
  Introduce a Xen xl parser
  
  This parser allows for users to convert the new xl disk format and
  spice graphics config to libvirt xml format and vice versa. Regarding
  the spice graphics config, the code is pretty much straight forward.
  For the disk {formating, parsing}, this parser takes care of the new
  xl format which include positional parameters and key/value parameters.
  In xl format disk config a  consists of parameters separated by
  commas. If the parameters do not contain an '=' they are automatically
  assigned to certain options following the order below
  
 target, format, vdev, access
  
  The above are the only mandatory parameters in the  but there
  are many more disk config options. These options can be specified as
  key=value pairs. This takes care of the rest of the options such as
  
devtype, backend, backendtype, script, direct-io-safe,
  
  The positional paramters can also be specified in key/value form
  for example
  
  /dev/vg/guest-volume,,hda
  /dev/vg/guest-volume,raw,hda,rw
  format=raw, vdev=hda, access=rw, target=/dev/vg/guest-volume
  
  are interpleted to one config.
  
  In xm format, the above diskspec would be written as
  
  phy:/dev/vg/guest-volume,hda,w
  
  The disk parser is based on the same parser used successfully by
  the Xen project for several years now.  Ian Jackson authored the
  scanner, which is used by this commit with mimimal changes.  Only
  the PREFIX option is changed, to produce function and file names
  more consistent with libvirt's convention.
  
  Signed-off-by: Kiarie Kahurani 
  Signed-off-by: Jim Fehlig 


For bisection revision-tuple graph see:
   
http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.libvirt.build-armhf-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.


Searching for failure / basis pass:
 33514 fail [host=army] / 33422 [host=marilith-n4] 33404 [host=marilith-n4] 
32648 [host=marilith-n4] 32617 [host=marilith-n4] 32596 [host=marilith-n4] 
32576 [host=marilith-n4] 32555 [host=marilith-n4] 32534 [host=marilith-n4] 
32508 [host=marilith-n4] 32471 [host=marilith-n4] 32433 [host=marilith-n4] 
32414 [host=marilith-n4] 32351 [host=marilith-n4] 32330 [host=marilith-n4] 
32308 [host=marilith-n4] 32272 [host=marilith-n4] 32217 [host=marilith-n4] 
32137 [host=marilith-n4] 32005 [host=marilith-n4] 31928 [host=marilith-n4] 
31860 [host=marilith-n4] 31680 [host=marilith-n4] 31660 [host=marilith-n4] 
31595 [host=marilith-n4] 31566 [host=marilith-n4] 31532 [host=marilith-n4] 
31508 [host=marilith-n4] 31485 [host=marilith-n4] 31465 [host=marilith-n4] 
31392 [host=marilith-n4] 31372 [host=marilith-n4] 31327 [host=marilith-n4] 
31284 [host=marilith-n4] 31267 [host=marilith-n4] 31242 [host=marilith-n4] 
30985 ok.
Failure / basis pass flights: 33514 / 30985
(tree in latest but not in basispass: libvirt_gnulib)
(tree in basispass but not in latest: gnulib_libvirt)
Tree: libvirt git://libvirt.org/libvirt.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 368042cf4a6bca34c7da45517a6e3ce91876c53c 
1ebb75b1fee779621b63e84fefa7b07354c43a99 
36174af3fbeb1b662c0eadbfa193e77f68cc955b
Basis pass f9f9699f40729556238b905f67a7d6f68c084f6a 
c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 
6688825c240586708129df8887ad9b12a1708497
Generating revisions with ./adhoc-revtuple-generator  
git://libvirt.org/libvirt.git#f9f9699f40729556238b905f67a7d6f68c084f6a-368042cf4a6bca34c7da45517a6e3ce91876c53c
 
git://xenbits.xen.org/staging/qemu-upstream-unstable.git#c9d8f8b755e8960edf7725e05f3e6ac743a5e12e-1ebb75b1fee779621b63e84fefa7b07354c43a99
 
git://xenbits.xen.org/xen.git#6688825c240586708129df8887ad9b12a1708497-36174af3fbeb1b662c0eadbfa193e77f68cc955b
+ exec
+ sh -xe
+ cd /export/home/osstest/repos/libvirt
+ git remote set-url origin 
git://drall.uk.xensource.com:9419/git://libvirt.org/libvirt.git
+ git fetch -p origin +refs/heads/*:refs/remotes/origin/*
+ exec
+ sh -xe
+ cd /export/home/osstest/repos/qemu-upstream-unstable
+ git remote set-url origin 
git://drall.uk.xensource.com:9419/git://xenbits.xen.

Re: [Xen-devel] [Bugfix v4 1/2] xen/pci: Fix xen IRQ allocation failure caused by commit b81975eade8c

2015-01-18 Thread Jiang Liu

On 2015/1/17 2:13, Konrad Rzeszutek Wilk wrote:
> On Thu, Jan 15, 2015 at 09:04:35PM +0800, Jiang Liu wrote:

>>
>> Note: we need to test this patch on those special AMD systems which
>> override normal SCI GSI (9) with strange GSI (20).
> 
> [0.00] DMI: Supermicro X8DTN/X8DTN, BIOS 2.1c   10/28/2011
> ..
>  0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 20 low level)
> [0.00] ACPI: IRQ0 used by override.
> ..
> 6.358737] xen: registering gsi 20 triggering 0 polarity 1
> [6.358756] xen: --> pirq=20 -> irq=20 (gsi=20)
> ...
> -bash-4.1# cat /proc/interrupts |grep acpi
>  20:  0  0  0  xen-pirq-ioapic-level  acpi
Hi Konrad,
May I assume an Tested-by from you here?
Thanks!
Gerry

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


Re: [Xen-devel] [Bugfix v4 1/2] xen/pci: Fix xen IRQ allocation failure caused by commit b81975eade8c

2015-01-18 Thread Jiang Liu

On 2015/1/17 2:13, Konrad Rzeszutek Wilk wrote:
> On Thu, Jan 15, 2015 at 09:04:35PM +0800, Jiang Liu wrote:

>>
>> Note: we need to test this patch on those special AMD systems which
>> override normal SCI GSI (9) with strange GSI (20).
> 
> [0.00] DMI: Supermicro X8DTN/X8DTN, BIOS 2.1c   10/28/2011
> ..
>  0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 20 low level)
> [0.00] ACPI: IRQ0 used by override.
> ..
> 6.358737] xen: registering gsi 20 triggering 0 polarity 1
> [6.358756] xen: --> pirq=20 -> irq=20 (gsi=20)
> ...
> -bash-4.1# cat /proc/interrupts |grep acpi
>  20:  0  0  0  xen-pirq-ioapic-level  acpi
> 
Thanks Konrad, it works as expected. Previously IRQ9 was assigned
to ACPI SCI GSI 20, now it assigns IRQ20. But that's OK, ACPI has
no special requirement about the assigned IRQ number, we could
assign any valid IRQ number for ACPI SCI GSI.
Thanks!
Gerry


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


[Xen-devel] [qemu-mainline test] 33480: tolerable FAIL - PUSHED

2015-01-18 Thread xen . org
flight 33480 qemu-mainline real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/33480/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-sedf-pin  5 xen-boot  fail REGR. vs. 33424
 test-amd64-i386-pair17 guest-migrate/src_host/dst_host fail like 33424

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-pvh-intel  9 guest-start  fail  never pass
 test-amd64-i386-libvirt   9 guest-start  fail   never pass
 test-amd64-amd64-libvirt  9 guest-start  fail   never pass
 test-armhf-armhf-libvirt  9 guest-start  fail   never pass
 test-amd64-amd64-xl-pcipt-intel  9 guest-start fail never pass
 test-armhf-armhf-xl  10 migrate-support-checkfail   never pass
 test-amd64-amd64-xl-pvh-amd   9 guest-start  fail   never pass
 test-amd64-i386-xl-qemut-win7-amd64 14 guest-stop  fail never pass
 test-amd64-i386-xl-win7-amd64 14 guest-stop   fail  never pass
 test-amd64-amd64-xl-win7-amd64 14 guest-stop   fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-amd64-xl-winxpsp3 14 guest-stop   fail   never pass
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-amd64-xl-qemut-winxpsp3 14 guest-stop   fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 14 guest-stop  fail never pass
 test-amd64-amd64-xl-qemut-win7-amd64 14 guest-stop fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 14 guest-stop fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 14 guest-stop   fail never pass
 test-amd64-i386-xl-qemut-winxpsp3 14 guest-stopfail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 14 guest-stop   fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3 14 guest-stopfail never pass
 test-amd64-i386-xl-winxpsp3  14 guest-stop   fail   never pass

version targeted for testing:
 qemuu1e42c353469cb58ca4f3b450eea4211af7d0b147
baseline version:
 qemuu3a7f560fa612610822727f7647ed6bc10bccd6ec


People who touched revisions under test:
  Amit Shah 
  Andrew Jones 
  Ard Biesheuvel 
  Bharata B Rao 
  ChenLiang 
  Cristian Klein 
  David Morrison 
  David R. Morrison 
  Don Slutz 
  Dr. David Alan Gilbert 
  Eduardo Habkost 
  Fam Zheng 
  Frediano Ziglio 
  Frediano Ziglio 
  Gal Hammer 
  Gonglei 
  Jia Liu 
  Laszlo Ersek 
  Marcel Apfelbaum 
  Michael Tokarev 
  Paolo Bonzini 
  Pavel Dovgalyuk 
  Peter Lieven 
  Peter Maydell 
  SeokYeon Hwang 
  Stefan Weil 
  Thomas Huth 
  Yang Hongyang 


jobs:
 build-amd64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-armhf-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl  pass
 test-armhf-armhf-xl  pass
 test-amd64-i386-xl   pass
 test-amd64-amd64-xl-pvh-amd  fail
 test-amd64-i386-rhel6hvm-amd pass
 test-amd64-i386-qemut-rhel6hvm-amd   pass
 test-amd64-i386-qemuu-rhel6hvm-amd   pass
 test-amd64-amd64-xl-qemut-debianhvm-amd64pass
 test-amd64-i386-xl-qemut-debianhvm-amd64 pass
 test-amd64-amd64-xl-qemuu-debianhvm-amd64pass
 test-amd64-i386-xl-qemuu-debianhvm-amd64 pass
 test-amd64-i386-freebsd10-amd64  pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 pass
 test-amd64-i386-xl-qemuu-ovmf-amd64  pass
 test-amd64-amd64-xl-qemut-win7-amd64 fail
 test-amd64-i386-xl-qemut-win7-amd64  fail
 test-amd64-amd64-xl-qemuu-win7-amd64 fail
 test-amd64-i386-xl-qemuu-win7-amd64  fail
 test-amd64-amd64-xl-win7-amd64   fail
 test-amd64-i386-xl-win7-amd64 

[Xen-devel] [xen-unstable test] 33476: tolerable FAIL - PUSHED

2015-01-18 Thread xen . org
flight 33476 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/33476/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-amd64  5 xen-bootfail pass in 33450
 test-amd64-amd64-xl   9 guest-startfail in 33450 pass in 33476
 test-amd64-i386-freebsd10-amd64 3 host-install(3) broken in 33450 pass in 33476
 test-amd64-i386-xl-qemut-win7-amd64 3 host-install(3) broken in 33450 pass in 
33476

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-pair17 guest-migrate/src_host/dst_host fail like 33112

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt  9 guest-start  fail   never pass
 test-amd64-i386-libvirt   9 guest-start  fail   never pass
 test-amd64-amd64-xl-pvh-intel  9 guest-start  fail  never pass
 test-amd64-amd64-xl-pvh-amd   9 guest-start  fail   never pass
 test-armhf-armhf-libvirt  9 guest-start  fail   never pass
 test-amd64-amd64-xl-pcipt-intel  9 guest-start fail never pass
 test-armhf-armhf-xl  10 migrate-support-checkfail   never pass
 test-amd64-i386-xl-qemut-winxpsp3 14 guest-stopfail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3 14 guest-stopfail never pass
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-amd64-xl-qemut-win7-amd64 14 guest-stop fail never pass
 test-amd64-amd64-xl-winxpsp3 14 guest-stop   fail   never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 14 guest-stop fail never pass
 test-amd64-amd64-xl-win7-amd64 14 guest-stop   fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 14 guest-stop   fail never pass
 test-amd64-amd64-xl-qemut-winxpsp3 14 guest-stop   fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 14 guest-stop  fail never pass
 test-amd64-i386-xl-winxpsp3  14 guest-stop   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 14 guest-stop   fail never pass
 test-amd64-i386-xl-win7-amd64 14 guest-stop   fail  never pass
 test-amd64-i386-xl-qemut-win7-amd64 14 guest-stop  fail never pass

version targeted for testing:
 xen  0d2879062076329038860f873dcbeb6f55bd4917
baseline version:
 xen  36174af3fbeb1b662c0eadbfa193e77f68cc955b


People who touched revisions under test:
  Alexandra Sandulescu 
  Andrew Cooper 
  Boris Ostrovsky 
  Chao Peng 
  Christoph Egger 
  Ed Swierk 
  Euan Harris 
  Ian Campbell 
  Ian Campbell 
  Ian Jackson 
  Ian Jackson 
  Jan Beulich 
  Juergen Gross 
  Julien Grall 
  Karim Allah Ahmed 
  Keir Fraser 
  Kevin Tian 
  Konrad Rzeszutek Wilk 
  Liang Li 
  Liu Jinsong 
  Martin Lucina 
  Mihai Donțu 
  Olaf Hering 
  Paul Durrant 
  Robert Hu 
  Roger Pau Monné 
  Răzvan Cojocaru 
  Samuel Thibault 
  Stefano Stabellini 
  Thomas Leonard 
  Tim Deegan 
  Uma Sharma 
  Vijaya Kumar K 
  Wei Liu 
  Wei Ye 
  Yang Hongyang 
  Yang Zhang 
  Yu Zhang 


jobs:
 build-amd64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-armhf-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-oldkern  pass
 build-i386-oldkern   pass
 build-amd64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 build-amd64-rumpuserxen  pass
 build-i386-rumpuserxen   pass
 test-amd64-amd64-xl  pass
 test-armhf-armhf-xl  pass
 test-amd64-i386-xl   pass
 test-amd64-amd64-xl-pvh-amd  fail
 test-amd64-i386-rhel6hvm-amd pass
 test-amd64-i386-qemut-rhel6hvm-amd   pass
 test-amd64-i386-qemuu-rhel6hvm-amd   pass
 test-amd64-amd64-xl-qemut-debianhvm-amd64pass
 test-amd64-i386-xl-qemut-debianhvm-amd64 pass
 test-amd64-amd64-xl-qemuu-debianhvm-amd64pass
 test-amd64-i386-xl-qemuu-debi

[Xen-devel] [libvirt test] 33514: regressions - FAIL

2015-01-18 Thread xen . org
flight 33514 libvirt real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/33514/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt5 libvirt-build fail REGR. vs. 33422
 build-armhf-libvirt   5 libvirt-build fail REGR. vs. 33422
 build-amd64-libvirt   5 libvirt-build fail REGR. vs. 33422

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt   1 build-check(1)   blocked  n/a
 test-armhf-armhf-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a

version targeted for testing:
 libvirt  368042cf4a6bca34c7da45517a6e3ce91876c53c
baseline version:
 libvirt  ce745914b33e3f9a136d91655600b931e7a4178f


People who touched revisions under test:
  Anthony PERARD 
  Cédric Bosdonnat 
  Daniel P. Berrange 
  Dmitry Guryanov 
  Erik Skultety 
  Jim Fehlig 
  Jiri Denemark 
  John Ferlan 
  Ján Tomko 
  Kiarie Kahurani 
  Luyao Huang 
  Martin Kletzander 
  Michal Privoznik 
  Shivaprasad G Bhat 
  Shivaprasad G Bhat 


jobs:
 build-amd64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-libvirt  fail
 build-armhf-libvirt  fail
 build-i386-libvirt   fail
 build-amd64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-libvirt blocked
 test-armhf-armhf-libvirt blocked
 test-amd64-i386-libvirt  blocked



sg-report-flight on osstest.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.

(No revision log; it would be 549 lines long.)

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


[Xen-devel] [qemu-upstream-unstable test] 33488: tolerable FAIL - PUSHED

2015-01-18 Thread xen . org
flight 33488 qemu-upstream-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/33488/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt   9 guest-start  fail   never pass
 test-amd64-amd64-xl-pvh-intel  9 guest-start  fail  never pass
 test-armhf-armhf-libvirt  9 guest-start  fail   never pass
 test-armhf-armhf-xl  10 migrate-support-checkfail   never pass
 test-amd64-amd64-xl-pvh-amd   9 guest-start  fail   never pass
 test-amd64-amd64-libvirt  9 guest-start  fail   never pass
 test-amd64-amd64-xl-pcipt-intel  9 guest-start fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 14 guest-stop  fail never pass
 test-amd64-i386-xl-qemut-winxpsp3 14 guest-stopfail never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3 14 guest-stopfail never pass
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-amd64-xl-qemut-winxpsp3 14 guest-stop   fail never pass
 test-amd64-i386-xl-qemut-win7-amd64 14 guest-stop  fail never pass
 test-amd64-i386-xl-win7-amd64 14 guest-stop   fail  never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 14 guest-stop fail never pass
 test-amd64-amd64-xl-winxpsp3 14 guest-stop   fail   never pass
 test-amd64-amd64-xl-qemut-win7-amd64 14 guest-stop fail never pass
 test-amd64-amd64-xl-win7-amd64 14 guest-stop   fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 14 guest-stop   fail never pass
 test-amd64-i386-xl-winxpsp3  14 guest-stop   fail   never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 14 guest-stop   fail never pass

version targeted for testing:
 qemuu0d37748342e29854db7c9f6c47d7f58c6cfba6b2
baseline version:
 qemuu1ebb75b1fee779621b63e84fefa7b07354c43a99


330 people touched revisions under test,
not listing them all


jobs:
 build-amd64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-armhf-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl  pass
 test-armhf-armhf-xl  pass
 test-amd64-i386-xl   pass
 test-amd64-amd64-xl-pvh-amd  fail
 test-amd64-i386-rhel6hvm-amd pass
 test-amd64-i386-qemut-rhel6hvm-amd   pass
 test-amd64-i386-qemuu-rhel6hvm-amd   pass
 test-amd64-amd64-xl-qemut-debianhvm-amd64pass
 test-amd64-i386-xl-qemut-debianhvm-amd64 pass
 test-amd64-amd64-xl-qemuu-debianhvm-amd64pass
 test-amd64-i386-xl-qemuu-debianhvm-amd64 pass
 test-amd64-i386-freebsd10-amd64  pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 pass
 test-amd64-i386-xl-qemuu-ovmf-amd64  pass
 test-amd64-amd64-xl-qemut-win7-amd64 fail
 test-amd64-i386-xl-qemut-win7-amd64  fail
 test-amd64-amd64-xl-qemuu-win7-amd64 fail
 test-amd64-i386-xl-qemuu-win7-amd64  fail
 test-amd64-amd64-xl-win7-amd64   fail
 test-amd64-i386-xl-win7-amd64fail
 test-amd64-i386-xl-credit2   pass
 test-amd64-i386-freebsd10-i386   pass
 test-amd64-amd64-xl-pcipt-intel  fail
 test-amd64-amd64-xl-pvh-intelfail
 test-amd64-i386-rhel6hvm-intel   pass
 test-amd64-i386-qemut-rhel6hvm-intel pass
 test-amd64-i386-qemuu-rhel6hvm-intel pass
 test-amd64-amd64-libvirt fail
 test-armhf-armhf-libvirt  

[Xen-devel] [RFC PATCH V2 4/8] x86/hvm: rename hvm_memory_event_* functions to hvm_event_*

2015-01-18 Thread Tamas K Lengyel
The function names currently imply that these events are to be delivered via
the memory_event subsystem. However, the naming is confusing as these events
have nothing to do with actual memory events. Simply naming these functions
hvm_event_* more accurately describe their usage.

Signed-off-by: Tamas K Lengyel 
---
 docs/misc/pvh-readme.txt  |  2 +-
 xen/arch/x86/hvm/hvm.c| 50 +--
 xen/arch/x86/hvm/vmx/vmx.c|  6 +++---
 xen/include/asm-x86/hvm/hvm.h | 12 +--
 4 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/docs/misc/pvh-readme.txt b/docs/misc/pvh-readme.txt
index c5b3de4..bbd9dbe 100644
--- a/docs/misc/pvh-readme.txt
+++ b/docs/misc/pvh-readme.txt
@@ -49,7 +49,7 @@ Following remain to be done for PVH:
- AMD port.
- 32bit PVH guest support in both linux and xen. Xen changes are tagged
  "32bitfixme".
-   - Add support for monitoring guest behavior. See hvm_memory_event* functions
+   - Add support for monitoring guest behavior. See hvm_event* functions
  in hvm.c
- vcpu hotplug support
- Live migration of PVH guests.
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f936d51..1968865 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3229,7 +3229,7 @@ int hvm_set_cr0(unsigned long value)
 hvm_funcs.handle_cd(v, value);
 
 hvm_update_cr(v, 0, value);
-hvm_memory_event_cr0(value, old_value);
+hvm_event_cr0(value, old_value);
 
 if ( (value ^ old_value) & X86_CR0_PG ) {
 if ( !nestedhvm_vmswitch_in_progress(v) && 
nestedhvm_vcpu_in_guestmode(v) )
@@ -3270,7 +3270,7 @@ int hvm_set_cr3(unsigned long value)
 old=v->arch.hvm_vcpu.guest_cr[3];
 v->arch.hvm_vcpu.guest_cr[3] = value;
 paging_update_cr3(v);
-hvm_memory_event_cr3(value, old);
+hvm_event_cr3(value, old);
 return X86EMUL_OKAY;
 
  bad_cr3:
@@ -3311,7 +3311,7 @@ int hvm_set_cr4(unsigned long value)
 }
 
 hvm_update_cr(v, 4, value);
-hvm_memory_event_cr4(value, old_cr);
+hvm_event_cr4(value, old_cr);
 
 /*
  * Modifying CR4.{PSE,PAE,PGE,SMEP}, or clearing CR4.PCIDE
@@ -4457,7 +4457,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t 
msr_content)
 hvm_cpuid(1, NULL, NULL, NULL, &edx);
 mtrr = !!(edx & cpufeat_mask(X86_FEATURE_MTRR));
 
-hvm_memory_event_msr(msr, msr_content);
+hvm_event_msr(msr, msr_content);
 
 switch ( msr )
 {
@@ -6171,7 +6171,7 @@ int hvm_debug_op(struct vcpu *v, int32_t op)
 return rc;
 }
 
-static void hvm_mem_event_fill_regs(mem_event_request_t *req)
+static void hvm_event_fill_regs(mem_event_request_t *req)
 {
 const struct cpu_user_regs *regs = guest_cpu_user_regs();
 const struct vcpu *curr = current;
@@ -6203,7 +6203,7 @@ static void hvm_mem_event_fill_regs(mem_event_request_t 
*req)
 req->regs.x86.cr4 = curr->arch.hvm_vcpu.guest_cr[4];
 }
 
-static int hvm_memory_event_traps(long parameters, mem_event_request_t *req)
+static int hvm_event_traps(long parameters, mem_event_request_t *req)
 {
 int rc;
 struct vcpu *v = current;
@@ -6228,13 +6228,13 @@ static int hvm_memory_event_traps(long parameters, 
mem_event_request_t *req)
 mem_event_vcpu_pause(v);
 }
 
-hvm_mem_event_fill_regs(req);
+hvm_event_fill_regs(req);
 mem_event_put_request(d, &d->mem_event->monitor, req);
 
 return 1;
 }
 
-void hvm_memory_event_cr0(unsigned long value, unsigned long old) 
+void hvm_event_cr0(unsigned long value, unsigned long old)
 {
 mem_event_request_t req = {
 .reason = MEM_EVENT_REASON_CR0,
@@ -6249,10 +6249,10 @@ void hvm_memory_event_cr0(unsigned long value, unsigned 
long old)
 if ( (parameters & HVMPME_onchangeonly) && (value == old) )
 return;
 
-hvm_memory_event_traps(parameters, &req);
+hvm_event_traps(parameters, &req);
 }
 
-void hvm_memory_event_cr3(unsigned long value, unsigned long old) 
+void hvm_event_cr3(unsigned long value, unsigned long old)
 {
 mem_event_request_t req = {
 .reason = MEM_EVENT_REASON_CR3,
@@ -6267,10 +6267,10 @@ void hvm_memory_event_cr3(unsigned long value, unsigned 
long old)
 if ( (parameters & HVMPME_onchangeonly) && (value == old) )
 return;
 
-hvm_memory_event_traps(parameters, &req);
+hvm_event_traps(parameters, &req);
 }
 
-void hvm_memory_event_cr4(unsigned long value, unsigned long old) 
+void hvm_event_cr4(unsigned long value, unsigned long old)
 {
 mem_event_request_t req = {
 .reason = MEM_EVENT_REASON_CR4,
@@ -6285,10 +6285,10 @@ void hvm_memory_event_cr4(unsigned long value, unsigned 
long old)
 if ( (parameters & HVMPME_onchangeonly) && (value == old) )
 return;
 
-hvm_memory_event_traps(parameters, &req);
+hvm_event_traps(parameters, &req);
 }
 
-void hvm_memory_event_msr(unsigned long msr, unsigned long value)
+void hvm_event_msr(unsigned long msr, unsigned long value)
 {
 mem_event_request_t req =

[Xen-devel] [RFC PATCH V2 8/8] x86/hvm: factor out vm_event related functions into separate file

2015-01-18 Thread Tamas K Lengyel
To avoid growing hvm.c these functions can be stored
separately.

Signed-off-by: Tamas K Lengyel 
---
 xen/arch/x86/hvm/Makefile   |   3 +-
 xen/arch/x86/hvm/event.c| 195 
 xen/arch/x86/hvm/hvm.c  | 163 +
 xen/arch/x86/hvm/vmx/vmx.c  |   1 +
 xen/include/asm-x86/hvm/event.h |  40 +
 xen/include/asm-x86/hvm/hvm.h   |  11 ---
 6 files changed, 239 insertions(+), 174 deletions(-)
 create mode 100644 xen/arch/x86/hvm/event.c
 create mode 100644 xen/include/asm-x86/hvm/event.h

diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index eea..2389923 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -22,4 +22,5 @@ obj-y += vlapic.o
 obj-y += vmsi.o
 obj-y += vpic.o
 obj-y += vpt.o
-obj-y += vpmu.o
\ No newline at end of file
+obj-y += vpmu.o
+obj-y += event.o
diff --git a/xen/arch/x86/hvm/event.c b/xen/arch/x86/hvm/event.c
new file mode 100644
index 000..96d1748
--- /dev/null
+++ b/xen/arch/x86/hvm/event.c
@@ -0,0 +1,195 @@
+/*
+* event.c: Common hardware virtual machine event abstractions.
+*
+* Copyright (c) 2004, Intel Corporation.
+* Copyright (c) 2005, International Business Machines Corporation.
+* Copyright (c) 2008, Citrix Systems, Inc.
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms and conditions of the GNU General Public License,
+* version 2, as published by the Free Software Foundation.
+*
+* This program is distributed in the hope it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+* Place - Suite 330, Boston, MA 02111-1307 USA.
+*/
+
+#include 
+#include 
+#include 
+
+static void hvm_event_fill_regs(vm_event_request_t *req)
+{
+const struct cpu_user_regs *regs = guest_cpu_user_regs();
+const struct vcpu *curr = current;
+
+req->regs.x86.rax = regs->eax;
+req->regs.x86.rcx = regs->ecx;
+req->regs.x86.rdx = regs->edx;
+req->regs.x86.rbx = regs->ebx;
+req->regs.x86.rsp = regs->esp;
+req->regs.x86.rbp = regs->ebp;
+req->regs.x86.rsi = regs->esi;
+req->regs.x86.rdi = regs->edi;
+
+req->regs.x86.r8  = regs->r8;
+req->regs.x86.r9  = regs->r9;
+req->regs.x86.r10 = regs->r10;
+req->regs.x86.r11 = regs->r11;
+req->regs.x86.r12 = regs->r12;
+req->regs.x86.r13 = regs->r13;
+req->regs.x86.r14 = regs->r14;
+req->regs.x86.r15 = regs->r15;
+
+req->regs.x86.rflags = regs->eflags;
+req->regs.x86.rip= regs->eip;
+
+req->regs.x86.msr_efer = curr->arch.hvm_vcpu.guest_efer;
+req->regs.x86.cr0 = curr->arch.hvm_vcpu.guest_cr[0];
+req->regs.x86.cr3 = curr->arch.hvm_vcpu.guest_cr[3];
+req->regs.x86.cr4 = curr->arch.hvm_vcpu.guest_cr[4];
+}
+
+static int hvm_event_traps(long parameters, vm_event_request_t *req)
+{
+int rc;
+struct vcpu *v = current;
+struct domain *d = v->domain;
+
+if ( !(parameters & HVMPME_MODE_MASK) )
+return 0;
+
+rc = vm_event_claim_slot(d, &d->vm_event->monitor);
+if ( rc == -ENOSYS )
+{
+/* If there was no ring to handle the event, then
+ * simple continue executing normally. */
+return 1;
+}
+else if ( rc < 0 )
+return rc;
+
+if ( (parameters & HVMPME_MODE_MASK) == HVMPME_mode_sync )
+{
+req->flags |= VM_EVENT_FLAG_VCPU_PAUSED;
+vm_event_vcpu_pause(v);
+}
+
+hvm_event_fill_regs(req);
+vm_event_put_request(d, &d->vm_event->monitor, req);
+
+return 1;
+}
+
+void hvm_event_cr0(unsigned long value, unsigned long old)
+{
+vm_event_request_t req = {
+.reason = VM_EVENT_REASON_CR0,
+.vcpu_id = current->vcpu_id,
+.cr_event.new_value = value,
+.cr_event.old_value = old
+};
+
+long parameters = current->domain->arch.hvm_domain
+.params[HVM_PARAM_MEMORY_EVENT_CR0];
+
+if ( (parameters & HVMPME_onchangeonly) && (value == old) )
+return;
+
+hvm_event_traps(parameters, &req);
+}
+
+void hvm_event_cr3(unsigned long value, unsigned long old)
+{
+vm_event_request_t req = {
+.reason = VM_EVENT_REASON_CR3,
+.vcpu_id = current->vcpu_id,
+.cr_event.new_value = value,
+.cr_event.old_value = old
+};
+
+long parameters = current->domain->arch.hvm_domain
+.params[HVM_PARAM_MEMORY_EVENT_CR3];
+
+if ( (parameters & HVMPME_onchangeonly) && (value == old) )
+return;
+
+hvm_event_traps(parameters, &req);
+}
+
+void hvm_event_cr4(unsigned long value, unsigned long old)
+{
+vm_event_request_t req = {
+.reason = VM_EVENT_REASON_CR4,
+.v

[Xen-devel] [RFC PATCH V2 6/8] xen/vm_event: Decouple vm_event and mem_access.

2015-01-18 Thread Tamas K Lengyel
The vm_event subsystem has been artifically tied to the presence of mem_access.
While mem_access does depend on vm_event, vm_event is an entirely independent
subsystem that can be used for arbitrary function-offloading to helper apps in
domains. This patch removes the dependency that mem_access needs to be supported
in order to enable vm_event.

Signed-off-by: Tamas K Lengyel 
---
 xen/common/Makefile|  2 +-
 xen/include/xen/vm_event.h | 56 --
 xen/include/xsm/dummy.h|  2 --
 xen/include/xsm/xsm.h  |  2 --
 xen/xsm/dummy.c|  2 --
 xen/xsm/flask/hooks.c  | 32 +++---
 6 files changed, 14 insertions(+), 82 deletions(-)

diff --git a/xen/common/Makefile b/xen/common/Makefile
index f1b73a3..2ccf0bb 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -52,9 +52,9 @@ obj-y += tmem_xen.o
 obj-y += radix-tree.o
 obj-y += rbtree.o
 obj-y += lzo.o
+obj-y += vm_event.o
 obj-$(HAS_PDX) += pdx.o
 obj-$(HAS_MEM_ACCESS) += mem_access.o
-obj-$(HAS_MEM_ACCESS) += vm_event.o
 
 obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma unlzo 
unlz4 earlycpio,$(n).init.o)
 
diff --git a/xen/include/xen/vm_event.h b/xen/include/xen/vm_event.h
index 988ea42..477ef7e 100644
--- a/xen/include/xen/vm_event.h
+++ b/xen/include/xen/vm_event.h
@@ -26,8 +26,6 @@
 
 #include 
 
-#ifdef HAS_MEM_ACCESS
-
 /* Clean up on domain destruction */
 void vm_event_cleanup(struct domain *d);
 
@@ -76,60 +74,6 @@ int vm_event_domctl(struct domain *d, 
xen_domctl_vm_event_op_t *mec,
 void vm_event_vcpu_pause(struct vcpu *v);
 void vm_event_vcpu_unpause(struct vcpu *v);
 
-#else
-
-static inline void vm_event_cleanup(struct domain *d) {}
-
-static inline bool_t vm_event_check_ring(struct vm_event_domain *med)
-{
-return 0;
-}
-
-static inline int vm_event_claim_slot(struct domain *d,
-struct vm_event_domain *med)
-{
-return -ENOSYS;
-}
-
-static inline int vm_event_claim_slot_nosleep(struct domain *d,
-struct vm_event_domain *med)
-{
-return -ENOSYS;
-}
-
-static inline
-void vm_event_cancel_slot(struct domain *d, struct vm_event_domain *med)
-{}
-
-static inline
-void vm_event_put_request(struct domain *d, struct vm_event_domain *med,
-vm_event_request_t *req)
-{}
-
-static inline
-int vm_event_get_response(struct domain *d, struct vm_event_domain *med,
-   vm_event_response_t *rsp)
-{
-return -ENOSYS;
-}
-
-static inline int do_vm_event_op(int op, uint32_t domain, void *arg)
-{
-return -ENOSYS;
-}
-
-static inline
-int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *mec,
- XEN_GUEST_HANDLE_PARAM(void) u_domctl)
-{
-return -ENOSYS;
-}
-
-static inline void vm_event_vcpu_pause(struct vcpu *v) {}
-static inline void vm_event_vcpu_unpause(struct vcpu *v) {}
-
-#endif /* HAS_MEM_ACCESS */
-
 #endif /* __VM_EVENT_H__ */
 
 
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 4227093..50ee929 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -513,7 +513,6 @@ static XSM_INLINE int xsm_hvm_param_nested(XSM_DEFAULT_ARG 
struct domain *d)
 return xsm_default_action(action, current->domain, d);
 }
 
-#ifdef HAS_MEM_ACCESS
 static XSM_INLINE int xsm_vm_event_control(XSM_DEFAULT_ARG struct domain *d, 
int mode, int op)
 {
 XSM_ASSERT_ACTION(XSM_PRIV);
@@ -525,7 +524,6 @@ static XSM_INLINE int xsm_vm_event_op(XSM_DEFAULT_ARG 
struct domain *d, int op)
 XSM_ASSERT_ACTION(XSM_DM_PRIV);
 return xsm_default_action(action, current->domain, d);
 }
-#endif
 
 #ifdef CONFIG_X86
 static XSM_INLINE int xsm_do_mca(XSM_DEFAULT_VOID)
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index cff9d35..61c5acc 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -141,10 +141,8 @@ struct xsm_operations {
 int (*hvm_param_nested) (struct domain *d);
 int (*get_vnumainfo) (struct domain *d);
 
-#ifdef HAS_MEM_ACCESS
 int (*vm_event_control) (struct domain *d, int mode, int op);
 int (*vm_event_op) (struct domain *d, int op);
-#endif
 
 #ifdef CONFIG_X86
 int (*do_mca) (void);
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 25fca68..6d12d32 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -118,10 +118,8 @@ void xsm_fixup_ops (struct xsm_operations *ops)
 set_to_dummy_if_null(ops, remove_from_physmap);
 set_to_dummy_if_null(ops, map_gmfn_foreign);
 
-#ifdef HAS_MEM_ACCESS
 set_to_dummy_if_null(ops, vm_event_control);
 set_to_dummy_if_null(ops, vm_event_op);
-#endif
 
 #ifdef CONFIG_X86
 set_to_dummy_if_null(ops, do_mca);
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index c419543..5008b79 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -577,9 +577,7 @@ static int flask_domctl(struct domain *d, int cmd)
 case XEN_DOMCTL_iomem_permis

[Xen-devel] [RFC PATCH V2 7/8] tools/tests: Clean-up tools/tests/xen-access

2015-01-18 Thread Tamas K Lengyel
The spin-lock implementation in the xen-access test program is implemented
in a fashion that is actually incomplete. The x86 assembly that guarantees that
the lock is held by only one thread lacks the "lock;" instruction.

However, the spin-lock is not actually necessary in xen-access as it is not
multithreaded. The presence of the faulty implementation of the lock in a non-
mulithreaded environment is unnecessarily complicated for developers who are
trying to follow this code as a guide in implementing their own applications.
Thus, removing it from the code improves the clarity on the behavior of the
system.

Also converting functions that always return 0 to return to void, and making
the teardown function actually return an error code on error.

Signed-off-by: Tamas K Lengyel 
---
 tools/tests/xen-access/xen-access.c | 99 +++--
 1 file changed, 19 insertions(+), 80 deletions(-)

diff --git a/tools/tests/xen-access/xen-access.c 
b/tools/tests/xen-access/xen-access.c
index 3538323..80e4de9 100644
--- a/tools/tests/xen-access/xen-access.c
+++ b/tools/tests/xen-access/xen-access.c
@@ -45,56 +45,6 @@
 #define ERROR(a, b...) fprintf(stderr, a "\n", ## b)
 #define PERROR(a, b...) fprintf(stderr, a ": %s\n", ## b, strerror(errno))
 
-/* Spinlock and mem event definitions */
-
-#define SPIN_LOCK_UNLOCKED 0
-
-#define ADDR (*(volatile long *) addr)
-/**
- * test_and_set_bit - Set a bit and return its old value
- * @nr: Bit to set
- * @addr: Address to count from
- *
- * This operation is atomic and cannot be reordered.
- * It also implies a memory barrier.
- */
-static inline int test_and_set_bit(int nr, volatile void *addr)
-{
-int oldbit;
-
-asm volatile (
-"btsl %2,%1\n\tsbbl %0,%0"
-: "=r" (oldbit), "=m" (ADDR)
-: "Ir" (nr), "m" (ADDR) : "memory");
-return oldbit;
-}
-
-typedef int spinlock_t;
-
-static inline void spin_lock(spinlock_t *lock)
-{
-while ( test_and_set_bit(1, lock) );
-}
-
-static inline void spin_lock_init(spinlock_t *lock)
-{
-*lock = SPIN_LOCK_UNLOCKED;
-}
-
-static inline void spin_unlock(spinlock_t *lock)
-{
-*lock = SPIN_LOCK_UNLOCKED;
-}
-
-static inline int spin_trylock(spinlock_t *lock)
-{
-return !test_and_set_bit(1, lock);
-}
-
-#define vm_event_ring_lock_init(_m)  spin_lock_init(&(_m)->ring_lock)
-#define vm_event_ring_lock(_m)   spin_lock(&(_m)->ring_lock)
-#define vm_event_ring_unlock(_m) spin_unlock(&(_m)->ring_lock)
-
 typedef struct vm_event {
 domid_t domain_id;
 xc_evtchn *xce_handle;
@@ -102,7 +52,6 @@ typedef struct vm_event {
 vm_event_back_ring_t back_ring;
 uint32_t evtchn_port;
 void *ring_page;
-spinlock_t ring_lock;
 } vm_event_t;
 
 typedef struct xenaccess {
@@ -180,6 +129,7 @@ int xenaccess_teardown(xc_interface *xch, xenaccess_t 
*xenaccess)
 if ( rc != 0 )
 {
 ERROR("Error tearing down domain xenaccess in xen");
+return rc;
 }
 }
 
@@ -191,6 +141,7 @@ int xenaccess_teardown(xc_interface *xch, xenaccess_t 
*xenaccess)
 if ( rc != 0 )
 {
 ERROR("Error unbinding event port");
+return rc;
 }
 }
 
@@ -201,6 +152,7 @@ int xenaccess_teardown(xc_interface *xch, xenaccess_t 
*xenaccess)
 if ( rc != 0 )
 {
 ERROR("Error closing event channel");
+return rc;
 }
 }
 
@@ -209,6 +161,7 @@ int xenaccess_teardown(xc_interface *xch, xenaccess_t 
*xenaccess)
 if ( rc != 0 )
 {
 ERROR("Error closing connection to xen");
+return rc;
 }
 xenaccess->xc_handle = NULL;
 
@@ -241,9 +194,6 @@ xenaccess_t *xenaccess_init(xc_interface **xch_r, domid_t 
domain_id)
 /* Set domain id */
 xenaccess->vm_event.domain_id = domain_id;
 
-/* Initialise lock */
-vm_event_ring_lock_init(&xenaccess->vm_event);
-
 /* Enable mem_access */
 xenaccess->vm_event.ring_page =
 xc_mem_access_enable(xenaccess->xc_handle,
@@ -314,19 +264,24 @@ xenaccess_t *xenaccess_init(xc_interface **xch_r, domid_t 
domain_id)
 return xenaccess;
 
  err:
-xenaccess_teardown(xch, xenaccess);
+rc = xenaccess_teardown(xch, xenaccess);
+if ( rc )
+{
+ERROR("Failed to teardown xenaccess structure!\n");
+}
 
  err_iface:
 return NULL;
 }
 
-int get_request(vm_event_t *vm_event, vm_event_request_t *req)
+/*
+ * Note that this function is not thread safe.
+ */
+static void get_request(vm_event_t *vm_event, vm_event_request_t *req)
 {
 vm_event_back_ring_t *back_ring;
 RING_IDX req_cons;
 
-vm_event_ring_lock(vm_event);
-
 back_ring = &vm_event->back_ring;
 req_cons = back_ring->req_cons;
 
@@ -337,19 +292,16 @@ int get_request(vm_event_t *vm_event, vm_event_request_t 
*req)
 /* Update ring */
 back_ring->req_cons = req_cons;
 back_ring->sring->req_event = req_cons + 1;
-
-vm_event_ring_unlock(vm_event);
-
-return 0;
 }
 
-static

[Xen-devel] [RFC PATCH V2 1/8] xen/mem_event: Cleanup of mem_event structures

2015-01-18 Thread Tamas K Lengyel
From: Razvan Cojocaru 

The public mem_event structures used to communicate with helper applications via
shared rings have been used in different settings. However, the variable names
within this structure have not reflected this fact, resulting in the reuse of
variables to mean different things under different scenarios.

This patch remedies the issue by clearly defining the structure members based on
the actual context within which the structure is used.

Signed-off-by: Razvan Cojocaru 
Signed-off-by: Tamas K Lengyel 
---
 tools/tests/xen-access/xen-access.c |  33 ---
 tools/xenpaging/xenpaging.c |  34 +++
 xen/arch/x86/hvm/hvm.c  | 185 
 xen/arch/x86/mm/mem_sharing.c   |   7 +-
 xen/arch/x86/mm/p2m.c   | 129 +
 xen/include/Makefile|   2 +-
 xen/include/public/mem_event.h  |  99 +++
 7 files changed, 292 insertions(+), 197 deletions(-)

diff --git a/tools/tests/xen-access/xen-access.c 
b/tools/tests/xen-access/xen-access.c
index 6cb382d..9d53fb3 100644
--- a/tools/tests/xen-access/xen-access.c
+++ b/tools/tests/xen-access/xen-access.c
@@ -556,8 +556,8 @@ int main(int argc, char *argv[])
 rsp.flags = req.flags;
 
 switch (req.reason) {
-case MEM_EVENT_REASON_VIOLATION:
-rc = xc_get_mem_access(xch, domain_id, req.gfn, &access);
+case MEM_EVENT_REASON_MEM_ACCESS_VIOLATION:
+rc = xc_get_mem_access(xch, domain_id, 
req.mem_access_event.gfn, &access);
 if (rc < 0)
 {
 ERROR("Error %d getting mem_access event\n", rc);
@@ -567,21 +567,21 @@ int main(int argc, char *argv[])
 
 printf("PAGE ACCESS: %c%c%c for GFN %"PRIx64" (offset %06"
PRIx64") gla %016"PRIx64" (valid: %c; fault in gpt: %c; 
fault with gla: %c) (vcpu %u)\n",
-   req.access_r ? 'r' : '-',
-   req.access_w ? 'w' : '-',
-   req.access_x ? 'x' : '-',
-   req.gfn,
-   req.offset,
-   req.gla,
-   req.gla_valid ? 'y' : 'n',
-   req.fault_in_gpt ? 'y' : 'n',
-   req.fault_with_gla ? 'y': 'n',
+   req.mem_access_event.access_r ? 'r' : '-',
+   req.mem_access_event.access_w ? 'w' : '-',
+   req.mem_access_event.access_x ? 'x' : '-',
+   req.mem_access_event.gfn,
+   req.mem_access_event.offset,
+   req.mem_access_event.gla,
+   req.mem_access_event.gla_valid ? 'y' : 'n',
+   req.mem_access_event.fault_in_gpt ? 'y' : 'n',
+   req.mem_access_event.fault_with_gla ? 'y': 'n',
req.vcpu_id);
 
 if ( default_access != after_first_access )
 {
 rc = xc_set_mem_access(xch, domain_id, after_first_access,
-   req.gfn, 1);
+   req.mem_access_event.gfn, 1);
 if (rc < 0)
 {
 ERROR("Error %d setting gfn to access_type %d\n", rc,
@@ -592,13 +592,12 @@ int main(int argc, char *argv[])
 }
 
 
-rsp.gfn = req.gfn;
-rsp.p2mt = req.p2mt;
+rsp.mem_access_event.gfn = req.mem_access_event.gfn;
 break;
 case MEM_EVENT_REASON_INT3:
-printf("INT3: rip=%016"PRIx64", gfn=%"PRIx64" (vcpu %d)\n", 
-   req.gla, 
-   req.gfn,
+printf("INT3: rip=%016"PRIx64", gfn=%"PRIx64" (vcpu %d)\n",
+   req.int3_event.gla,
+   req.int3_event.gfn,
req.vcpu_id);
 
 /* Reinject */
diff --git a/tools/xenpaging/xenpaging.c b/tools/xenpaging/xenpaging.c
index 82c1ee4..148b3e7 100644
--- a/tools/xenpaging/xenpaging.c
+++ b/tools/xenpaging/xenpaging.c
@@ -684,9 +684,9 @@ static int xenpaging_resume_page(struct xenpaging *paging, 
mem_event_response_t
  * This allows page-out of these gfns if the target grows again.
  */
 if (paging->num_paged_out > paging->policy_mru_size)
-policy_notify_paged_in(rsp->gfn);
+policy_notify_paged_in(rsp->mem_paging_event.gfn);
 else
-policy_notify_paged_in_nomru(rsp->gfn);
+policy_notify_paged_in_nomru(rsp->mem_paging_event.gfn);
 
/* Record number of resumed pages */
paging->num_paged_out--;
@@ -910,49 +910,49 @@ int main(int argc, char *argv[])
 
 get_request(&paging->mem_event, &req);
 
-if ( req.gfn > paging->max_pages )
+if ( req.me

[Xen-devel] [RFC PATCH V2 3/8] xen/mem_paging: Convert mem_event_op to mem_paging_op

2015-01-18 Thread Tamas K Lengyel
The only use-case of the mem_event_op structure had been in mem_paging,
thus renaming the structure mem_paging_op and relocating its associated
functions clarifies its actual usage.

Signed-off-by: Tamas K Lengyel 
---
 tools/libxc/xc_mem_event.c   | 16 
 tools/libxc/xc_mem_paging.c  | 26 ++
 tools/libxc/xc_private.h |  3 ---
 xen/arch/x86/mm/mem_paging.c | 12 ++--
 xen/arch/x86/x86_64/compat/mm.c  |  8 
 xen/arch/x86/x86_64/mm.c |  8 
 xen/common/mem_event.c   |  2 +-
 xen/include/asm-x86/mem_paging.h |  2 +-
 xen/include/public/memory.h  |  6 +++---
 9 files changed, 37 insertions(+), 46 deletions(-)

diff --git a/tools/libxc/xc_mem_event.c b/tools/libxc/xc_mem_event.c
index 20db2ed..a5e0948 100644
--- a/tools/libxc/xc_mem_event.c
+++ b/tools/libxc/xc_mem_event.c
@@ -40,22 +40,6 @@ int xc_mem_event_control(xc_interface *xch, domid_t 
domain_id, unsigned int op,
 return rc;
 }
 
-int xc_mem_event_memop(xc_interface *xch, domid_t domain_id, 
-unsigned int op, unsigned int mode,
-uint64_t gfn, void *buffer)
-{
-xen_mem_event_op_t meo;
-
-memset(&meo, 0, sizeof(meo));
-
-meo.op  = op;
-meo.domain  = domain_id;
-meo.gfn = gfn;
-meo.buffer  = (unsigned long) buffer;
-
-return do_memory_op(xch, mode, &meo, sizeof(meo));
-}
-
 void *xc_mem_event_enable(xc_interface *xch, domid_t domain_id, int param,
   uint32_t *port, int enable_introspection)
 {
diff --git a/tools/libxc/xc_mem_paging.c b/tools/libxc/xc_mem_paging.c
index 8aa7d4d..bf3173d 100644
--- a/tools/libxc/xc_mem_paging.c
+++ b/tools/libxc/xc_mem_paging.c
@@ -23,6 +23,20 @@
 
 #include "xc_private.h"
 
+static int xc_mem_paging_memop(xc_interface *xch, domid_t domain_id,
+   unsigned int op, uint64_t gfn, void *buffer)
+{
+xen_mem_paging_op_t mpo;
+
+memset(&mpo, 0, sizeof(mpo));
+
+mpo.op  = op;
+mpo.domain  = domain_id;
+mpo.gfn = gfn;
+mpo.buffer  = (unsigned long) buffer;
+
+return do_memory_op(xch, XENMEM_paging_op, &mpo, sizeof(mpo));
+}
 
 int xc_mem_paging_enable(xc_interface *xch, domid_t domain_id,
  uint32_t *port)
@@ -49,25 +63,22 @@ int xc_mem_paging_disable(xc_interface *xch, domid_t 
domain_id)
 
 int xc_mem_paging_nominate(xc_interface *xch, domid_t domain_id, unsigned long 
gfn)
 {
-return xc_mem_event_memop(xch, domain_id,
+return xc_mem_paging_memop(xch, domain_id,
 XENMEM_paging_op_nominate,
-XENMEM_paging_op,
 gfn, NULL);
 }
 
 int xc_mem_paging_evict(xc_interface *xch, domid_t domain_id, unsigned long 
gfn)
 {
-return xc_mem_event_memop(xch, domain_id,
+return xc_mem_paging_memop(xch, domain_id,
 XENMEM_paging_op_evict,
-XENMEM_paging_op,
 gfn, NULL);
 }
 
 int xc_mem_paging_prep(xc_interface *xch, domid_t domain_id, unsigned long gfn)
 {
-return xc_mem_event_memop(xch, domain_id,
+return xc_mem_paging_memop(xch, domain_id,
 XENMEM_paging_op_prep,
-XENMEM_paging_op,
 gfn, NULL);
 }
 
@@ -87,9 +98,8 @@ int xc_mem_paging_load(xc_interface *xch, domid_t domain_id,
 if ( mlock(buffer, XC_PAGE_SIZE) )
 return -1;
 
-rc = xc_mem_event_memop(xch, domain_id,
+rc = xc_mem_paging_memop(xch, domain_id,
 XENMEM_paging_op_prep,
-XENMEM_paging_op,
 gfn, buffer);
 
 old_errno = errno;
diff --git a/tools/libxc/xc_private.h b/tools/libxc/xc_private.h
index 45b8644..f1f601c 100644
--- a/tools/libxc/xc_private.h
+++ b/tools/libxc/xc_private.h
@@ -425,9 +425,6 @@ int xc_ffs64(uint64_t x);
  */
 int xc_mem_event_control(xc_interface *xch, domid_t domain_id, unsigned int op,
  unsigned int mode, uint32_t *port);
-int xc_mem_event_memop(xc_interface *xch, domid_t domain_id,
-unsigned int op, unsigned int mode,
-uint64_t gfn, void *buffer);
 /*
  * Enables mem_event and returns the mapped ring page indicated by param.
  * param can be HVM_PARAM_PAGING/ACCESS/SHARING_RING_PFN
diff --git a/xen/arch/x86/mm/mem_paging.c b/xen/arch/x86/mm/mem_paging.c
index 65f6a3d..f28e65b 100644
--- a/xen/arch/x86/mm/mem_paging.c
+++ b/xen/arch/x86/mm/mem_paging.c
@@ -25,31 +25,31 @@
 #include 
 
 
-int mem_paging_memop(struct domain *d, xen_mem_event_op_t *mec)
+int mem_paging_memop(struct domain *d, xen_mem_paging_op_t *mpc)
 {
 if ( unlikely(!d->mem_event->paging.ring_page) )
 return -ENODEV;
 
-switch( mec->op )
+switch( mpc->op )
 {
 case XENM

[Xen-devel] [RFC PATCH V2 0/8] xen: Clean-up of mem_event subsystem

2015-01-18 Thread Tamas K Lengyel
This patch series aims to clean up the mem_event subsystem within Xen. The
original use-case for this system was to allow external helper applications
running in privileged domains to control various memory operations performed
by Xen. Amongs these were paging, sharing and access control. The subsystem
has since been extended to also deliver non-memory related events, namely
various HVM debugging events (INT3, MTF, MOV-TO-CR, MOV-TO-MSR). The structures
and naming of related functions however has not caught up to these new
use-cases, thus leaving many ambigouities in the code.

In this series we convert the mem_event structures to a union of sub-structures
which clearly define the scope of information that is transmitted via the event
delivery mechanism. Afterwards, we clean up the naming of the structures and
related functions to more clearly be in line with their actual operations.

This RFC PATCH series is also available at:
https://github.com/tklengyel/xen/tree/mem_event_cleanup2

Razvan Cojocaru (1):
  xen/mem_event: Cleanup of mem_event structures

Tamas K Lengyel (7):
  xen/mem_event: Rename the mem_event ring from 'access' to 'monitor'
  xen/mem_paging: Convert mem_event_op to mem_paging_op
  x86/hvm: rename hvm_memory_event_* functions to hvm_event_*
  xen/mem_event: Rename mem_event to vm_event
  xen/vm_event: Decouple vm_event and mem_access.
  tools/tests: Clean-up tools/tests/xen-access
  x86/hvm: factor out vm_event related functions into separate file

 docs/misc/pvh-readme.txt|   2 +-
 tools/libxc/Makefile|   2 +-
 tools/libxc/xc_domain_restore.c |  14 +-
 tools/libxc/xc_domain_save.c|   4 +-
 tools/libxc/xc_hvm_build_x86.c  |   2 +-
 tools/libxc/xc_mem_access.c |  10 +-
 tools/libxc/xc_mem_event.c  | 178 -
 tools/libxc/xc_mem_paging.c |  38 +-
 tools/libxc/xc_memshr.c |  12 +-
 tools/libxc/xc_private.h|   9 +-
 tools/libxc/xc_vm_event.c   | 162 
 tools/libxc/xg_save_restore.h   |   2 +-
 tools/tests/xen-access/xen-access.c | 210 --
 tools/xenpaging/pagein.c|   2 +-
 tools/xenpaging/xenpaging.c | 150 
 tools/xenpaging/xenpaging.h |   8 +-
 xen/arch/x86/domain.c   |   2 +-
 xen/arch/x86/domctl.c   |   4 +-
 xen/arch/x86/hvm/Makefile   |   3 +-
 xen/arch/x86/hvm/emulate.c  |   4 +-
 xen/arch/x86/hvm/event.c| 195 ++
 xen/arch/x86/hvm/hvm.c  | 154 +---
 xen/arch/x86/hvm/vmx/vmcs.c |   4 +-
 xen/arch/x86/hvm/vmx/vmx.c  |   7 +-
 xen/arch/x86/mm/hap/nested_ept.c|   4 +-
 xen/arch/x86/mm/hap/nested_hap.c|   4 +-
 xen/arch/x86/mm/mem_paging.c|  16 +-
 xen/arch/x86/mm/mem_sharing.c   |  31 +-
 xen/arch/x86/mm/p2m-pod.c   |   4 +-
 xen/arch/x86/mm/p2m-pt.c|   4 +-
 xen/arch/x86/mm/p2m.c   | 213 ++-
 xen/arch/x86/x86_64/compat/mm.c |  12 +-
 xen/arch/x86/x86_64/mm.c|  13 +-
 xen/common/Makefile |   2 +-
 xen/common/domain.c |  12 +-
 xen/common/domctl.c |   6 +-
 xen/common/mem_access.c |  24 +-
 xen/common/mem_event.c  | 742 
 xen/common/vm_event.c   | 742 
 xen/drivers/passthrough/pci.c   |   2 +-
 xen/include/Makefile|   2 +-
 xen/include/asm-arm/p2m.h   |   6 +-
 xen/include/asm-x86/domain.h|   4 +-
 xen/include/asm-x86/hvm/emulate.h   |   2 +-
 xen/include/asm-x86/hvm/event.h |  40 ++
 xen/include/asm-x86/hvm/hvm.h   |  11 -
 xen/include/asm-x86/mem_paging.h|   2 +-
 xen/include/asm-x86/p2m.h   |  16 +-
 xen/include/public/domctl.h |  44 +--
 xen/include/public/hvm/params.h |   2 +-
 xen/include/public/mem_event.h  | 134 ---
 xen/include/public/memory.h |   6 +-
 xen/include/public/vm_event.h   | 197 ++
 xen/include/xen/mem_access.h|   4 +-
 xen/include/xen/mem_event.h | 143 ---
 xen/include/xen/p2m-common.h|   4 +-
 xen/include/xen/sched.h |  24 +-
 xen/include/xen/vm_event.h  |  87 +
 xen/include/xsm/dummy.h |   6 +-
 xen/include/xsm/xsm.h   |  14 +-
 xen/xsm/dummy.c |   6 +-
 xen/xsm/flask/hooks.c   |  36 +-
 xen/xsm/flask/policy/access_vectors |   2 +-
 63 files changed, 1909 insertions(+), 1892 deletions(-)
 delete mode 100644 tools/libxc/xc_mem_event.c
 create mode 100644 tools/libxc/xc_vm_event.c
 create mode 100644 xen/arch/x86/hvm/event.c
 delete mode 100644 xen/common/mem_event.c
 create mode 100644 xen/common/vm_event.c
 create mode 100644 xen/include/asm-x86/hvm/event.h
 delete mode 100644 xen/include/public/mem_event.h
 create mode 100644 xen/include/public/vm_event.h
 delete mode 100644 xen/include/xen/m

[Xen-devel] [RFC PATCH V2 2/8] xen/mem_event: Rename the mem_event ring from 'access' to 'monitor'

2015-01-18 Thread Tamas K Lengyel
The name of the ring still implies it is used only for memory accesses,
which is no longer the case. It is also used to deliver variuos HVM events,
thus the name "monitor" is more appropriate in this setting.

Signed-off-by: Tamas K Lengyel 
---
 tools/libxc/xc_domain_restore.c | 14 +++---
 tools/libxc/xc_domain_save.c|  4 ++--
 tools/libxc/xc_hvm_build_x86.c  |  2 +-
 tools/libxc/xc_mem_access.c |  8 
 tools/libxc/xc_mem_event.c  |  8 
 tools/libxc/xg_save_restore.h   |  2 +-
 xen/arch/x86/hvm/hvm.c  |  4 ++--
 xen/arch/x86/hvm/vmx/vmcs.c |  2 +-
 xen/arch/x86/mm/p2m.c   |  2 +-
 xen/common/mem_access.c |  8 
 xen/common/mem_event.c  | 22 +++---
 xen/include/public/domctl.h | 12 ++--
 xen/include/public/hvm/params.h |  2 +-
 xen/include/xen/sched.h |  4 ++--
 14 files changed, 47 insertions(+), 47 deletions(-)

diff --git a/tools/libxc/xc_domain_restore.c b/tools/libxc/xc_domain_restore.c
index a382701..2ab9f46 100644
--- a/tools/libxc/xc_domain_restore.c
+++ b/tools/libxc/xc_domain_restore.c
@@ -734,7 +734,7 @@ typedef struct {
 uint64_t vcpumap[XC_SR_MAX_VCPUS/64];
 uint64_t identpt;
 uint64_t paging_ring_pfn;
-uint64_t access_ring_pfn;
+uint64_t monitor_ring_pfn;
 uint64_t sharing_ring_pfn;
 uint64_t vm86_tss;
 uint64_t console_pfn;
@@ -828,15 +828,15 @@ static int pagebuf_get_one(xc_interface *xch, struct 
restore_ctx *ctx,
 // DPRINTF("paging ring pfn address: %llx\n", buf->paging_ring_pfn);
 return pagebuf_get_one(xch, ctx, buf, fd, dom);
 
-case XC_SAVE_ID_HVM_ACCESS_RING_PFN:
+case XC_SAVE_ID_HVM_MONITOR_RING_PFN:
 /* Skip padding 4 bytes then read the mem access ring location. */
-if ( RDEXACT(fd, &buf->access_ring_pfn, sizeof(uint32_t)) ||
- RDEXACT(fd, &buf->access_ring_pfn, sizeof(uint64_t)) )
+if ( RDEXACT(fd, &buf->monitor_ring_pfn, sizeof(uint32_t)) ||
+ RDEXACT(fd, &buf->monitor_ring_pfn, sizeof(uint64_t)) )
 {
 PERROR("error read the access ring pfn");
 return -1;
 }
-// DPRINTF("access ring pfn address: %llx\n", buf->access_ring_pfn);
+// DPRINTF("monitor ring pfn address: %llx\n", buf->monitor_ring_pfn);
 return pagebuf_get_one(xch, ctx, buf, fd, dom);
 
 case XC_SAVE_ID_HVM_SHARING_RING_PFN:
@@ -1660,8 +1660,8 @@ int xc_domain_restore(xc_interface *xch, int io_fd, 
uint32_t dom,
 xc_hvm_param_set(xch, dom, HVM_PARAM_IDENT_PT, 
pagebuf.identpt);
 if ( pagebuf.paging_ring_pfn )
 xc_hvm_param_set(xch, dom, HVM_PARAM_PAGING_RING_PFN, 
pagebuf.paging_ring_pfn);
-if ( pagebuf.access_ring_pfn )
-xc_hvm_param_set(xch, dom, HVM_PARAM_ACCESS_RING_PFN, 
pagebuf.access_ring_pfn);
+if ( pagebuf.monitor_ring_pfn )
+xc_hvm_param_set(xch, dom, HVM_PARAM_MONITOR_RING_PFN, 
pagebuf.monitor_ring_pfn);
 if ( pagebuf.sharing_ring_pfn )
 xc_hvm_param_set(xch, dom, HVM_PARAM_SHARING_RING_PFN, 
pagebuf.sharing_ring_pfn);
 if ( pagebuf.vm86_tss )
diff --git a/tools/libxc/xc_domain_save.c b/tools/libxc/xc_domain_save.c
index 254fdb3..949ef64 100644
--- a/tools/libxc/xc_domain_save.c
+++ b/tools/libxc/xc_domain_save.c
@@ -1664,9 +1664,9 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t 
dom, uint32_t max_iter
 goto out;
 }
 
-chunk.id = XC_SAVE_ID_HVM_ACCESS_RING_PFN;
+chunk.id = XC_SAVE_ID_HVM_MONITOR_RING_PFN;
 chunk.data = 0;
-xc_hvm_param_get(xch, dom, HVM_PARAM_ACCESS_RING_PFN, &chunk.data);
+xc_hvm_param_get(xch, dom, HVM_PARAM_MONITOR_RING_PFN, &chunk.data);
 
 if ( (chunk.data != 0) &&
  wrexact(io_fd, &chunk, sizeof(chunk)) )
diff --git a/tools/libxc/xc_hvm_build_x86.c b/tools/libxc/xc_hvm_build_x86.c
index c81a25b..30a929d 100644
--- a/tools/libxc/xc_hvm_build_x86.c
+++ b/tools/libxc/xc_hvm_build_x86.c
@@ -497,7 +497,7 @@ static int setup_guest(xc_interface *xch,
  special_pfn(SPECIALPAGE_CONSOLE));
 xc_hvm_param_set(xch, dom, HVM_PARAM_PAGING_RING_PFN,
  special_pfn(SPECIALPAGE_PAGING));
-xc_hvm_param_set(xch, dom, HVM_PARAM_ACCESS_RING_PFN,
+xc_hvm_param_set(xch, dom, HVM_PARAM_MONITOR_RING_PFN,
  special_pfn(SPECIALPAGE_ACCESS));
 xc_hvm_param_set(xch, dom, HVM_PARAM_SHARING_RING_PFN,
  special_pfn(SPECIALPAGE_SHARING));
diff --git a/tools/libxc/xc_mem_access.c b/tools/libxc/xc_mem_access.c
index 55d0e9f..1c979ed 100644
--- a/tools/libxc/xc_mem_access.c
+++ b/tools/libxc/xc_mem_access.c
@@ -26,22 +26,22 @@
 
 void *xc_mem_access_enable(xc_interface *xch, domid_t domain_id, uint32_t 
*port)
 {
-return xc_mem_event_enable(xch, domain_id, HVM_PARAM_ACCESS_RING_PFN,
+return xc_mem_event_enabl

[Xen-devel] [libvirt bisection] complete build-i386-libvirt

2015-01-18 Thread xen . org
branch xen-unstable
xen branch xen-unstable
job build-i386-libvirt
test libvirt-build

Tree: libvirt git://libvirt.org/libvirt.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  libvirt git://libvirt.org/libvirt.git
  Bug introduced:  2c78051a14acfb7aba078d569b1632dfe0ca0853
  Bug not present: 7ad117b2e33039737126ce9df7a267a6f939988d


  commit 2c78051a14acfb7aba078d569b1632dfe0ca0853
  Author: Kiarie Kahurani 
  Date:   Thu Sep 11 07:10:33 2014 +0300
  
  src/xenconfig: Xen-xl parser
  
  Introduce a Xen xl parser
  
  This parser allows for users to convert the new xl disk format and
  spice graphics config to libvirt xml format and vice versa. Regarding
  the spice graphics config, the code is pretty much straight forward.
  For the disk {formating, parsing}, this parser takes care of the new
  xl format which include positional parameters and key/value parameters.
  In xl format disk config a  consists of parameters separated by
  commas. If the parameters do not contain an '=' they are automatically
  assigned to certain options following the order below
  
 target, format, vdev, access
  
  The above are the only mandatory parameters in the  but there
  are many more disk config options. These options can be specified as
  key=value pairs. This takes care of the rest of the options such as
  
devtype, backend, backendtype, script, direct-io-safe,
  
  The positional paramters can also be specified in key/value form
  for example
  
  /dev/vg/guest-volume,,hda
  /dev/vg/guest-volume,raw,hda,rw
  format=raw, vdev=hda, access=rw, target=/dev/vg/guest-volume
  
  are interpleted to one config.
  
  In xm format, the above diskspec would be written as
  
  phy:/dev/vg/guest-volume,hda,w
  
  The disk parser is based on the same parser used successfully by
  the Xen project for several years now.  Ian Jackson authored the
  scanner, which is used by this commit with mimimal changes.  Only
  the PREFIX option is changed, to produce function and file names
  more consistent with libvirt's convention.
  
  Signed-off-by: Kiarie Kahurani 
  Signed-off-by: Jim Fehlig 


For bisection revision-tuple graph see:
   
http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.libvirt.build-i386-libvirt.libvirt-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.


Searching for failure / basis pass:
 33474 fail [host=field-cricket] / 33422 [host=scape-moth] 33404 
[host=rice-weevil] 32648 [host=itch-mite] 32617 [host=grain-weevil] 32596 ok.
Failure / basis pass flights: 33474 / 32596
(tree in latest but not in basispass: libvirt_gnulib)
(tree with no url: seabios)
(tree in basispass but not in latest: gnulib_libvirt)
Tree: libvirt git://libvirt.org/libvirt.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 368042cf4a6bca34c7da45517a6e3ce91876c53c 
b0d42741f8e9a00854c3b3faca1da84bfc69bf22 
1ebb75b1fee779621b63e84fefa7b07354c43a99 
36174af3fbeb1b662c0eadbfa193e77f68cc955b
Basis pass 3865941be1fa5466d7892b24f1a2d7ee14f86712 
b0d42741f8e9a00854c3b3faca1da84bfc69bf22 
1ebb75b1fee779621b63e84fefa7b07354c43a99 
36174af3fbeb1b662c0eadbfa193e77f68cc955b
Generating revisions with ./adhoc-revtuple-generator  
git://libvirt.org/libvirt.git#3865941be1fa5466d7892b24f1a2d7ee14f86712-368042cf4a6bca34c7da45517a6e3ce91876c53c
 
git://xenbits.xen.org/staging/qemu-xen-unstable.git#b0d42741f8e9a00854c3b3faca1da84bfc69bf22-b0d42741f8e9a00854c3b3faca1da84bfc69bf22
 
git://xenbits.xen.org/staging/qemu-upstream-unstable.git#1ebb75b1fee779621b63e84fefa7b07354c43a99-1ebb75b1fee779621b63e84fefa7b07354c43a99
 
git://xenbits.xen.org/xen.git#36174af3fbeb1b662c0eadbfa193e77f68cc955b-36174af3fbeb1b662c0eadbfa193e77f68cc955b
+ exec
+ sh -xe
+ cd /export/home/osstest/repos/libvirt
+ git remote set-url origin 
git://drall.uk.xensource.com:9419/git://libvirt.org/libvirt.git
+ git fetch -p origin +refs/heads/*:refs/remotes/origin/*
+ exec
+ sh -xe
+ cd /export/home/osstest/repos/libvirt
+ git remote set-url origin 
git://drall.uk.xensource.com:9419/git://libvirt.org/libvirt.git
+ git fetch -p origin +refs/heads/*:refs/remotes/origin/*
Loaded 1001 nodes in revision graph
Searching for test results:
 32596 pass 3865941be1fa5466d7892b24f1a2d7ee14f86712 
b0d42741f8e9a00854c3b3faca1da84bfc69bf22 
1ebb75b1fee779621b63e84fefa7b07354c43a99 
36174af3fbeb1b662c0eadbfa193e77f68cc955b
 32617 [host=grain-weevil]
 32648 [host=itch-mite]
 33162 [host=rice-weevil]
 33117 [host=rice-weevil]
 33163

[Xen-devel] [linux-3.10 test] 33466: regressions - trouble: broken/fail/pass

2015-01-18 Thread xen . org
flight 33466 linux-3.10 real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/33466/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt   5 xen-boot  fail REGR. vs. 26303
 test-amd64-i386-rhel6hvm-intel  5 xen-bootfail REGR. vs. 26303
 test-amd64-i386-qemut-rhel6hvm-intel  5 xen-boot  fail REGR. vs. 26303
 test-amd64-i386-xl5 xen-boot  fail REGR. vs. 26303
 test-amd64-i386-qemuu-rhel6hvm-intel  3 host-install(3) broken REGR. vs. 26303
 test-amd64-amd64-xl   5 xen-boot  fail REGR. vs. 26303
 test-amd64-i386-xl-credit26 leak-check/basis(6)   fail REGR. vs. 26303
 test-amd64-i386-xl-qemut-win7-amd64  5 xen-boot   fail REGR. vs. 26303
 test-amd64-i386-freebsd10-i386  5 xen-bootfail REGR. vs. 26303
 test-amd64-amd64-xl-qemuu-winxpsp3  5 xen-bootfail REGR. vs. 26303
 test-amd64-i386-xl-winxpsp3-vcpus1  5 xen-bootfail REGR. vs. 26303
 test-amd64-i386-xl-multivcpu  5 xen-boot  fail REGR. vs. 26303
 test-amd64-i386-xl-qemuu-ovmf-amd64  5 xen-boot   fail REGR. vs. 26303
 test-amd64-amd64-pair 7 xen-boot/src_host fail REGR. vs. 26303
 test-amd64-i386-xl-qemuu-win7-amd64  5 xen-boot   fail REGR. vs. 26303
 test-amd64-amd64-xl-qemut-win7-amd64  7 windows-install   fail REGR. vs. 26303
 test-amd64-amd64-xl-win7-amd64  5 xen-bootfail REGR. vs. 26303
 test-amd64-i386-xl-qemut-winxpsp3  5 xen-boot fail REGR. vs. 26303
 test-amd64-amd64-xl-qemuu-win7-amd64  5 xen-boot  fail REGR. vs. 26303
 test-amd64-amd64-xl-qemuu-ovmf-amd64  5 xen-boot  fail REGR. vs. 26303
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1  5 xen-boot  fail REGR. vs. 26261
 test-amd64-i386-pair  8 xen-boot/dst_host fail REGR. vs. 26303
 test-amd64-i386-pair  7 xen-boot/src_host fail REGR. vs. 26303
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1  5 xen-boot  fail REGR. vs. 26303
 test-amd64-i386-xl-winxpsp3   5 xen-boot  fail REGR. vs. 26303
 test-amd64-i386-xl-win7-amd64  5 xen-boot fail REGR. vs. 26303
 test-amd64-amd64-xl-winxpsp3  5 xen-boot  fail REGR. vs. 26303
 test-amd64-amd64-xl-qemut-winxpsp3  7 windows-install fail REGR. vs. 26303
 test-amd64-i386-xl-qemuu-winxpsp3  5 xen-boot fail REGR. vs. 26303

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-pvh-intel  5 xen-bootfail blocked in 26303
 test-amd64-i386-rumpuserxen-i386  5 xen-boot fail blocked in 26303
 test-amd64-amd64-xl-pvh-amd   5 xen-boot fail blocked in 26303
 test-amd64-amd64-xl-pcipt-intel  5 xen-boot   fail REGR. vs. 26303
 test-amd64-i386-rhel6hvm-amd  5 xen-bootfail like 28907-bisect
 test-amd64-i386-qemuu-rhel6hvm-amd  7 redhat-install   fail like 26261
 test-amd64-i386-qemut-rhel6hvm-amd  5 xen-boot  fail like 28953-bisect
 test-amd64-amd64-xl-sedf-pin  5 xen-boot  fail REGR. vs. 26303
 test-amd64-amd64-xl-sedf  8 debian-fixup  fail REGR. vs. 26303
 test-amd64-i386-freebsd10-amd64  5 xen-boot fail like 29368-bisect
 test-amd64-i386-xl-qemuu-debianhvm-amd64  5 xen-boot fail blocked in 26303
 test-amd64-i386-xl-qemut-debianhvm-amd64  5 xen-boot fail blocked in 26303
 test-amd64-amd64-xl-qemut-debianhvm-amd64  5 xen-bootfail blocked in 26303
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  5 xen-bootfail blocked in 26303

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt  9 guest-start  fail   never pass
 test-armhf-armhf-xl   5 xen-boot fail   never pass
 test-armhf-armhf-libvirt  5 xen-boot fail   never pass

version targeted for testing:
 linux5054319d9fe56ed1ef6c83c00ae37fdc2b277a79
baseline version:
 linuxbe67db109090b17b56eb8eb2190cd70700f107aa


841 people touched revisions under test,
not listing them all


jobs:
 build-amd64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-armhf-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 bui

Re: [Xen-devel] (v2) Design proposal for RMRR fix

2015-01-18 Thread Tian, Kevin
> From: George Dunlap
> Sent: Thursday, January 15, 2015 7:45 PM
> 
> >
> > If above high level flow can be agreed, then we can move forward to
> > discuss next level detail e.g. how to pass the rmrr list cross different
> > components. :-)
> 
> I think we're definitely ready to move on.  There are a bunch of tiny
> details we could discuss, but those are  mostly minor changes that can
> be tweaked when the patches are submitted.
> 

Thanks for all the good discussions in the thread, and good we have 
consensus to move forward now.

still one open to hear suggestion though, regarding to how we want 
to pass the reserved regions to domain builder and hvmloader (for Xen 
we will extend related assignment hypercall to include per device override).

one simple solution is to extend xc_hvm_build_args and hvm_info_table 
to include specified regions, with the limitation on defining a fixed 
number (possibly use E820_MAX as a reasonable assumption)

another option is to place the information in xenstore which is more
flexible. However domain builder doesn't use xenstore right now (suppose 
extending use xenstore is not complex?)

or any other thought to be evaluated?

Thanks
Kevin
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] (v2) Design proposal for RMRR fix

2015-01-18 Thread Tian, Kevin
> From: Jan Beulich [mailto:jbeul...@suse.com]
> Sent: Thursday, January 15, 2015 6:06 PM
> 
> > The composed reserved region list is then passed to domain builder,
> > which tries to detect and avoid conflicts when populating guest RAM.
> > To avoid breaking lowmem/highmem layout, we can define a
> > lowmem_guard so if making hole for a region would make lowmem_top
> > below lowmem_guard we'll treat this region as a conflict. We may
> > either just hardcode the value like 2G (or other reasonable value in your
> > mind), or allow user to config e.g.:
> > rmrr = [ 'host, check=force/try', 'lowmem_boundary=2G' ]
> 
> To me it looks like lowmem_boundary makes sense only when
> check=try.

yes it only makes sense when check=try but the setting should be global
i.e. we don't want to have it configured per-device, right? do you have
a thought on a better option here?

> >
> > If above high level flow can be agreed, then we can move forward to
> > discuss next level detail e.g. how to pass the rmrr list cross different
> > components. :-)
> 
> Apart from the minor detail mentioned I think the above is a good
> representation of what we want/need.
> 

Thanks for your valuable inputs.
Kevin

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


[Xen-devel] [xen-4.4-testing test] 33464: regressions - trouble: blocked/broken/fail/pass

2015-01-18 Thread xen . org
flight 33464 xen-4.4-testing real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/33464/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-pair   17 guest-migrate/src_host/dst_host fail REGR. vs. 33292

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pv   3 host-install(3)   broken pass in 33437
 test-amd64-i386-xl-qemuu-ovmf-amd64  3 host-install(3)broken pass in 33437

Regressions which are regarded as allowable (not blocking):
 test-amd64-i386-xl-qemut-win7-amd64 7 windows-install fail in 33437 like 33186

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-rumpuserxen-amd64  1 build-check(1)   blocked n/a
 test-amd64-i386-rumpuserxen-i386  1 build-check(1)   blocked  n/a
 test-armhf-armhf-libvirt  9 guest-start  fail   never pass
 test-amd64-i386-libvirt   9 guest-start  fail   never pass
 test-armhf-armhf-xl  10 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt  9 guest-start  fail   never pass
 build-i386-rumpuserxen6 xen-buildfail   never pass
 test-amd64-amd64-xl-qemut-win7-amd64 14 guest-stop fail never pass
 test-amd64-i386-xl-win7-amd64 14 guest-stop   fail  never pass
 build-amd64-rumpuserxen   6 xen-buildfail   never pass
 test-amd64-amd64-xl-win7-amd64 14 guest-stop   fail never pass
 test-amd64-amd64-xl-winxpsp3 14 guest-stop   fail   never pass
 test-amd64-amd64-xl-pcipt-intel  9 guest-start fail never pass
 test-amd64-i386-xend-winxpsp3 17 leak-check/check fail  never pass
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 14 guest-stop   fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 14 guest-stop fail never pass
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1 14 guest-stop fail never pass
 test-amd64-i386-xl-qemuu-win7-amd64 14 guest-stop  fail never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 14 guest-stop   fail never pass
 test-amd64-i386-xend-qemut-winxpsp3 17 leak-check/checkfail never pass
 test-amd64-amd64-xl-qemut-winxpsp3 14 guest-stop   fail never pass
 test-amd64-i386-xl-qemut-win7-amd64 14 guest-stop  fail never pass

version targeted for testing:
 xen  30f10d4d2b102bd7184b84c9cc3d2246f060706a
baseline version:
 xen  089dd62211042011e26de1b87b558394cdfe388b


People who touched revisions under test:
  Ian Campbell 
  Ian Jackson 
  Luis R. Rodriguez 
  Wei Liu 


jobs:
 build-amd64-xend pass
 build-i386-xend  pass
 build-amd64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-armhf-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 build-amd64-rumpuserxen  fail
 build-i386-rumpuserxen   fail
 test-amd64-amd64-xl  pass
 test-armhf-armhf-xl  pass
 test-amd64-i386-xl   pass
 test-amd64-i386-rhel6hvm-amd pass
 test-amd64-i386-qemut-rhel6hvm-amd   pass
 test-amd64-i386-qemuu-rhel6hvm-amd   pass
 test-amd64-amd64-xl-qemut-debianhvm-amd64pass
 test-amd64-i386-xl-qemut-debianhvm-amd64 pass
 test-amd64-amd64-xl-qemuu-debianhvm-amd64pass
 test-amd64-i386-xl-qemuu-debianhvm-amd64 pass
 test-amd64-i386-freebsd10-amd64  pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 pass
 test-amd64-i386-xl-qemuu-ovmf-amd64  broken  
 test-amd64-amd64-rumpuserxen-amd64   blocked 
 test-amd64-amd64-xl-qemut-win7-amd64 fail
 test-amd64-i386-xl-qemut-win7-amd64  fail
 t