[Xen-devel] [ovmf baseline-only test] 75004: tolerable FAIL

2018-07-24 Thread Platform Team regression test user
This run is configured for baseline tests only.

flight 75004 ovmf real [real]
http://osstest.xensource.com/osstest/logs/75004/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 10 debian-hvm-install fail like 75003
 test-amd64-i386-xl-qemuu-ovmf-amd64 10 debian-hvm-install  fail like 75003

version targeted for testing:
 ovmf 0f78fd73496f26d45516f6c453a66f35edca6ab0
baseline version:
 ovmf 49a4797e9c6829520eb3e09b52710b6b6993a65e

Last test of basis75003  2018-07-25 00:20:11 Z0 days
Testing same since75004  2018-07-25 03:49:59 Z0 days1 attempts


People who touched revisions under test:
  Jaben Carsey 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 fail
 test-amd64-i386-xl-qemuu-ovmf-amd64  fail



sg-report-flight on osstest.xs.citrite.net
logs: /home/osstest/logs
images: /home/osstest/images

Logs, config files, etc. are available at
http://osstest.xensource.com/osstest/logs

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


Push not applicable.


commit 0f78fd73496f26d45516f6c453a66f35edca6ab0
Author: Jaben Carsey 
Date:   Fri Jul 20 01:57:39 2018 +0800

BaseTools: AutoGen - change class variable to funciton variable

This variable is only used in one function, make it local there.
Also when iterating on the variable, use dict.items() to get value
instead of re-looking up the value multiple times.

Cc: Liming Gao 
Cc: Yonghong Zhu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey 
Reviewed-by: Yonghong Zhu 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [ovmf test] 125557: all pass - PUSHED

2018-07-24 Thread osstest service owner
flight 125557 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125557/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf 0f78fd73496f26d45516f6c453a66f35edca6ab0
baseline version:
 ovmf 49a4797e9c6829520eb3e09b52710b6b6993a65e

Last test of basis   125553  2018-07-24 21:10:51 Z0 days
Testing same since   125557  2018-07-25 01:55:47 Z0 days1 attempts


People who touched revisions under test:
  Jaben Carsey 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 pass
 test-amd64-i386-xl-qemuu-ovmf-amd64  pass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   49a4797e9c..0f78fd7349  0f78fd73496f26d45516f6c453a66f35edca6ab0 -> 
xen-tested-master

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [linux-3.18 test] 125525: regressions - FAIL

2018-07-24 Thread osstest service owner
flight 125525 linux-3.18 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125525/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-examine  4 memdisk-try-append   fail REGR. vs. 125138
 test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm 10 debian-hvm-install fail REGR. 
vs. 125138
 test-amd64-amd64-xl-xsm  10 debian-install   fail REGR. vs. 125138

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds  7 xen-boot fail in 125505 pass in 125525
 test-amd64-i386-libvirt-xsm 18 guest-start/debian.repeat fail in 125505 pass 
in 125525
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 10 debian-hvm-install 
fail in 125505 pass in 125525
 test-amd64-amd64-qemuu-nested-amd 13 xen-install/l1fail pass in 125505

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm   1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-arm64-arm64-examine  1 build-check(1)   blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)   blocked  n/a
 test-arm64-arm64-xl   1 build-check(1)   blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64-xsm 16 guest-localmigrate/x10 fail in 
125505 like 125138
 test-amd64-amd64-qemuu-nested-amd 17 debian-hvm-install/l1/l2 fail in 125505 
never pass
 test-armhf-armhf-libvirt 14 saverestore-support-checkfail  like 125138
 test-amd64-amd64-xl-qemut-win7-amd64 17 guest-stopfail like 125138
 test-armhf-armhf-libvirt-raw 13 saverestore-support-checkfail  like 125138
 test-amd64-amd64-xl-qemuu-win7-amd64 17 guest-stopfail like 125138
 test-amd64-i386-xl-qemuu-win7-amd64 17 guest-stop fail like 125138
 test-amd64-i386-xl-qemut-win7-amd64 17 guest-stop fail like 125138
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 10 debian-hvm-install 
fail never pass
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 10 debian-hvm-install 
fail never pass
 test-amd64-amd64-xl-pvhv2-intel 12 guest-start fail never pass
 test-amd64-amd64-xl-pvhv2-amd 12 guest-start  fail  never pass
 test-amd64-i386-xl-pvshim12 guest-start  fail   never pass
 test-amd64-i386-libvirt  13 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt-xsm 13 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt 13 migrate-support-checkfail   never pass
 test-amd64-i386-libvirt-xsm  13 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-armhf-armhf-xl-rtds 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-arndale  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-rtds 14 saverestore-support-checkfail   never pass
 test-armhf-armhf-libvirt 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-arndale  14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-multivcpu 13 migrate-support-checkfail  never pass
 test-armhf-armhf-xl-multivcpu 14 saverestore-support-checkfail  never pass
 build-arm64-pvops 6 kernel-build fail   never pass
 test-amd64-amd64-libvirt-vhd 12 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-cubietruck 13 migrate-support-checkfail never pass
 test-armhf-armhf-xl-cubietruck 14 saverestore-support-checkfail never pass
 test-armhf-armhf-xl-vhd  12 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-vhd  13 saverestore-support-checkfail   never pass
 test-amd64-amd64-xl-qemuu-ws16-amd64 17 guest-stop fail never pass
 test-armhf-armhf-libvirt-raw 12 migrate-support-checkfail   never pass
 test-amd64-amd64-xl-qemut-ws16-amd64 17 guest-stop fail never pass
 test-amd64-i386-xl-qemut-ws16-amd64 17 guest-stop  fail never pass
 test-amd64-i386-xl-qemuu-ws16-amd64 17 guest-stop  fail never pass
 test-amd64-i386-xl-qemuu-win10-i386 10 windows-install fail never pass
 test-amd64-amd64-xl-qemuu-win10-i386 10 windows-installfail never pass
 test-amd64-amd64-xl-qemut-win10-i386 10 windows-installfail never pass
 test-amd64-i386-xl-qemut-win10-i386 10 windows-install fail never pass

version targeted for 

[Xen-devel] [qemu-mainline test] 125524: regressions - FAIL

2018-07-24 Thread osstest service owner
flight 125524 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125524/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd 10 redhat-install fail REGR. vs. 125169
 test-amd64-amd64-xl  18 guest-localmigrate/x10   fail REGR. vs. 125169

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 17 guest-stopfail like 125169
 test-amd64-i386-xl-qemuu-win7-amd64 17 guest-stop fail like 125169
 test-armhf-armhf-libvirt 14 saverestore-support-checkfail  like 125169
 test-armhf-armhf-libvirt-raw 13 saverestore-support-checkfail  like 125169
 test-amd64-amd64-xl-qemuu-ws16-amd64 17 guest-stopfail like 125169
 test-amd64-i386-xl-pvshim12 guest-start  fail   never pass
 test-amd64-amd64-libvirt 13 migrate-support-checkfail   never pass
 test-amd64-i386-libvirt  13 migrate-support-checkfail   never pass
 test-amd64-i386-libvirt-xsm  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-credit2  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-credit2  14 saverestore-support-checkfail   never pass
 test-arm64-arm64-xl  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl  14 saverestore-support-checkfail   never pass
 test-arm64-arm64-libvirt-xsm 13 migrate-support-checkfail   never pass
 test-arm64-arm64-libvirt-xsm 14 saverestore-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  14 saverestore-support-checkfail   never pass
 test-amd64-amd64-libvirt-xsm 13 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-armhf-armhf-xl-arndale  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-arndale  14 saverestore-support-checkfail   never pass
 test-amd64-amd64-qemuu-nested-amd 17 debian-hvm-install/l1/l2  fail never pass
 test-amd64-amd64-libvirt-vhd 12 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-rtds 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-rtds 14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-cubietruck 13 migrate-support-checkfail never pass
 test-armhf-armhf-xl-cubietruck 14 saverestore-support-checkfail never pass
 test-armhf-armhf-xl-multivcpu 13 migrate-support-checkfail  never pass
 test-armhf-armhf-xl-multivcpu 14 saverestore-support-checkfail  never pass
 test-armhf-armhf-libvirt 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  14 saverestore-support-checkfail   never pass
 test-armhf-armhf-libvirt-raw 12 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-vhd  12 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-vhd  13 saverestore-support-checkfail   never pass
 test-amd64-i386-xl-qemuu-ws16-amd64 17 guest-stop  fail never pass
 test-amd64-amd64-xl-qemuu-win10-i386 10 windows-installfail never pass
 test-amd64-i386-xl-qemuu-win10-i386 10 windows-install fail never pass

version targeted for testing:
 qemuue596be90393389405c96a5c9534c4c4e2e0b5675
baseline version:
 qemuu9277d81f5c2c6f4d0b5e47c8476eb7ee7e5c0beb

Last test of basis   125169  2018-07-14 20:30:43 Z   10 days
Failing since125246  2018-07-16 15:53:25 Z8 days6 attempts
Testing same since   125524  2018-07-23 18:00:13 Z1 days1 attempts


People who touched revisions under test:
  Alex Bennée 
  Alistair Francis 
  Andrew Jeffery 
  BALATON Zoltan 
  Calvin Lee 
  Christian Borntraeger 
  Cornelia Huck 
  Daniel P. Berrangé 
  David Gibson 
  David Hildenbrand 
  Eduardo Habkost 
  Emanuele Giuseppe Esposito 
  Greg Kurz 
  Guenter Roeck 
  Igor Mammedov 
  Jan Kiszka 
  Jason Wang 
  Jonas Schievink 
  Laurent Vivier 
  Marc-André Lureau 
  Marc-André Lureau 
  Markus Armbruster 
  Michael Davidsaver 
  Michael Roth 
  Paolo Bonzini 
  Peter Maydell 
  Peter Xu 
  Philippe Mathieu-Daudé 
  Richard Henderson 
  Roman Kagan 
  Shivaprasad G Bhat 
  Stefan Hajnoczi 
  Stefan Weil 
  Thomas Huth 
  Viktor Prutyanov 
  Yaowei Bai 
  Yunjian Wang 

jobs:
 build-amd64-xsm  pass
 build-arm64-xsm 

[Xen-devel] [ovmf baseline-only test] 75003: tolerable FAIL

2018-07-24 Thread Platform Team regression test user
This run is configured for baseline tests only.

flight 75003 ovmf real [real]
http://osstest.xensource.com/osstest/logs/75003/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 10 debian-hvm-install fail like 75002
 test-amd64-i386-xl-qemuu-ovmf-amd64 10 debian-hvm-install  fail like 75002

version targeted for testing:
 ovmf 49a4797e9c6829520eb3e09b52710b6b6993a65e
baseline version:
 ovmf 0ed73bcdcd80e0df9b383b1c53cd9a95d366843f

Last test of basis75002  2018-07-24 17:50:09 Z0 days
Testing same since75003  2018-07-25 00:20:11 Z0 days1 attempts


People who touched revisions under test:
  Ard Biesheuvel 
  Laszlo Ersek 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 fail
 test-amd64-i386-xl-qemuu-ovmf-amd64  fail



sg-report-flight on osstest.xs.citrite.net
logs: /home/osstest/logs
images: /home/osstest/images

Logs, config files, etc. are available at
http://osstest.xensource.com/osstest/logs

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


Push not applicable.


commit 49a4797e9c6829520eb3e09b52710b6b6993a65e
Author: Laszlo Ersek 
Date:   Tue Jul 24 14:57:07 2018 +0200

ArmVirtPkg: remove wrong and superfluous ResourcePublicationLib resolution

The class name for the "PeiResourcePublicationLib" instance is just
"ResourcePublicationLib", not "PeiResourcePublicationLib". However, no
module included in the ArmVirtPkg platforms depends on this lib class;
remove its resolution.

Cc: Ard Biesheuvel 
Cc: Julien Grall 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek 
Acked-by: Ard Biesheuvel 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [examine test] 125522: FAIL

2018-07-24 Thread osstest service owner
flight 125522 examine real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125522/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 examine-laxton0   2 hosts-allocate broken REGR. vs. 124647

Tests which did not succeed, but are not blocking:
 examine-rimava0   4 memdisk-try-append  fail blocked in 124647
 examine-albana1   4 memdisk-try-append   fail  like 124647
 examine-albana0   4 memdisk-try-append   fail  like 124647

baseline version:
 flight   124647

jobs:
 build-amd64  pass
 build-arm64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-pvopspass
 build-arm64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 examine-albana0  pass
 examine-albana1  pass
 examine-baroque0 pass
 examine-baroque1 pass
 examine-arndale-bluewaterpass
 examine-cubietruck-braquepass
 examine-chardonnay0  pass
 examine-chardonnay1  pass
 examine-debina0  pass
 examine-debina1  pass
 examine-elbling0 pass
 examine-elbling1 pass
 examine-fiano0   pass
 examine-fiano1   pass
 examine-godello0 pass
 examine-godello1 pass
 examine-huxelrebe1   pass
 examine-italia0  pass
 examine-joubertin0   pass
 examine-joubertin1   pass
 examine-arndale-lakeside pass
 examine-laxton0  fail
 examine-laxton1  pass
 examine-arndale-metrocentre  pass
 examine-cubietruck-metzinger pass
 examine-cubietruck-picasso   pass
 examine-pinot0   pass
 examine-pinot1   pass
 examine-rimava0  pass
 examine-rimava1  pass
 examine-arndale-westfieldpass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

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


Push not applicable.


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [PATCH v2] firmware/shim : filter output files during Xen tree setup

2018-07-24 Thread Christopher Clark
Exclude named output files from the Xen tree setup.

The linkfarm.stamp content will differ between top level "make"
and "make install" invocations, due to the introduction of these
output files that are produced during the "make" build.

Filter these out to prevent an unnecessary rebuild of the shim
during "make install".

Signed-off-by: Christopher Clark 
---
v2: added xen.efi, xen.efi.map to the exclusion list

 tools/firmware/xen-dir/Makefile | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/Makefile
index 84648c3..a9614e4 100644
--- a/tools/firmware/xen-dir/Makefile
+++ b/tools/firmware/xen-dir/Makefile
@@ -11,6 +11,10 @@ D=xen-root
 LINK_DIRS=config xen
 LINK_FILES=Config.mk
 
+# Files to exclude from the link farm
+EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map xen.efi xen.efi.map \
+  efi.lds xen.lds mkelf32 mkreloc
+
 DEP_DIRS=$(foreach i, $(LINK_DIRS), $(XEN_ROOT)/$(i))
 DEP_FILES=$(foreach i, $(LINK_FILES), $(XEN_ROOT)/$(i))
 
@@ -26,7 +30,8 @@ linkfarm.stamp: $(DEP_DIRS) $(DEP_FILES) FORCE
$(foreach d, $(LINK_DIRS), \
(cd $(XEN_ROOT); \
 find $(d) ! -type l -type f \
-$(addprefix ! -name , '*.[isoa]' '.*.d' '.*.d2')) \
+$(addprefix ! -name , '*.[isoa]' '.*.d' '.*.d2' \
+  $(EXCLUDE_FILES) )) \
 >> linkfarm.stamp.tmp ; ) \
$(foreach f, $(LINK_FILES), \
echo $(f) >> linkfarm.stamp.tmp ;)
-- 
2.7.4


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] firmware/shim : filter output files during Xen tree setup

2018-07-24 Thread Christopher Clark
On Tue, Jul 24, 2018 at 2:43 AM, Jan Beulich  wrote:

> >>> On 20.07.18 at 23:15,  wrote:
> > Exclude named output files from the Xen tree setup.
> >
> > The linkfarm.stamp content will differ between top level "make"
> > and "make install" invocations, due to the introduction of these
> > output files that are produced during the "make" build.
> >
> > Filter these out to prevent an unnecessary rebuild of the shim during
> > "make install".
> >
> > Signed-off-by: Christopher Clark 
> > ---
> >  tools/firmware/xen-dir/Makefile | 6 +-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/firmware/xen-dir/Makefile
> > b/tools/firmware/xen-dir/Makefile
> > index 84648c3..e490dca 100644
> > --- a/tools/firmware/xen-dir/Makefile
> > +++ b/tools/firmware/xen-dir/Makefile
> > @@ -11,6 +11,9 @@ D=xen-root
> >  LINK_DIRS=config xen
> >  LINK_FILES=Config.mk
> >
> > +# Files to exclude from the link farm
> > +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map efi.lds xen.lds mkelf32
> mkreloc
>
> What about xen.efi and all of its auxiliary files?


Fair point - this list was from a non-EFI build, and EFI does add two more
files to it: xen.efi and xen.efi.map


> What about other generated files?
>

I don't see any others being added to the stamp file -- with the possible
exception of the "disabled" file in xen/arch/x86/efi which can capture
build errors. I don't think that file will be present in production builds.

Did you have any others in mind? I'll post an updated patch with the
EFI-updated list in the meantime.

Christopher
___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [ovmf test] 125553: all pass - PUSHED

2018-07-24 Thread osstest service owner
flight 125553 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125553/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf 49a4797e9c6829520eb3e09b52710b6b6993a65e
baseline version:
 ovmf 0ed73bcdcd80e0df9b383b1c53cd9a95d366843f

Last test of basis   125546  2018-07-24 14:40:54 Z0 days
Testing same since   125553  2018-07-24 21:10:51 Z0 days1 attempts


People who touched revisions under test:
  Ard Biesheuvel 
  Laszlo Ersek 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 pass
 test-amd64-i386-xl-qemuu-ovmf-amd64  pass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   0ed73bcdcd..49a4797e9c  49a4797e9c6829520eb3e09b52710b6b6993a65e -> 
xen-tested-master

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v7 12/12] xen: clarify the security-support status of Kconfig options on ARM

2018-07-24 Thread Stefano Stabellini
On Mon, 23 Jul 2018, Julien Grall wrote:
> Hi,
> 
> On 07/07/18 00:14, Stefano Stabellini wrote:
> > Signed-off-by: Stefano Stabellini 
> > CC: george.dun...@eu.citrix.com
> > CC: ian.jack...@eu.citrix.com
> > CC: jbeul...@suse.com
> > CC: andrew.coop...@citrix.com
> > ---
> >   SUPPORT.md | 10 ++
> >   1 file changed, 10 insertions(+)
> > 
> > diff --git a/SUPPORT.md b/SUPPORT.md
> > index e3e49e2..151a63d 100644
> > --- a/SUPPORT.md
> > +++ b/SUPPORT.md
> > @@ -22,6 +22,16 @@ EXPERT and DEBUG Kconfig options are not security
> > supported. Other
> >   Kconfig options are supported, if the related features are marked as
> >   supported in this document.
> >   +On ARM, a wider range of Kconfig configurations is available to enable
> > +very small lines of code counts in the hypervisor. Not all possible
> > +combinations of kconfig options are security supported. Instead, a few
> 
> NIT: s/kconfig/Kconfig/
> 
> > +pre-canned configurations have been added to xen/arch/arm/configs: they
> > +are security suppored. Configurations derived from the pre-canned files
> 
> s/suppored/supported/

I'll fix


> > +by adding non-listed options with their default values, or by enabling
> > +any of the platform options under "Platform Support" (and their
> > +dependent options) are security supported, unless stated
> > +otherwise.
> 
> I am not entirely sure to understand the implications the paragraph.

It is meant to say:

1) xen/arch/arm/configs config files are security supported
2) default values of any kconfig options are security supported
3) if an option is marked as not security supported in SUPPORT.md, then
   it is not security supported, no matter the default value
4) everything else is not security supported
 
Should I try to clarify it? I guess I should make clear that a .config
with an unsupported option is unsupported as a whole. I can add:

 "A configuration with one or more unsupported options, is not
 unsupported."


> For instance, if I choose arm64_defconfig, memaccess will be enabled by
> default but any use of it is not security supported. What will be the state of
> the security support for that .config?

Yes, memaccess will default to enable. However, SUPPORT.md says it is
not security supported, hence, the result is that the .config is not
security supported, according to (3).

There is a catch though. In the specific case of memaccess, SUPPORT.md
only states the following:

### Virtual Machine Introspection

Status, x86: Supported, not security supported

Which doesn't say anything about ARM. It would be a good idea to do the
same that x86 is doing (Supported, not security supported)?


> I also think an Ack from the security team will probably more meaningful than
> mine here. After all they are the one dealing with the security issues :).

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v7 08/12] arm: add ALL, QEMU, Rcar3 and MPSoC configs

2018-07-24 Thread Stefano Stabellini
On Mon, 23 Jul 2018, Julien Grall wrote:
> Hi Stefano,
> 
> On 07/07/18 00:13, Stefano Stabellini wrote:
> > +config QEMU_PLATFORM
> > +   bool
> > +
> > +config RCAR3_PLATFORM
> > +   bool
> 
> Those 2 options do nothing. So I would prefer if they are removed. With that
> fixed:
> 
> Acked-by: Julien Grall 

Sure, I'll do that. We'll add them when we/if we'll actually need them.

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [RESEND] Spectre-v2 (IBPB/IBRS) and SSBD fixes for 4.4.y

2018-07-24 Thread Jiri Kosina
On Tue, 24 Jul 2018, Srivatsa S. Bhat wrote:

> However, if you are proposing that you'd like to contribute the enhanced 
> PTI/Spectre (upstream) patches from the SLES 4.4 tree to 4.4 stable, and 
> have them merged instead of this patch series, then I would certainly 
> welcome it!

I'd in principle love us to push everything back to 4.4, but there are a 
few reasons (*) why that's not happening shortly.

Anyway, to point out explicitly what's really needed for those folks 
running 4.4-stable and relying on PTI providing The Real Thing(TM), it's 
either a 4.4-stable port of


http://kernel.suse.com/cgit/kernel-source/plain/patches.suse/x86-entry-64-use-a-per-cpu-trampoline-stack.patch?id=3428a77b02b1ba03e45d8fc352ec350429f57fc7

or making THREADINFO_GFP imply __GFP_ZERO.

(*) IBRS is not upstream, we historically have had very different x86 
codebase compared to either 4.4, 4.4-stable or current Linus' tree, 
and there are simply too many things happening right now to give this 
high enough priority, sadly. We're not fully-dependent downstream 
consumer of -stable any more, so this is one of the expected outcomes, 
unfortunately; we don't immediately benefit from pushing our 
downstream changes to stable, as we have to carry those over forward
ourselves anyway.

Thanks,

-- 
Jiri Kosina
SUSE Labs


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] mm, oom: distinguish blockable mode for mmu notifiers

2018-07-24 Thread David Rientjes
On Tue, 24 Jul 2018, Michal Hocko wrote:

> oom_reap_task_mm should return false when __oom_reap_task_mm return
> false. This is what my patch did but it seems this changed by
> http://www.ozlabs.org/~akpm/mmotm/broken-out/mm-oom-remove-oom_lock-from-oom_reaper.patch
> so that one should be fixed.
> 
> diff --git a/mm/oom_kill.c b/mm/oom_kill.c
> index 104ef4a01a55..88657e018714 100644
> --- a/mm/oom_kill.c
> +++ b/mm/oom_kill.c
> @@ -565,7 +565,7 @@ static bool oom_reap_task_mm(struct task_struct *tsk, 
> struct mm_struct *mm)
>   /* failed to reap part of the address space. Try again later */
>   if (!__oom_reap_task_mm(mm)) {
>   up_read(>mmap_sem);
> - return true;
> + return false;
>   }
>  
>   pr_info("oom_reaper: reaped process %d (%s), now anon-rss:%lukB, 
> file-rss:%lukB, shmem-rss:%lukB\n",
> 
> 
> On top of that the proposed cleanup looks as follows:
> 
> diff --git a/mm/oom_kill.c b/mm/oom_kill.c
> index 88657e018714..4e185a282b3d 100644
> --- a/mm/oom_kill.c
> +++ b/mm/oom_kill.c
> @@ -541,8 +541,16 @@ bool __oom_reap_task_mm(struct mm_struct *mm)
>   return ret;
>  }
>  
> +/*
> + * Reaps the address space of the give task.
> + *
> + * Returns true on success and false if none or part of the address space
> + * has been reclaimed and the caller should retry later.
> + */
>  static bool oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm)
>  {
> + bool ret = true;
> +
>   if (!down_read_trylock(>mmap_sem)) {
>   trace_skip_task_reaping(tsk->pid);
>   return false;
> @@ -555,28 +563,28 @@ static bool oom_reap_task_mm(struct task_struct *tsk, 
> struct mm_struct *mm)
>* down_write();up_write() cycle in exit_mmap().
>*/
>   if (test_bit(MMF_OOM_SKIP, >flags)) {
> - up_read(>mmap_sem);
>   trace_skip_task_reaping(tsk->pid);
> - return true;
> + goto out_unlock;
>   }
>  
>   trace_start_task_reaping(tsk->pid);
>  
>   /* failed to reap part of the address space. Try again later */
> - if (!__oom_reap_task_mm(mm)) {
> - up_read(>mmap_sem);
> - return false;
> - }
> + ret = __oom_reap_task_mm(mm);
> + if (!ret)
> + goto out_finish;
>  
>   pr_info("oom_reaper: reaped process %d (%s), now anon-rss:%lukB, 
> file-rss:%lukB, shmem-rss:%lukB\n",
>   task_pid_nr(tsk), tsk->comm,
>   K(get_mm_counter(mm, MM_ANONPAGES)),
>   K(get_mm_counter(mm, MM_FILEPAGES)),
>   K(get_mm_counter(mm, MM_SHMEMPAGES)));
> +out_finish:
> + trace_finish_task_reaping(tsk->pid);
> +out_unlock:
>   up_read(>mmap_sem);
>  
> - trace_finish_task_reaping(tsk->pid);
> - return true;
> + return ret;
>  }
>  
>  #define MAX_OOM_REAP_RETRIES 10

I think we still want to trace when reaping was skipped to know that the 
oom reaper will retry again later.



mm/oom_kill.c: clean up oom_reap_task_mm() fix

indicate reaping has been partially skipped so we can expect future skips 
or another start before finish.

Signed-off-by: David Rientjes 
---
 mm/oom_kill.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -569,10 +569,12 @@ static bool oom_reap_task_mm(struct task_struct *tsk, 
struct mm_struct *mm)
 
trace_start_task_reaping(tsk->pid);
 
-   /* failed to reap part of the address space. Try again later */
ret = __oom_reap_task_mm(mm);
-   if (!ret)
+   if (!ret) {
+   /* Failed to reap part of the address space. Try again later */
+   trace_skip_task_reaping(tsk->pid);
goto out_finish;
+   }
 
pr_info("oom_reaper: reaped process %d (%s), now anon-rss:%lukB, 
file-rss:%lukB, shmem-rss:%lukB\n",
task_pid_nr(tsk), tsk->comm,

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [linux-next test] 125514: regressions - FAIL

2018-07-24 Thread osstest service owner
flight 125514 linux-next real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125514/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim7 xen-boot fail REGR. vs. 125401
 test-amd64-amd64-pygrub   7 xen-boot fail REGR. vs. 125401
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-boot fail REGR. 
vs. 125401
 test-amd64-amd64-pair10 xen-boot/src_hostfail REGR. vs. 125401
 test-amd64-amd64-libvirt  7 xen-boot fail REGR. vs. 125401
 test-amd64-amd64-pair11 xen-boot/dst_hostfail REGR. vs. 125401
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-boot fail REGR. vs. 
125401
 test-amd64-i386-xl-qemuu-ws16-amd64  7 xen-boot  fail REGR. vs. 125401
 test-amd64-i386-libvirt-pair 10 xen-boot/src_hostfail REGR. vs. 125401
 test-amd64-i386-libvirt-pair 11 xen-boot/dst_hostfail REGR. vs. 125401
 test-amd64-i386-libvirt-xsm   7 xen-boot fail REGR. vs. 125401
 test-amd64-i386-qemut-rhel6hvm-intel  7 xen-boot fail REGR. vs. 125401
 test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm  7 xen-boot fail REGR. vs. 125401
 test-amd64-amd64-examine  8 reboot   fail REGR. vs. 125401
 test-amd64-amd64-libvirt-vhd 17 guest-start/debian.repeat fail REGR. vs. 125401
 test-amd64-i386-xl-qemut-debianhvm-amd64-xsm 10 debian-hvm-install fail REGR. 
vs. 125401
 test-amd64-i386-xl-qemut-debianhvm-amd64 10 debian-hvm-install fail REGR. vs. 
125401

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu  6 xen-install fail in 125466 pass in 125514
 test-amd64-amd64-libvirt-pair 10 xen-boot/src_host fail pass in 125466
 test-amd64-amd64-libvirt-pair 11 xen-boot/dst_host fail pass in 125466
 test-amd64-i386-qemuu-rhel6hvm-amd 10 redhat-install   fail pass in 125466

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds 10 debian-install   fail REGR. vs. 125401

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 17 guest-stopfail like 125401
 test-armhf-armhf-libvirt 14 saverestore-support-checkfail  like 125401
 test-amd64-amd64-xl-qemuu-ws16-amd64 17 guest-stopfail like 125401
 test-amd64-amd64-xl-qemuu-win7-amd64 17 guest-stopfail like 125401
 test-amd64-i386-xl-qemuu-win7-amd64 17 guest-stop fail like 125401
 test-amd64-i386-xl-qemut-win7-amd64 17 guest-stop fail like 125401
 test-amd64-amd64-xl-qemut-ws16-amd64 17 guest-stopfail like 125401
 test-armhf-armhf-libvirt-raw 13 saverestore-support-checkfail  like 125401
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 10 debian-hvm-install 
fail never pass
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 10 debian-hvm-install 
fail never pass
 test-amd64-i386-xl-pvshim12 guest-start  fail   never pass
 test-arm64-arm64-xl-credit2  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-credit2  14 saverestore-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  14 saverestore-support-checkfail   never pass
 test-amd64-i386-libvirt  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl  14 saverestore-support-checkfail   never pass
 test-amd64-amd64-libvirt-xsm 13 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-armhf-armhf-xl-multivcpu 13 migrate-support-checkfail  never pass
 test-armhf-armhf-xl-multivcpu 14 saverestore-support-checkfail  never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-armhf-armhf-xl-arndale  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-arndale  14 saverestore-support-checkfail   never pass
 test-amd64-amd64-libvirt-vhd 12 migrate-support-checkfail   never pass
 test-amd64-amd64-qemuu-nested-amd 17 debian-hvm-install/l1/l2  fail never pass
 test-armhf-armhf-xl  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-rtds 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-rtds 14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-cubietruck 13 migrate-support-checkfail never pass
 test-armhf-armhf-xl-cubietruck 14 saverestore-support-check

Re: [Xen-devel] [RESEND] Spectre-v2 (IBPB/IBRS) and SSBD fixes for 4.4.y

2018-07-24 Thread Srivatsa S. Bhat
On 7/23/18 3:06 PM, Jiri Kosina wrote:
> On Sat, 14 Jul 2018, Srivatsa S. Bhat wrote:
> 
>> This patch series is a backport of the Spectre-v2 fixes (IBPB/IBRS)
>> and patches for the Speculative Store Bypass vulnerability to 4.4.y
>> (they apply cleanly on top of 4.4.140).
> 
> FWIW -- not sure how much inspiration you took from our SLE 4.4-based 
> tree, but most of the stuff is already there for quite some time 
> (including the non-upstream IBRS on kernel boundary on SKL+, trampoline 
> stack for PTI (which the original port didn't have), etc).
> 
> The IBRS SKL+ stuff has not been picked up by Greg, as it's non-upstream, 
> and the trampoline stack I believe was pointed out to stable@, but noone 
> really sat down and did the port (our codebase is different than 4.4.x 
> stable base), but it definitely should be done if someone has to put 100% 
> trust into the PTI port (either that, or at least zeroing out the kernel 
> thread thread stack ... we used to have temporarily that before we 
> switched over to proper entry trampoline in this version as well).
> 

I did glance at the SLES 4.4 kernel sometime ago, but there seemed to
be way too many custom patches and I wasn't sure in what ways your
PTI/Spectre fixes depended on the other (x86) patches in your tree. So
I decided to backport entirely from the 4.9 stable tree instead. My
reasoning was that, since the 4.9 stable patches were trusted to work
well, their 4.4 backports should work well too, as long as they are
backported correctly.
 
However, if you are proposing that you'd like to contribute the
enhanced PTI/Spectre (upstream) patches from the SLES 4.4 tree to 4.4
stable, and have them merged instead of this patch series, then I
would certainly welcome it!

Regards,
Srivatsa
VMware Photon OS

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] mm, oom: distinguish blockable mode for mmu notifiers

2018-07-24 Thread Andrew Morton
On Tue, 24 Jul 2018 16:17:47 +0200 Michal Hocko  wrote:

> On Fri 20-07-18 17:09:02, Andrew Morton wrote:
> [...]
> > - Undocumented return value.
> > 
> > - comment "failed to reap part..." is misleading - sounds like it's
> >   referring to something which happened in the past, is in fact
> >   referring to something which might happen in the future.
> > 
> > - fails to call trace_finish_task_reaping() in one case
> > 
> > - code duplication.
> > 
> > - Increases mmap_sem hold time a little by moving
> >   trace_finish_task_reaping() inside the locked region.  So sue me ;)
> > 
> > - Sharing the finish: path means that the trace event won't
> >   distinguish between the two sources of finishing.
> > 
> > Please take a look?
> 
> oom_reap_task_mm should return false when __oom_reap_task_mm return
> false. This is what my patch did but it seems this changed by
> http://www.ozlabs.org/~akpm/mmotm/broken-out/mm-oom-remove-oom_lock-from-oom_reaper.patch
> so that one should be fixed.
> 
> diff --git a/mm/oom_kill.c b/mm/oom_kill.c
> index 104ef4a01a55..88657e018714 100644
> --- a/mm/oom_kill.c
> +++ b/mm/oom_kill.c
> @@ -565,7 +565,7 @@ static bool oom_reap_task_mm(struct task_struct *tsk, 
> struct mm_struct *mm)
>   /* failed to reap part of the address space. Try again later */
>   if (!__oom_reap_task_mm(mm)) {
>   up_read(>mmap_sem);
> - return true;
> + return false;
>   }
>  
>   pr_info("oom_reaper: reaped process %d (%s), now anon-rss:%lukB, 
> file-rss:%lukB, shmem-rss:%lukB\n",

OK, thanks, I added that.

> 
> On top of that the proposed cleanup looks as follows:
> 

Looks good to me.  Seems a bit strange that we omit the pr_info()
output if the mm was partially reaped - people would still want to know
this?   Not very important though.


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

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

2018-07-24 Thread osstest service owner
flight 125517 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125517/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-libvirt6 libvirt-buildfail REGR. vs. 123814
 build-amd64-libvirt   6 libvirt-buildfail REGR. vs. 123814
 build-arm64-libvirt   6 libvirt-buildfail REGR. vs. 123814
 build-armhf-libvirt   6 libvirt-buildfail REGR. vs. 123814

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-pair  1 build-check(1)   blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)   blocked  n/a
 test-amd64-i386-libvirt   1 build-check(1)   blocked  n/a
 test-armhf-armhf-libvirt  1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)   blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)   blocked  n/a
 test-arm64-arm64-libvirt  1 build-check(1)   blocked  n/a

version targeted for testing:
 libvirt  f508a65a21fb2a3ea3619c7eddbb85633279995a
baseline version:
 libvirt  076a2b409667dd9f716a2a2085e1ffea9d58fe8b

Last test of basis   123814  2018-06-05 04:19:23 Z   49 days
Failing since123840  2018-06-06 04:19:28 Z   48 days   36 attempts
Testing same since   125517  2018-07-23 11:39:10 Z1 days1 attempts


People who touched revisions under test:
Ales Musil 
  Andrea Bolognani 
  Anya Harter 
  Bjoern Walk 
  Bobo Du 
  Boris Fiuczynski 
  Brijesh Singh 
  Changkuo Shi 
  Chen Hanxiao 
  Christian Ehrhardt 
  Cole Robinson 
  Daniel Nicoletti 
  Daniel P. Berrangé 
  Daniel Veillard 
  Eric Blake 
  Erik Skultety 
  Fabiano Fidêncio 
  Filip Alac 
  Han Han 
  intrigeri 
  intrigeri 
  Jamie Strandboge 
  Jie Wang 
  Jiri Denemark 
  John Ferlan 
  Julio Faracco 
  Ján Tomko 
  Kashyap Chamarthy 
  Katerina Koukiou 
  Laine Stump 
  Laszlo Ersek 
  Luyao Huang 
  Marc Hartmayer 
  Marcos Paulo de Souza 
  Martin Kletzander 
  Michal Privoznik 
  Michal Prívozník 
  Nikolay Shirokovskiy 
  Pavel Hrdina 
  Peter Krempa 
  Pino Toscano 
  Radostin Stoyanov 
  Ramy Elkest 
  ramyelkest 
  Richard W.M. Jones 
  Roman Bogorodskiy 
  Shichangkuo 
  Simon Kobyda 
  Stefan Bader 
  Stefan Berger 
  Sukrit Bhatnagar 
  Tomáš Golembiovský 
  w00251574 
  Weilun Zhu 

jobs:
 build-amd64-xsm  pass
 build-arm64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-arm64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-libvirt  fail
 build-arm64-libvirt  fail
 build-armhf-libvirt  fail
 build-i386-libvirt   fail
 build-amd64-pvopspass
 build-arm64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm   blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsmblocked 
 test-amd64-amd64-libvirt-xsm blocked 
 test-arm64-arm64-libvirt-xsm blocked 
 test-amd64-i386-libvirt-xsm  blocked 
 test-amd64-amd64-libvirt blocked 
 test-arm64-arm64-libvirt blocked 
 test-armhf-armhf-libvirt blocked 
 test-amd64-i386-libvirt  blocked 
 test-amd64-amd64-libvirt-pairblocked 
 test-amd64-i386-libvirt-pair blocked 
 test-arm64-arm64-libvirt-qcow2   blocked 
 

[Xen-devel] [ovmf baseline-only test] 75002: tolerable FAIL

2018-07-24 Thread Platform Team regression test user
This run is configured for baseline tests only.

flight 75002 ovmf real [real]
http://osstest.xensource.com/osstest/logs/75002/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 10 debian-hvm-install fail like 75001
 test-amd64-i386-xl-qemuu-ovmf-amd64 10 debian-hvm-install  fail like 75001

version targeted for testing:
 ovmf 0ed73bcdcd80e0df9b383b1c53cd9a95d366843f
baseline version:
 ovmf 5b73e17fb17c6935d894b0084f32421e717c247f

Last test of basis75001  2018-07-24 14:52:20 Z0 days
Testing same since75002  2018-07-24 17:50:09 Z0 days1 attempts


People who touched revisions under test:
  Dongao Guo 
  Liming Gao 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 fail
 test-amd64-i386-xl-qemuu-ovmf-amd64  fail



sg-report-flight on osstest.xs.citrite.net
logs: /home/osstest/logs
images: /home/osstest/images

Logs, config files, etc. are available at
http://osstest.xensource.com/osstest/logs

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


Push not applicable.


commit 0ed73bcdcd80e0df9b383b1c53cd9a95d366843f
Author: Liming Gao 
Date:   Tue Jul 24 10:23:28 2018 +0800

OvmfPkg: Correct ResourcePublicationLib class name in DSC/INF files

ResourcePublicationLib class name is ResourcePublicationLib.
INF and DSC files are updated to use the correct one.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao 
Signed-off-by: Dongao Guo 
[ler...@redhat.com: insert empty line between commit msg body and tags]
Reviewed-by: Laszlo Ersek 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [linux-linus test] 125520: regressions - FAIL

2018-07-24 Thread osstest service owner
flight 125520 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125520/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  7 xen-bootfail REGR. vs. 123554
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-boot fail REGR. vs. 
123554
 test-amd64-amd64-xl-qcow210 debian-di-installfail REGR. vs. 123554
 build-armhf-pvops 6 kernel-build fail REGR. vs. 123554

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds  1 build-check(1)   blocked  n/a
 test-armhf-armhf-xl-vhd   1 build-check(1)   blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)   blocked  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)   blocked  n/a
 test-armhf-armhf-xl   1 build-check(1)   blocked  n/a
 test-armhf-armhf-examine  1 build-check(1)   blocked  n/a
 test-armhf-armhf-libvirt  1 build-check(1)   blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)   blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)   blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)   blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 17 guest-stopfail like 123554
 test-amd64-i386-xl-qemut-win7-amd64 17 guest-stop fail like 123554
 test-amd64-amd64-xl-qemuu-win7-amd64 17 guest-stopfail like 123554
 test-amd64-i386-xl-qemuu-win7-amd64 17 guest-stop fail like 123554
 test-amd64-amd64-xl-qemut-ws16-amd64 17 guest-stopfail like 123554
 test-amd64-amd64-xl-qemuu-ws16-amd64 17 guest-stopfail like 123554
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 10 debian-hvm-install 
fail never pass
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 10 debian-hvm-install 
fail never pass
 test-amd64-i386-xl-pvshim12 guest-start  fail   never pass
 test-amd64-amd64-libvirt 13 migrate-support-checkfail   never pass
 test-amd64-i386-libvirt  13 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt-xsm 13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  14 saverestore-support-checkfail   never pass
 test-arm64-arm64-libvirt-xsm 13 migrate-support-checkfail   never pass
 test-arm64-arm64-libvirt-xsm 14 saverestore-support-checkfail   never pass
 test-amd64-i386-libvirt-xsm  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-credit2  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-credit2  14 saverestore-support-checkfail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-amd64-amd64-qemuu-nested-amd 17 debian-hvm-install/l1/l2  fail never pass
 test-amd64-amd64-libvirt-vhd 12 migrate-support-checkfail   never pass
 test-arm64-arm64-xl  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl  14 saverestore-support-checkfail   never pass
 test-amd64-i386-xl-qemuu-ws16-amd64 17 guest-stop  fail never pass
 test-amd64-i386-xl-qemut-ws16-amd64 17 guest-stop  fail never pass
 test-amd64-amd64-xl-qemut-win10-i386 10 windows-installfail never pass
 test-amd64-amd64-xl-qemuu-win10-i386 10 windows-installfail never pass
 test-amd64-i386-xl-qemut-win10-i386 10 windows-install fail never pass
 test-amd64-i386-xl-qemuu-win10-i386 10 windows-install fail never pass

version targeted for testing:
 linuxd72e90f33aa4709ebecc5005562f52335e106a60
baseline version:
 linux0512e0134582ef85dee77d51aae77dcd1edec495

Last test of basis   123554  2018-06-01 13:09:41 Z   53 days
Failing since123655  2018-06-03 01:45:35 Z   51 days   31 attempts
Testing same since   125520  2018-07-23 12:51:24 Z1 days1 attempts


2317 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm  pass
 build-arm64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-arm64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-arm64-libvirt  pass
 build-armhf-libvirt  pass

Re: [Xen-devel] [PATCH v2 01/17] x86/cpu: create Dhyana init file and register new cpu_dev to system

2018-07-24 Thread Paolo Bonzini
On 23/07/2018 15:20, Pu Wen wrote:
> Add x86 architecture support for new processor Hygon Dhyana Family 18h.
> Rework to create a separated file(arch/x86/kernel/cpu/hygon.c) from the
> AMD init one(arch/x86/kernel/cpu/amd.c) to initialize Dhyana CPU. In
> this way we can remove old AMD architecture support codes from Hygon
> code path and generate a clear initialization flow for Hygon processors,
> it also reduce long-term maintenance effort.
> Also add hygon.c Maintainer information in accordance.
> 
> To identify Hygon processors, add a new vendor type X86_VENDOR_HYGON(9)
> for system recognition.
> 
> To enable Hygon processor config, add a separated Kconfig entry(CPU_SUP_
> HYGON) for Dhyana CPU in kernel config setup.

If Hygon processors are currently the same as AMD, I don't see the point
in creating a new file just for them.  Likewise for example in patch 6


+   case X86_VENDOR_HYGON:
+   ideal_nops = p6_nops;
+   return;
+
case X86_VENDOR_AMD:
if (boot_cpu_data.x86 > 0xf) {
ideal_nops = p6_nops;

Should only need to add "case X86_VENDOR_HYGON:".  Or you could even
reuse X86_VENDOR_AMD.

Paolo

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] Xen ARM Community Call Wednesday 25th July 9AM Pacific / 4PM UTC

2018-07-24 Thread Stefano Stabellini
Hi all,

This is just a reminder that tomorrow we are going to have the Xen on
ARM Community Call at 9AM California time.

You are very welcome to join!

Cheers,

Stefano

On Fri, 13 Jul 2018, Stefano Stabellini wrote:
> Hi all,
> 
> It is time for another Xen on ARM Community Call. I suggest to talk
> again on Wed 25 July at 9AM California time. 
> 
> Please reply to this thread suggestions topics for discussion. I'll
> start by suggesting "progress on certifications".
> 
> This time we get to use the Xilinx WebEx conference system, see
> attached. I also appended the details to join the conference call.
> 
> Cheers,
> 
> Stefano
> 
> 
> JOIN WEBEX MEETING
> https://xilinx.webex.com/xilinx/j.php?MTID=m94c112941ad6a6f6a0ccc2140c84bfe9
> Meeting number: 920 504 982
> Meeting password: akZPPX*9
> 
> JOIN BY PHONE
> Call-in toll-free number: 1-(877) 582-3182  (US)
> Call-in number: 1-(770) 657-9791  (US)
> Show global numbers:
> https://www.tcconline.com/offSite/OffSiteController.jpf?cc=1659920463
> Conference Code: 165 992 0463
> 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] automation: introduce a script for build test

2018-07-24 Thread Doug Goldstein
On Tue, Jul 24, 2018 at 05:56:51PM +0100, Wei Liu wrote:
> Signed-off-by: Ian Jackson 
> Signed-off-by: Wei Liu 
> ---
> This is a script I wrote previously for build test.

Goal here is to bisect a series to find the build failure? We could
allow git bisect to do the work and just build and return success or
failure instead of having to walk it by hand. I don't have one
specifically for Xen but on other projects I've got something like:

./scripts/bisect.sh  

which looks roughly like:
#!/bin/sh

git bisect start $2 $1
git bisect run ./scripts/basic-build.sh

Then my ./scripts/basic-build.sh would look like:
#!/bin/sh

git clean -xdf
./configure || exit 1
make

> 
> Cc: Andrew Cooper 
> Cc: George Dunlap 
> Cc: Ian Jackson 
> Cc: Jan Beulich 
> Cc: Konrad Rzeszutek Wilk 
> Cc: Stefano Stabellini 
> Cc: Tim Deegan 
> Cc: Wei Liu 
> Cc: Julien Grall 
> Cc: Anthony PERARD 
> 
> v5:
> 1. Use bash so that while do ... done < () works.
> 2. Move script to automation directory.
> 
> v4:
> 1. Check, save/restore $?.
> 2. Don't use trap, check exit code directly.
> 3. More error messages.
> 
> v3:
> 1. Use git-clean in default rune.
> 2. Print more friendly message.
> 3. Restore HEAD automatically.
> ---
>  automation/scripts/build-test.sh | 68 
> 
>  1 file changed, 68 insertions(+)
>  create mode 100755 automation/scripts/build-test.sh
> 
> diff --git a/automation/scripts/build-test.sh 
> b/automation/scripts/build-test.sh
> new file mode 100755
> index 00..885e5f7a13
> --- /dev/null
> +++ b/automation/scripts/build-test.sh
> @@ -0,0 +1,68 @@
> +#!/bin/bash
> +
> +# Run command on every commit within the range specified. If no command is
> +# provided, use the default one to clean and build the whole tree.
> +#
> +# The default rune is rather simple. To do a cross-build, please put your 
> usual
> +# build rune in a shell script and invoke it with this script.
> +
> +if ! test -f xen/common/kernel.c; then
> +echo "Please run this script from top-level directory"
> +exit 1
> +fi

You could make it run from anywhere if you did:
pushd `git rev-parse --show-toplevel`

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [xen-unstable-smoke test] 125549: tolerable all pass - PUSHED

2018-07-24 Thread osstest service owner
flight 125549 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125549/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  14 saverestore-support-checkfail   never pass
 test-amd64-amd64-libvirt 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  14 saverestore-support-checkfail   never pass

version targeted for testing:
 xen  173c7803592065d27bf2e60d50e08e197a0efa83
baseline version:
 xen  be5e2ff6f54e0245331ed360b8786760f82fd673

Last test of basis   125543  2018-07-24 13:01:09 Z0 days
Testing same since   125549  2018-07-24 16:00:29 Z0 days1 attempts


People who touched revisions under test:
  Jan Beulich 
  Jason Andryuk 
  Roger Pau Monné 

jobs:
 build-arm64-xsm  pass
 build-amd64  pass
 build-armhf  pass
 build-amd64-libvirt  pass
 test-armhf-armhf-xl  pass
 test-arm64-arm64-xl-xsm  pass
 test-amd64-amd64-xl-qemuu-debianhvm-i386 pass
 test-amd64-amd64-libvirt pass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   be5e2ff6f5..173c780359  173c7803592065d27bf2e60d50e08e197a0efa83 -> smoke

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [ovmf test] 125546: all pass - PUSHED

2018-07-24 Thread osstest service owner
flight 125546 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125546/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf 0ed73bcdcd80e0df9b383b1c53cd9a95d366843f
baseline version:
 ovmf 5b73e17fb17c6935d894b0084f32421e717c247f

Last test of basis   125540  2018-07-24 08:40:43 Z0 days
Testing same since   125546  2018-07-24 14:40:54 Z0 days1 attempts


People who touched revisions under test:
  Dongao Guo 
  Liming Gao 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 pass
 test-amd64-i386-xl-qemuu-ovmf-amd64  pass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   5b73e17fb1..0ed73bcdcd  0ed73bcdcd80e0df9b383b1c53cd9a95d366843f -> 
xen-tested-master

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Dario Faggioli
FWIW,

On Tue, 2018-07-24 at 16:26 +0100, George Dunlap wrote:
> On 07/24/2018 12:23 PM, Lars Kurth wrote:
> > 
> > It seems to me there are a number of options we have and thus some
> > decisions
> > that need to be made.

> > 2: Do we have an opt-in or op-out (e.g. through a tag, a specific
> > CC, etc.) for patches
> 
> Opt-out.
>
+1

> > 5: Do we report back on success or only on failure?
> > See question by Julien
> 
> I'd start with having the bot respond to 00/NN exactly once, both on
> success and failure.
> 
+1

> > 4: Who else, besides the author should get a mail
> > The patch submitters should definitely get a mail, the question is
> > whether people on the CC list should also get one
> 
> I think the bot should reply-to-all.  Maybe we can add an opt-out to
> our
> website, so that the bot won't reply to you if you don't want it to.
> 
+1

:-)

Regards,
Dario
-- 
<> (Raistlin Majere)
-
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Software Engineer @ SUSE https://www.suse.com/


signature.asc
Description: This is a digitally signed message part
___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [PATCH] automation: introduce a script for build test

2018-07-24 Thread Wei Liu
Signed-off-by: Ian Jackson 
Signed-off-by: Wei Liu 
---
This is a script I wrote previously for build test.

Cc: Andrew Cooper 
Cc: George Dunlap 
Cc: Ian Jackson 
Cc: Jan Beulich 
Cc: Konrad Rzeszutek Wilk 
Cc: Stefano Stabellini 
Cc: Tim Deegan 
Cc: Wei Liu 
Cc: Julien Grall 
Cc: Anthony PERARD 

v5:
1. Use bash so that while do ... done < () works.
2. Move script to automation directory.

v4:
1. Check, save/restore $?.
2. Don't use trap, check exit code directly.
3. More error messages.

v3:
1. Use git-clean in default rune.
2. Print more friendly message.
3. Restore HEAD automatically.
---
 automation/scripts/build-test.sh | 68 
 1 file changed, 68 insertions(+)
 create mode 100755 automation/scripts/build-test.sh

diff --git a/automation/scripts/build-test.sh b/automation/scripts/build-test.sh
new file mode 100755
index 00..885e5f7a13
--- /dev/null
+++ b/automation/scripts/build-test.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+# Run command on every commit within the range specified. If no command is
+# provided, use the default one to clean and build the whole tree.
+#
+# The default rune is rather simple. To do a cross-build, please put your usual
+# build rune in a shell script and invoke it with this script.
+
+if ! test -f xen/common/kernel.c; then
+echo "Please run this script from top-level directory"
+exit 1
+fi
+
+if test $# -lt 2 ; then
+echo "Usage: $0   [CMD]"
+exit 1
+fi
+
+status=`git status -s`
+if test -n "$status"; then
+echo "Tree is dirty, aborted"
+exit 1
+fi
+
+BASE=$1; shift
+TIP=$1; shift
+
+ORIG_BRANCH=`git symbolic-ref -q --short HEAD`
+if test $? -ne 0; then
+echo "Detached HEAD, aborted"
+exit 1
+fi
+
+while read num rev; do
+echo "Testing $num $rev"
+
+git checkout $rev
+ret=$?
+if test $ret -ne 0; then
+echo "Failed to checkout $num $rev with $ret"
+break
+fi
+
+if test $# -eq 0 ; then
+git clean -fdx && ./configure && make -j4
+else
+"$@"
+fi
+ret=$?
+if test $ret -ne 0; then
+echo "Failed at $num $rev with $ret"
+break
+fi
+echo
+done < <(git rev-list $BASE..$TIP | nl -ba | tac)
+
+echo "Restoring original HEAD"
+git checkout $ORIG_BRANCH
+gco_ret=$?
+if test $gco_ret -ne 0; then
+echo "Failed to restore orignal HEAD. Check tree status before doing 
anything else!"
+exit $gco_ret
+fi
+
+if test $ret -eq 0; then
+echo "ok."
+fi
+exit $ret
-- 
2.11.0


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [ovmf baseline-only test] 75001: tolerable FAIL

2018-07-24 Thread Platform Team regression test user
This run is configured for baseline tests only.

flight 75001 ovmf real [real]
http://osstest.xensource.com/osstest/logs/75001/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 10 debian-hvm-install fail like 74999
 test-amd64-i386-xl-qemuu-ovmf-amd64 10 debian-hvm-install  fail like 74999

version targeted for testing:
 ovmf 5b73e17fb17c6935d894b0084f32421e717c247f
baseline version:
 ovmf 005c855dc6be0f61f76de0d7ec4a62ee737518d6

Last test of basis74999  2018-07-24 05:19:57 Z0 days
Testing same since75001  2018-07-24 14:52:20 Z0 days1 attempts


People who touched revisions under test:
  Yonghong Zhu 
  Yunhua Feng 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 fail
 test-amd64-i386-xl-qemuu-ovmf-amd64  fail



sg-report-flight on osstest.xs.citrite.net
logs: /home/osstest/logs
images: /home/osstest/images

Logs, config files, etc. are available at
http://osstest.xensource.com/osstest/logs

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


Push not applicable.


commit 5b73e17fb17c6935d894b0084f32421e717c247f
Author: Yunhua Feng 
Date:   Fri Jul 20 15:51:39 2018 +0800

BaseTools: Fix the different token with the same PCD

If the different token with the same PCD names are used in the driver,
build can pass. If the different token with the same PCD name are used
in the different library, then the driver build will fail. The reason
is that the driver autogen.c is not generated correctly for the second
case. BaseTools should check the duplicated PCD name is the driver and
its linked libraries.

Cc: Liming Gao 
Cc: Yonghong Zhu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng 
Reviewed-by: Liming Gao 

commit bfa7eeb61d94623ddbe43b916a0bb1dc0f73a292
Author: Yonghong Zhu 
Date:   Mon Jul 23 11:58:22 2018 +0800

BaseTools: Correct _PCD_PATCHABLE_TokenName_SIZE's value

current if user use PatchPcdSetPtr in library, it will report the
_PCD_PATCHABLE_TokenName_SIZE is not defined.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu 
Reviewed-by: Liming Gao 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread George Dunlap
On 07/24/2018 04:44 PM, Jan Beulich wrote:
 On 24.07.18 at 16:01,  wrote:
>> I don't see what the problem is in having a single response to the
>> thread saying that the test was run, the result of the run, and a link
>> to a page about it.  It's certainly less mail than I get in the course
>> of a normal review cycle about patch series I'm not interested in.
>>
>> I mean, suppose we just had a really enthusiastic contributor who made
>> it their personal goal to test and build every patch that was sent to
>> the list.  Would anyone really complain about a single extra mail per
>> series, when a typical series generates dozens of human-generated mails
>> anyway?
> 
> Well, I agree one can view at this from different angles. Your
> perspective looks to be that with there already being so much
> mail, a little more doesn't hurt. I'm on the position that every
> unnecessary mail is a problem. For (long) series the one extra
> mail perhaps is indeed not only tolerable but helpful (albeit even
> there it would rather be one mail per version, which may
> become increasingly pointless as only very small changes get
> done between versions). For individual patches (one liners to
> take the extreme) there often is just a single response with an
> ack. The bot would increase that volume by a whopping 50%
> (or 100% for anyone for their own patches).
> 
> With all this said, just to be clear: I'm not against improvements
> here or anywhere else, but their price needs to be reasonable.

OK, well why don't we give it a try, and if people find the mail spammy
we can add a "do-not-mail" list that the bot will avoid sending mail to.
If there's a series someone in the do-not-mail list decides they want
information on, it shouldn't be too difficult to find it from the status
page.

 -George

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [xen-4.8-testing test] 125512: regressions - FAIL

2018-07-24 Thread osstest service owner
flight 125512 xen-4.8-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125512/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt  broken  in 125165
 build-i386-pvops  6 kernel-build fail REGR. vs. 125065
 build-armhf-libvirt  5 host-build-prep fail in 125165 REGR. vs. 125065

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-vhd   6 xen-install  fail in 125165 pass in 125512
 test-armhf-armhf-xl-multivcpu  7 xen-bootfail in 125165 pass in 125512
 test-amd64-i386-xl-qemuu-debianhvm-amd64 16 guest-localmigrate/x10 fail in 
125218 pass in 125500
 test-amd64-i386-xl-qemuu-ovmf-amd64 10 debian-hvm-install fail in 125500 pass 
in 125165
 test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm 10 debian-hvm-install fail in 
125500 pass in 125218
 test-amd64-i386-qemut-rhel6hvm-amd 10 redhat-install fail in 125500 pass in 
125365
 test-armhf-armhf-xl-rtds 12 guest-startfail pass in 125500

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt  1 build-check(1)   blocked in 125165 n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)   blocked in 125165 n/a
 test-amd64-i386-xl-qemuu-win10-i386  1 build-check(1)  blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1) blocked n/a
 test-amd64-i386-xl-shadow 1 build-check(1)   blocked  n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)  blocked n/a
 test-amd64-i386-rumprun-i386  1 build-check(1)   blocked  n/a
 test-amd64-i386-pair  1 build-check(1)   blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)   blocked  n/a
 test-amd64-i386-libvirt   1 build-check(1)   blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)   blocked  n/a
 test-amd64-i386-xl-qemut-win10-i386  1 build-check(1)  blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)   blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-raw1 build-check(1)   blocked  n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)  blocked n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)   blocked  n/a
 test-amd64-i386-xl1 build-check(1)   blocked  n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64-xsm  1 build-check(1) blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1) blocked n/a
 test-amd64-i386-livepatch 1 build-check(1)   blocked  n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm  1 build-check(1) blocked n/a
 test-amd64-i386-migrupgrade   1 build-check(1)   blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)   blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)   blocked n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-xsm1 build-check(1)   blocked  n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked 
n/a
 test-xtf-amd64-amd64-4 50 xtf/test-hvm64-lbr-tsx-vmentry fail in 125365 like 
124942
 test-amd64-amd64-rumprun-amd64 17 rumprun-demo-xenstorels/xenstorels.repeat 
fail in 125365 like 125040
 test-amd64-i386-libvirt-pair 22 guest-migrate/src_host/dst_host fail in 125500 
like 124996
 test-xtf-amd64-amd64-2 50 xtf/test-hvm64-lbr-tsx-vmentry fail in 125500 like 
125040
 test-xtf-amd64-amd64-5 50 xtf/test-hvm64-lbr-tsx-vmentry fail in 125500 like 
125040
 test-amd64-i386-xl-qemut-win7-amd64 17 guest-stop   fail in 125500 like 125065
 test-armhf-armhf-xl-rtds 16 guest-start/debian.repeat fail in 125500 like 
125065
 test-amd64-i386-xl-qemuu-win7-amd64 17 guest-stop   fail in 125500 like 125065
 test-amd64-i386-xl-qemuu-ws16-amd64 17 guest-stop   fail in 125500 like 125065
 test-amd64-i386-xl-qemut-ws16-amd64 17 guest-stop   fail in 125500 like 125065
 test-amd64-i386-libvirt 13 migrate-support-check fail in 125500 never pass
 test-amd64-i386-libvirt-xsm 13 migrate-support-check fail in 125500 never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail in 125500 never pass
 test-armhf-armhf-xl-rtds13 migrate-support-check fail in 125500 never pass
 test-armhf-armhf-xl-rtds 14 saverestore-support-check fail 

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Jan Beulich
>>> On 24.07.18 at 16:01,  wrote:
> I don't see what the problem is in having a single response to the
> thread saying that the test was run, the result of the run, and a link
> to a page about it.  It's certainly less mail than I get in the course
> of a normal review cycle about patch series I'm not interested in.
> 
> I mean, suppose we just had a really enthusiastic contributor who made
> it their personal goal to test and build every patch that was sent to
> the list.  Would anyone really complain about a single extra mail per
> series, when a typical series generates dozens of human-generated mails
> anyway?

Well, I agree one can view at this from different angles. Your
perspective looks to be that with there already being so much
mail, a little more doesn't hurt. I'm on the position that every
unnecessary mail is a problem. For (long) series the one extra
mail perhaps is indeed not only tolerable but helpful (albeit even
there it would rather be one mail per version, which may
become increasingly pointless as only very small changes get
done between versions). For individual patches (one liners to
take the extreme) there often is just a single response with an
ack. The bot would increase that volume by a whopping 50%
(or 100% for anyone for their own patches).

With all this said, just to be clear: I'm not against improvements
here or anywhere else, but their price needs to be reasonable.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread George Dunlap
On 07/24/2018 04:26 PM, George Dunlap wrote:
> On 07/24/2018 12:23 PM, Lars Kurth wrote:
>>
>> On 24/07/2018, 11:50, "Julien Grall"  wrote:
>>
>> Hi Lars,
>> 
>> On 24/07/18 11:33, Lars Kurth wrote:
>> > 
>> > On 24/07/2018, 11:19, "Wei Liu"  wrote:
>> >  On Tue, Jul 24, 2018 at 04:04:05AM -0600, Jan Beulich wrote:
>> >  > I'm afraid my personal bar for any such automation is pretty
>> >  > high: There must not ever be any negative effect from such an
>> >  > addition. Positive effects would of course be very welcome. I
>> >  > realize this is an unrealistic goal, but it should at least come
>> >  > close (perhaps after some initial learning phase). But this 
>> implies
>> >  > that at least in theory it is possible to come close in the 
>> first
>> >  > place, which I can't take for given with the information I've 
>> been
>> >  > provided so far.
>> >  
>> >  Then I'm afraid the only suggestion I get for you at the moment 
>> is to
>> >  add a filter to dump those emails to /dev/null -- you already 
>> realised
>> >  that's an unrealistic goal (at least at the beginning).
>> >  
>> >  Wei.
>> >  
>> > First of all, there should only be mail (aka spam) if there was a 
>> failure.
>> 
>> This seems a little strange to only send e-mail on failure. How do you 
>> differentiate between the bot has successfully tested that series and 
>> the series is still in queue then?
>> 
>> Yes, that would be a trade-off to minimize "spam"
>>
>> It seems to me there are a number of options we have and thus some decisions
>> that need to be made.
>>  
>> 1: Do we trigger a CI cycle for *every* patch?
> 
> In a world with infinite resources, yes, because we want to detect
> broken bisections.  My guess is that this would be too
> resource-intensive for the real world.
> 
> No matter what, I'd prefer only one email per series; Definitely *don't*
> want a success email for every patch.

What about having "check-bisectability" as a separate test?  Rather than
doing a full build test from a clean tree for every possible distro, we
could do something like

for patch in $patches; do
  patch -p1 < $patch
  make
done

That should catch most bisection-breaking issues without being overly
resource-intensive.

From the CI's perspective, you'd be running on the whole series, and
check-bisectability would be a single sub-test.

 -George

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [xen-unstable-smoke test] 125543: tolerable all pass - PUSHED

2018-07-24 Thread osstest service owner
flight 125543 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125543/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  14 saverestore-support-checkfail   never pass
 test-amd64-amd64-libvirt 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  14 saverestore-support-checkfail   never pass

version targeted for testing:
 xen  be5e2ff6f54e0245331ed360b8786760f82fd673
baseline version:
 xen  6e2a53afa15422ee290663dbb798c085ef7068ed

Last test of basis   125541  2018-07-24 09:00:34 Z0 days
Testing same since   125543  2018-07-24 13:01:09 Z0 days1 attempts


People who touched revisions under test:
  Andrew Cooper 
  Jan Beulich 

jobs:
 build-arm64-xsm  pass
 build-amd64  pass
 build-armhf  pass
 build-amd64-libvirt  pass
 test-armhf-armhf-xl  pass
 test-arm64-arm64-xl-xsm  pass
 test-amd64-amd64-xl-qemuu-debianhvm-i386 pass
 test-amd64-amd64-libvirt pass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6e2a53afa1..be5e2ff6f5  be5e2ff6f54e0245331ed360b8786760f82fd673 -> smoke

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread George Dunlap
On 07/24/2018 12:23 PM, Lars Kurth wrote:
> 
> On 24/07/2018, 11:50, "Julien Grall"  wrote:
> 
> Hi Lars,
> 
> On 24/07/18 11:33, Lars Kurth wrote:
> > 
> > On 24/07/2018, 11:19, "Wei Liu"  wrote:
> >  On Tue, Jul 24, 2018 at 04:04:05AM -0600, Jan Beulich wrote:
> >  > I'm afraid my personal bar for any such automation is pretty
> >  > high: There must not ever be any negative effect from such an
> >  > addition. Positive effects would of course be very welcome. I
> >  > realize this is an unrealistic goal, but it should at least come
> >  > close (perhaps after some initial learning phase). But this 
> implies
> >  > that at least in theory it is possible to come close in the first
> >  > place, which I can't take for given with the information I've 
> been
> >  > provided so far.
> >  
> >  Then I'm afraid the only suggestion I get for you at the moment is 
> to
> >  add a filter to dump those emails to /dev/null -- you already 
> realised
> >  that's an unrealistic goal (at least at the beginning).
> >  
> >  Wei.
> >  
> > First of all, there should only be mail (aka spam) if there was a 
> failure.
> 
> This seems a little strange to only send e-mail on failure. How do you 
> differentiate between the bot has successfully tested that series and 
> the series is still in queue then?
> 
> Yes, that would be a trade-off to minimize "spam"
> 
> It seems to me there are a number of options we have and thus some decisions
> that need to be made.
>  
> 1: Do we trigger a CI cycle for *every* patch?

In a world with infinite resources, yes, because we want to detect
broken bisections.  My guess is that this would be too
resource-intensive for the real world.

No matter what, I'd prefer only one email per series; Definitely *don't*
want a success email for every patch.

> 2: Do we have an opt-in or op-out (e.g. through a tag, a specific CC, etc.) 
> for patches

Opt-out.

> 3: Do we report results back to xen-devel or to a separate list
> Looking at Linux 0 day, they report failures to a separate list - see 
> https://lists.01.org/pipermail/kbuild-all/2018-July/thread.html
> They also only seem to report failures
> 
> I am not quite sure what QEMU does. But I can't see any bot messages on their 
> list archives
[snip]
> 5: Do we report back on success or only on failure?
> See question by Julien

I'd start with having the bot respond to 00/NN exactly once, both on
success and failure.

> 4: Who else, besides the author should get a mail
> The patch submitters should definitely get a mail, the question is whether 
> people on the CC list should also get one

I think the bot should reply-to-all.  Maybe we can add an opt-out to our
website, so that the bot won't reply to you if you don't want it to.

> 6: What exactly do we report back
> Aka what is in the actual mail

A link to the git branch it created (if the patch applied), or a snippet
of the rejection message if it didn't.

Success / failure, with a link to a page containing the various tests
run, so people can see which one failed and investigate the failures.

 -George


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Doug Goldstein
On Tue, Jul 24, 2018 at 04:04:05AM -0600, Jan Beulich wrote:
> >>> On 24.07.18 at 11:43,  wrote:
> > On Tue, Jul 24, 2018 at 03:34:51AM -0600, Jan Beulich wrote:
> >> >>> On 24.07.18 at 11:24,  wrote:
> >> > On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
> >> >> >>> On 23.07.18 at 18:40,  wrote:
> >> >> > # How does this impact me?
> >> >> > The contribution workflow is *not* impacted by this change, but once 
> >> >> > up and 
> >> > 
> >> >> > running the following will happen once you post a patch or patch 
> >> >> > series to 
> >> >> > xen-devel:
> >> >> > * Patchwork will take patch series from the mailing list and applies 
> >> >> > it
> >> >> > * CI/DC testing is triggered
> >> >> > * A test report will be sent as a mail to the patch or the series 
> >> >> > (aka the 00 patch of the series)
> >> >> > 
> >> >> > This does mean though that series which do not build or show other 
> >> >> > issues, 
> >> >> > will likely not be reviewed until the tests pass. This would lessen 
> >> >> > the 
> >> >> > burden on reviewers, as they will know whether the code submitted 
> >> >> > builds on a 
> >> >> > wide array of environments. 
> >> >> 
> >> >> So how are dependencies between series intended to be dealt with? It
> >> >> is not uncommon for someone to say "applies only on top of xyz". The
> >> >> implication of "will likely not be reviewed until the tests pass" seems
> >> >> unsuitable to me in such a case.
> >> >> 
> >> > 
> >> > We have been asking everyone to rebase to staging before posting a new
> >> > version for a long time.  It is natural for the bot to assume that
> >> > everything should apply on top of staging. That would provide most value
> >> > to the community.
> >> > 
> >> > For special cases like you just mention, we should aim to provide
> >> > mechanisms to manually appoint a branch to be tested.
> >> 
> >> I'm afraid I disagree again: Tools used should not be dictated. I'm
> >> using quilt, not git for my work, and hence I don't maintain any
> >> branches anywhere.
> > 
> > Alright.
> > 
> > First, I don't think I said that only git would be supported.
> > Git is the most prevalent VCS nowadays, and most developers use it, so
> > it would make sense to support it first.  If you want quilt, we can
> > certainly look into that. But I'm afraid if you don't say what you
> > specifically need, nothing can be done in that regard.
> 
> Well, if you thought of other than git, then I'm afraid I lack
> understanding of where such a "branch" should be coming from.
> My first and foremost requirement is that, as stated pretty close
> to the top, the contribution workflow be *not* impacted. Any
> setting up of anything that I'd need to do would be contrary to
> that.
> 
> > Second, it is up to individual whether they want to use a certain tool
> > or not. If you don't want to use this infrastructure for whatever
> > reason, that's OK. You're only missing out all the work in the community
> > has done, but you should be able to use your own workflow just fine.
> 
> Then I maybe misunderstood Lars'es mail: I've gained the
> impression that the picking up of patches would be automatic,
> i.e. without me telling to system to do so. As it would presumably
> send its (failure) mails back to the author, I'd expect to get what
> effectively is spam in the described case.
> 
> I'm afraid my personal bar for any such automation is pretty
> high: There must not ever be any negative effect from such an
> addition. Positive effects would of course be very welcome. I
> realize this is an unrealistic goal, but it should at least come
> close (perhaps after some initial learning phase). But this implies
> that at least in theory it is possible to come close in the first
> place, which I can't take for given with the information I've been
> provided so far.
> 
> Jan

I hope you're not advocating for no progress until the perfect system is
achieved without giving anyone the opportunity to develop a system since
its impossible to develop a perfect system in the first go.

The ultimate goal here is to take patches that are posted to the mailing
list, apply them on top of staging and build them against a variety of
compiler combos coming from different distros. The results would then be
emailed as a reply to the cover letter. The idea is that this would help
maintainers/reviewers out as they could tell the submitter that it won't
get reviewed until it at least compiles.

The first improvement to the entire system I'd like to make is automatic
code-style checking. But that is depending on clang-format landing the
Xen code-style plugin.

Would you at least agree that this would be useful to some maintainers
and something some subset of folks would like to see? This isn't
necessarily targeted at code that you personally submit but folks that
are less frequent contributors. I've seen on numerous occasions a new
contributor making a patch against an outdated branch and this would
help there for example.


Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Doug Goldstein
On Tue, Jul 24, 2018 at 03:32:09PM +0100, George Dunlap wrote:
> On 07/24/2018 10:34 AM, Jan Beulich wrote:
>  On 24.07.18 at 11:24,  wrote:
> >> On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
> >> On 23.07.18 at 18:40,  wrote:
>  # How does this impact me?
>  The contribution workflow is *not* impacted by this change, but once up 
>  and 
> >>
>  running the following will happen once you post a patch or patch series 
>  to 
>  xen-devel:
>  * Patchwork will take patch series from the mailing list and applies it
>  * CI/DC testing is triggered
>  * A test report will be sent as a mail to the patch or the series (aka 
>  the 00 patch of the series)
> 
>  This does mean though that series which do not build or show other 
>  issues, 
>  will likely not be reviewed until the tests pass. This would lessen the 
>  burden on reviewers, as they will know whether the code submitted builds 
>  on a 
>  wide array of environments. 
> >>>
> >>> So how are dependencies between series intended to be dealt with? It
> >>> is not uncommon for someone to say "applies only on top of xyz". The
> >>> implication of "will likely not be reviewed until the tests pass" seems
> >>> unsuitable to me in such a case.
> >>>
> >>
> >> We have been asking everyone to rebase to staging before posting a new
> >> version for a long time.  It is natural for the bot to assume that
> >> everything should apply on top of staging. That would provide most value
> >> to the community.
> >>
> >> For special cases like you just mention, we should aim to provide
> >> mechanisms to manually appoint a branch to be tested.
> > 
> > I'm afraid I disagree again: Tools used should not be dictated. I'm
> > using quilt, not git for my work, and hence I don't maintain any
> > branches anywhere.
> 
> Well it's never been our habit to review patch series sent against
> random private branches.  (x86-next not being a random private branch.)
> The idea would be that you put a tag in the message somewhere that
> indicates what the patchbot should do.  This would probably be just the
> message-id of the patch series, given that (steady state) your previous
> series would have had the bot reply to it with a link.  Something like this:
> 
> Prerequisite-series: <5b506a6e0278001d5...@prv1-mh.provo.novell.com>
> 
> If the sender doesn't add the prerequisite series, then of course it
> won't apply; but the reviewer can choose to ignore the failure in that case.
> 
>  -George

So fwiw, there's a tool called git-series (the author says he's working
on integrating its functionality into the git upstream) that does
exactly this. Most of my recent patches have been sent with it and
you'll actually see what commit from staging my patches are based on and
if I wanted I could record instead the message-id of a posted series it
would depend on. I've spoken with the patchwork folks about support that
tag as well.

--
Doug

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] 4.11.0 RC1 panic

2018-07-24 Thread Manuel Bouyer
On Mon, Jul 16, 2018 at 05:02:01AM -0600, Jan Beulich wrote:
> > Unfortunably there has been a crash last week:
> 
> Hmm, looks to be still all the same as before (except for the line
> number). I'm afraid I'm out of ideas, at least for the moment.

OK, FYI I commited xen 4.11 packages for NetBSD, with the attached
patch. With this the hypervisor doens't panic ...

-- 
Manuel Bouyer 
 NetBSD: 26 ans d'experience feront toujours la difference
--
$NetBSD: patch-zz-bouyer,v 1.1 2018/07/24 13:40:11 bouyer Exp $
Dirty hack to avoid assert failure. This has been discussed on xen-devel
but no solution has been fonud so far.
The box producing http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/
is running with this patch; the printk has fired but the
hypervisor keeps running.

--- xen/arch/x86/mm.c.orig  2018-07-19 10:32:07.0 +0200
+++ xen/arch/x86/mm.c   2018-07-21 20:47:47.0 +0200
@@ -674,7 +674,12 @@
 typeof(pg->linear_pt_count) oc;
 
 oc = arch_fetch_and_add(>linear_pt_count, -1);
-ASSERT(oc > 0);
+if (oc <= 0) {
+gdprintk(XENLOG_WARNING,
+ "mm.c:dec_linear_entries(): oc %d would fail assert\n", oc);
+   pg->linear_pt_count = 0;
+}
+/* ASSERT(oc > 0); */
 }
 
 static bool inc_linear_uses(struct page_info *pg)
___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] x86/svm: Drop the suggestion of Long Mode Segment Limit support

2018-07-24 Thread Roger Pau Monné
On Mon, Jul 23, 2018 at 03:42:37PM +0100, Andrew Cooper wrote:
> Because of a bug in 2010, LMSL support didn't functioned in Xen.
> 
> c/s f2c608444 noticed but avoided fixing the issue for migration reasons.  In
> addition to migration problems, changes to the segmentation logic for
> emulation would be needed before the feature could be enabled.
> 
> This feature is entirely unused by operating systems (probably owing to its
> semantics which only cover half the segment registers), and no one has
> commented on its absence from Xen.  As supporting it would involve a large
> amount of effort, it seems better to remove the code entirely.
> 
> If someone finds a valid usecase, we can resurrecting the code and
   ^ resurrect
> implementing the remaining parts, but I doubt anyone will.
  ^implement
> 
> Signed-off-by: Andrew Cooper 

Reviewed-by: Roger Pau Monné 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2] xen/pv: Call get_cpu_address_sizes to set x86_virt/phys_bits

2018-07-24 Thread Boris Ostrovsky
On 07/24/2018 08:45 AM, M. Vefa Bicakci wrote:
> Commit d94a155c59c9 ("x86/cpu: Prevent cpuinfo_x86::x86_phys_bits
> adjustment corruption") has moved the query and calculation of the
> x86_virt_bits and x86_phys_bits fields of the cpuinfo_x86 struct
> from the get_cpu_cap function to a new function named
> get_cpu_address_sizes.
>
> One of the call sites related to Xen PV VMs was unfortunately missed
> in the aforementioned commit. This prevents successful boot-up of
> kernel versions 4.17 and up in Xen PV VMs if CONFIG_DEBUG_VIRTUAL
> is enabled, due to the following code path:
>
>   enlighten_pv.c::xen_start_kernel
> mmu_pv.c::xen_reserve_special_pages
>   page.h::__pa
> physaddr.c::__phys_addr
>   physaddr.h::phys_addr_valid
>
> phys_addr_valid uses boot_cpu_data.x86_phys_bits to validate physical
> addresses. boot_cpu_data.x86_phys_bits is no longer populated before
> the call to xen_reserve_special_pages due to the aforementioned commit
> though, so the validation performed by phys_addr_valid fails, which
> causes __phys_addr to trigger a BUG, preventing boot-up.
>
> Signed-off-by: M. Vefa Bicakci 
> Cc: "Kirill A. Shutemov" 
> Cc: Andy Lutomirski 
> Cc: Ingo Molnar 
> Cc: "H. Peter Anvin" 
> Cc: Thomas Gleixner 
> Cc: Boris Ostrovsky 
> Cc: Juergen Gross 
> Cc: xen-devel@lists.xenproject.org
> Cc: x...@kernel.org
> Cc: sta...@vger.kernel.org # for v4.17 and up
> Fixes: d94a155c59c9 ("x86/cpu: Prevent cpuinfo_x86::x86_phys_bits adjustment 
> corruption")

Reviewed-by: Boris Ostrovsky 




___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v3 2/3] xen/compiler: introduce a define for weak symbols

2018-07-24 Thread Ross Lagerwall

On 07/24/2018 02:42 PM, Jan Beulich wrote:

On 12.07.18 at 09:29,  wrote:

Forgot to Cc maintainers.


Konrad, Ross: Ping?

Jan


On Wed, Jul 11, 2018 at 05:34:49PM +0200, Roger Pau Monne wrote:

And replace the open-coded versions already in tree. No functional
change.

Signed-off-by: Roger Pau Monné 
---
Cc: Jan Beulich 
Cc: Andrew Cooper 
Cc: Daniel Kiper 


Reviewed-by: Ross Lagerwall 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread George Dunlap
On 07/24/2018 10:34 AM, Jan Beulich wrote:
 On 24.07.18 at 11:24,  wrote:
>> On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
>> On 23.07.18 at 18:40,  wrote:
 # How does this impact me?
 The contribution workflow is *not* impacted by this change, but once up 
 and 
>>
 running the following will happen once you post a patch or patch series to 
 xen-devel:
 * Patchwork will take patch series from the mailing list and applies it
 * CI/DC testing is triggered
 * A test report will be sent as a mail to the patch or the series (aka the 
 00 patch of the series)

 This does mean though that series which do not build or show other issues, 
 will likely not be reviewed until the tests pass. This would lessen the 
 burden on reviewers, as they will know whether the code submitted builds 
 on a 
 wide array of environments. 
>>>
>>> So how are dependencies between series intended to be dealt with? It
>>> is not uncommon for someone to say "applies only on top of xyz". The
>>> implication of "will likely not be reviewed until the tests pass" seems
>>> unsuitable to me in such a case.
>>>
>>
>> We have been asking everyone to rebase to staging before posting a new
>> version for a long time.  It is natural for the bot to assume that
>> everything should apply on top of staging. That would provide most value
>> to the community.
>>
>> For special cases like you just mention, we should aim to provide
>> mechanisms to manually appoint a branch to be tested.
> 
> I'm afraid I disagree again: Tools used should not be dictated. I'm
> using quilt, not git for my work, and hence I don't maintain any
> branches anywhere.

Well it's never been our habit to review patch series sent against
random private branches.  (x86-next not being a random private branch.)
The idea would be that you put a tag in the message somewhere that
indicates what the patchbot should do.  This would probably be just the
message-id of the patch series, given that (steady state) your previous
series would have had the bot reply to it with a link.  Something like this:

Prerequisite-series: <5b506a6e0278001d5...@prv1-mh.provo.novell.com>

If the sender doesn't add the prerequisite series, then of course it
won't apply; but the reviewer can choose to ignore the failure in that case.

 -George

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Anthony PERARD
On Tue, Jul 24, 2018 at 11:23:34AM +, Lars Kurth wrote:
> I am not quite sure what QEMU does. But I can't see any bot messages on their 
> list archives

The bot from: is no-re...@patchew.org, for e.g.:
- coding style:
https://lists.nongnu.org/archive/html/qemu-devel/2018-07/msg01428.html
- build failure:
https://lists.nongnu.org/archive/html/qemu-devel/2018-07/msg01329.html

Those mails are been CCed to all. Only failure are sent.

-- 
Anthony PERARD

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [ovmf test] 125540: all pass - PUSHED

2018-07-24 Thread osstest service owner
flight 125540 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125540/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf 5b73e17fb17c6935d894b0084f32421e717c247f
baseline version:
 ovmf 005c855dc6be0f61f76de0d7ec4a62ee737518d6

Last test of basis   125531  2018-07-24 01:10:54 Z0 days
Testing same since   125540  2018-07-24 08:40:43 Z0 days1 attempts


People who touched revisions under test:
  Yonghong Zhu 
  Yunhua Feng 

jobs:
 build-amd64-xsm  pass
 build-i386-xsm   pass
 build-amd64  pass
 build-i386   pass
 build-amd64-libvirt  pass
 build-i386-libvirt   pass
 build-amd64-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-xl-qemuu-ovmf-amd64 pass
 test-amd64-i386-xl-qemuu-ovmf-amd64  pass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   005c855dc6..5b73e17fb1  5b73e17fb17c6935d894b0084f32421e717c247f -> 
xen-tested-master

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v3 2/3] xen/compiler: introduce a define for weak symbols

2018-07-24 Thread Roger Pau Monné
On Tue, Jul 24, 2018 at 07:59:30AM -0600, Jan Beulich wrote:
> >>> On 24.07.18 at 15:51,  wrote:
> > On Tue, Jul 24, 2018 at 07:42:21AM -0600, Jan Beulich wrote:
> >> >>> On 12.07.18 at 09:29,  wrote:
> >> > Forgot to Cc maintainers.
> >>
> >> Konrad, Ross: Ping?
> > 
> > Daniel? Anyway, I will take a look at this no later than tomorrow.
> > Sorry for delay but I was swamped with other important stuff.
> 
> Well, I was sort of implying that it might take you a little longer
> to get there, but the patch here is not depending on your
> double checking - that's just patch 3.

Note that patch 3 has been superseded by:

https://lists.xenproject.org/archives/html/xen-devel/2018-07/msg01644.html

git://xenbits.xen.org/people/royger/xen.git efi.v4

Roger.

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] mm, oom: distinguish blockable mode for mmu notifiers

2018-07-24 Thread Michal Hocko
On Fri 20-07-18 17:09:02, Andrew Morton wrote:
[...]
> - Undocumented return value.
> 
> - comment "failed to reap part..." is misleading - sounds like it's
>   referring to something which happened in the past, is in fact
>   referring to something which might happen in the future.
> 
> - fails to call trace_finish_task_reaping() in one case
> 
> - code duplication.
> 
> - Increases mmap_sem hold time a little by moving
>   trace_finish_task_reaping() inside the locked region.  So sue me ;)
> 
> - Sharing the finish: path means that the trace event won't
>   distinguish between the two sources of finishing.
> 
> Please take a look?

oom_reap_task_mm should return false when __oom_reap_task_mm return
false. This is what my patch did but it seems this changed by
http://www.ozlabs.org/~akpm/mmotm/broken-out/mm-oom-remove-oom_lock-from-oom_reaper.patch
so that one should be fixed.

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 104ef4a01a55..88657e018714 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -565,7 +565,7 @@ static bool oom_reap_task_mm(struct task_struct *tsk, 
struct mm_struct *mm)
/* failed to reap part of the address space. Try again later */
if (!__oom_reap_task_mm(mm)) {
up_read(>mmap_sem);
-   return true;
+   return false;
}
 
pr_info("oom_reaper: reaped process %d (%s), now anon-rss:%lukB, 
file-rss:%lukB, shmem-rss:%lukB\n",


On top of that the proposed cleanup looks as follows:

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 88657e018714..4e185a282b3d 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -541,8 +541,16 @@ bool __oom_reap_task_mm(struct mm_struct *mm)
return ret;
 }
 
+/*
+ * Reaps the address space of the give task.
+ *
+ * Returns true on success and false if none or part of the address space
+ * has been reclaimed and the caller should retry later.
+ */
 static bool oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm)
 {
+   bool ret = true;
+
if (!down_read_trylock(>mmap_sem)) {
trace_skip_task_reaping(tsk->pid);
return false;
@@ -555,28 +563,28 @@ static bool oom_reap_task_mm(struct task_struct *tsk, 
struct mm_struct *mm)
 * down_write();up_write() cycle in exit_mmap().
 */
if (test_bit(MMF_OOM_SKIP, >flags)) {
-   up_read(>mmap_sem);
trace_skip_task_reaping(tsk->pid);
-   return true;
+   goto out_unlock;
}
 
trace_start_task_reaping(tsk->pid);
 
/* failed to reap part of the address space. Try again later */
-   if (!__oom_reap_task_mm(mm)) {
-   up_read(>mmap_sem);
-   return false;
-   }
+   ret = __oom_reap_task_mm(mm);
+   if (!ret)
+   goto out_finish;
 
pr_info("oom_reaper: reaped process %d (%s), now anon-rss:%lukB, 
file-rss:%lukB, shmem-rss:%lukB\n",
task_pid_nr(tsk), tsk->comm,
K(get_mm_counter(mm, MM_ANONPAGES)),
K(get_mm_counter(mm, MM_FILEPAGES)),
K(get_mm_counter(mm, MM_SHMEMPAGES)));
+out_finish:
+   trace_finish_task_reaping(tsk->pid);
+out_unlock:
up_read(>mmap_sem);
 
-   trace_finish_task_reaping(tsk->pid);
-   return true;
+   return ret;
 }
 
 #define MAX_OOM_REAP_RETRIES 10
-- 
Michal Hocko
SUSE Labs

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Julien Grall



On 24/07/18 13:45, Lars Kurth wrote:



On 24/07/2018, 13:00, "Jan Beulich"  wrote:

 >>> On 24.07.18 at 13:48,  wrote:
 > In my personal opinion, just sending CI email as "reply-all" is fine. I
 > do not mind having an extra email per patch in my mailbox.
 
 This is exactly what I'm afraid of - when you're Cc-ed on a lot of

 patches, you may then also get a lot of mails here. And no, other
 than suggested elsewhere, I'm never going to have a rule to push
 all mails matching certain criteria right into trash - there's always
 the risk of a false positive. It is imo _always_ the sending side
 which needs to judge who needs to be on the To/Cc lists of a mail,
 never the receiving side to "paper over" mistakes the sender has
 made.
 
I believe there is quite a bit of freedom on how we would implement this.


@Doug: please correct me if this is wrong.

For example: we could do something like the following
* Contributor sends series to xen-devel@ (or if necessary to some
alias or a different new list)
* Patchbot to take mail off list and run the tests
* Patchbot to augment the original mail(s) with embedded
test results and/or Tested-by: tags to and send it to xen-devel@
* Augmented mail to be sent to xen-devel@ as if it came from
sender - although this may cause problems with some mail
clients

Or we could push the burden onto the contributor, e.g.
* Contributor to send series to test service
* Contributor will get results (including some URL pointing to results)
* If succeeded or there is another good reason to send the series:
Contributor to send mail to xen-devel@ with a reference to the results
in the patch


I would prefer the first solution. If you push the burden onto the 
contributor, you increase potential discrepancy between the series 
tested and sent.


Cheers,

--
Julien Grall

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread George Dunlap
On 07/24/2018 01:45 PM, Lars Kurth wrote:
> 
> 
> On 24/07/2018, 13:00, "Jan Beulich"  wrote:
> 
> >>> On 24.07.18 at 13:48,  wrote:
> > In my personal opinion, just sending CI email as "reply-all" is fine. I
> > do not mind having an extra email per patch in my mailbox.
> 
> This is exactly what I'm afraid of - when you're Cc-ed on a lot of
> patches, you may then also get a lot of mails here. And no, other
> than suggested elsewhere, I'm never going to have a rule to push
> all mails matching certain criteria right into trash - there's always
> the risk of a false positive. It is imo _always_ the sending side
> which needs to judge who needs to be on the To/Cc lists of a mail,
> never the receiving side to "paper over" mistakes the sender has
> made.
> 
> I believe there is quite a bit of freedom on how we would implement this.
> 
> @Doug: please correct me if this is wrong.
> 
> For example: we could do something like the following
> * Contributor sends series to xen-devel@ (or if necessary to some 
> alias or a different new list)
> * Patchbot to take mail off list and run the tests
> * Patchbot to augment the original mail(s) with embedded 
> test results and/or Tested-by: tags to and send it to xen-devel@
> * Augmented mail to be sent to xen-devel@ as if it came from
> sender - although this may cause problems with some mail
> clients
> 
> Or we could push the burden onto the contributor, e.g.
> * Contributor to send series to test service 
> * Contributor will get results (including some URL pointing to results)
> * If succeeded or there is another good reason to send the series: 
> Contributor to send mail to xen-devel@ with a reference to the results 
> in the patch

I don't see what the problem is in having a single response to the
thread saying that the test was run, the result of the run, and a link
to a page about it.  It's certainly less mail than I get in the course
of a normal review cycle about patch series I'm not interested in.

I mean, suppose we just had a really enthusiastic contributor who made
it their personal goal to test and build every patch that was sent to
the list.  Would anyone really complain about a single extra mail per
series, when a typical series generates dozens of human-generated mails
anyway?

 -George

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v3 2/3] xen/compiler: introduce a define for weak symbols

2018-07-24 Thread Jan Beulich
>>> On 24.07.18 at 15:51,  wrote:
> On Tue, Jul 24, 2018 at 07:42:21AM -0600, Jan Beulich wrote:
>> >>> On 12.07.18 at 09:29,  wrote:
>> > Forgot to Cc maintainers.
>>
>> Konrad, Ross: Ping?
> 
> Daniel? Anyway, I will take a look at this no later than tomorrow.
> Sorry for delay but I was swamped with other important stuff.

Well, I was sort of implying that it might take you a little longer
to get there, but the patch here is not depending on your
double checking - that's just patch 3.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2 19/21] xen/arm: introduce create_domUs

2018-07-24 Thread Julien Grall

Hi Stefano,

On 07/07/18 00:12, Stefano Stabellini wrote:

Call a new function, "create_domUs", from setup_xen to start DomU VMs.

Introduce support for the "xen,domU" compatible node on device tree.
Create new DomU VMs based on the information found on device tree under
"xen,domU". Calls construct_domU for each domain.

Introduce a simple global variable named max_init_domid to keep track of
the initial allocated domids.

Move the discard_initial_modules after DomUs have been built


Nit: Missing full stop.



Signed-off-by: Stefano Stabellini 
CC: andrew.coop...@citrix.com
CC: jbeul...@suse.com
---
Changes in v2:
- coding style
- set nr_spis to 32
- introduce create_domUs
---
  xen/arch/arm/domain_build.c | 38 +++---
  xen/arch/arm/setup.c|  8 +++-
  xen/include/asm-arm/setup.h |  3 +++
  xen/include/asm-x86/setup.h |  2 ++
  4 files changed, 47 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index d7e9040..9f58002 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -7,6 +7,7 @@
  #include 
  #include 
  #include 
+#include 
  #include 
  #include 
  #include 
@@ -2542,6 +2543,39 @@ static int __init construct_domU(struct domain *d, 
struct dt_device_node *node)
  return rc;
  }
  
+void __init create_domUs(void)

+{
+struct dt_device_node *node;
+struct dt_device_node *chosen = dt_find_node_by_name(dt_host, "chosen");


newline here.


+if ( chosen != NULL )
+{
+dt_for_each_child_node(chosen, node)
+{
+struct domain *d;
+struct xen_domctl_createdomain d_cfg = {};
+
+if ( !dt_device_is_compatible(node, "xen,domain") )
+continue;
+
+d_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
+d_cfg.arch.nr_spis = 32;


You can set those fields directly when defining d_cfg above.


+
+d = domain_create(max_init_domid++, _cfg);
+if ( IS_ERR(d) )
+panic("Error creating domU");


It is probably worth to add the node name in the message. So the user 
knows which guest failed.



+
+d->is_privileged = 0;
+d->is_console = 1;
+d->target = NULL;
+
+if ( construct_domU(d, node) != 0 )
+printk("Could not set up DOMU guest OS");


Should not it be a panic here? Also, the message is a little odd "DOMU 
guest" is a bit redundant and the function will load the kernel but 
that's not the only thing done.


Lastly, you probably want to add the node name in the message, so the 
user knows which guest failed.



+
+domain_unpause_by_systemcontroller(d);


If a domain is bound to CPU0, then it will not boot until CPU0 is done 
with creating domain. Is that what you want?



+}
+}
+}
+
  int __init construct_dom0(struct domain *d)
  {
  struct kernel_info kinfo = {};
@@ -2592,9 +2626,7 @@ int __init construct_dom0(struct domain *d)
  return rc;
  
  
-rc = __construct_domain(d, );

-discard_initial_modules();
-return rc;
+return __construct_domain(d, );
  }
  
  /*

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 7739a80..0b08af2 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -64,6 +64,8 @@ static unsigned long opt_xenheap_megabytes __initdata;
  integer_param("xenheap_megabytes", opt_xenheap_megabytes);
  #endif
  
+domid_t __read_mostly max_init_domid = 0;

+
  static __used void init_done(void)
  {
  free_init_memory();
@@ -863,7 +865,7 @@ void __init start_xen(unsigned long boot_phys_offset,
  dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
  dom0_cfg.arch.nr_spis = gic_number_lines() - 32;
  
-dom0 = domain_create(0, _cfg);

+dom0 = domain_create(max_init_domid++, _cfg);
  if ( IS_ERR(dom0) || (alloc_dom0_vcpu0(dom0) == NULL) )
  panic("Error creating domain 0");
  
@@ -889,6 +891,10 @@ void __init start_xen(unsigned long boot_phys_offset,
  
  domain_unpause_by_systemcontroller(dom0);


Why do you unpause Dom0 and then create the guests? It feels like to me 
you want to create all the guests and then unpause dom0. dom0 would 
likely get blocked anyway has CPU0 will be busy creating domains.


  
+create_domUs();

+
+discard_initial_modules();


I think it would be better to move that in init_done. This is where all 
initial memory is freed.



+
  /* Switch on to the dynamically allocated stack for the idle vcpu
   * since the static one we're running on is about to be freed. */
  memcpy(idle_vcpu[0]->arch.cpu_info, get_cpu_info(),
diff --git a/xen/include/asm-arm/setup.h b/xen/include/asm-arm/setup.h
index 5ecfe27..21b9729 100644
--- a/xen/include/asm-arm/setup.h
+++ b/xen/include/asm-arm/setup.h
@@ -56,6 +56,8 @@ struct bootinfo {
  
  extern struct bootinfo bootinfo;
  
+extern domid_t max_init_domid;

+
  void arch_init_memory(void);
 

Re: [Xen-devel] [PATCH v3 2/3] xen/compiler: introduce a define for weak symbols

2018-07-24 Thread Daniel Kiper
On Tue, Jul 24, 2018 at 07:42:21AM -0600, Jan Beulich wrote:
> >>> On 12.07.18 at 09:29,  wrote:
> > Forgot to Cc maintainers.
>
> Konrad, Ross: Ping?

Daniel? Anyway, I will take a look at this no later than tomorrow.
Sorry for delay but I was swamped with other important stuff.

Daniel

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v3 2/3] xen/compiler: introduce a define for weak symbols

2018-07-24 Thread Jan Beulich
>>> On 12.07.18 at 09:29,  wrote:
> Forgot to Cc maintainers.

Konrad, Ross: Ping?

Jan

> On Wed, Jul 11, 2018 at 05:34:49PM +0200, Roger Pau Monne wrote:
>> And replace the open-coded versions already in tree. No functional
>> change.
>> 
>> Signed-off-by: Roger Pau Monné 
>> ---
>> Cc: Jan Beulich 
>> Cc: Andrew Cooper 
>> Cc: Daniel Kiper 
>> ---
>>  xen/include/xen/compiler.h  | 2 ++
>>  xen/include/xen/livepatch_payload.h | 4 ++--
>>  2 files changed, 4 insertions(+), 2 deletions(-)
>> 
>> diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
>> index a7e05681c9..001f589655 100644
>> --- a/xen/include/xen/compiler.h
>> +++ b/xen/include/xen/compiler.h
>> @@ -18,6 +18,8 @@
>>  
>>  #define __packed  __attribute__((__packed__))
>>  
>> +#define __weak__attribute__((weak))
>> +
>>  #if (!defined(__clang__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 5))
>>  #define unreachable() do {} while (1)
>>  #else
>> diff --git a/xen/include/xen/livepatch_payload.h 
> b/xen/include/xen/livepatch_payload.h
>> index 8f38cc2c60..4a1a96d054 100644
>> --- a/xen/include/xen/livepatch_payload.h
>> +++ b/xen/include/xen/livepatch_payload.h
>> @@ -24,7 +24,7 @@ typedef void livepatch_unloadcall_t(void);
>>   * executed in series by the livepatch infrastructure at patch load time.
>>   */
>>  #define LIVEPATCH_LOAD_HOOK(_fn) \
>> -livepatch_loadcall_t *__attribute__((weak)) \
>> +livepatch_loadcall_t *__weak \
>>  const livepatch_load_data_##_fn __section(".livepatch.hooks.load") 
> = _fn;
>>  
>>  /*
>> @@ -33,7 +33,7 @@ typedef void livepatch_unloadcall_t(void);
>>   * Same as LOAD hook with s/load/unload/
>>   */
>>  #define LIVEPATCH_UNLOAD_HOOK(_fn) \
>> - livepatch_unloadcall_t *__attribute__((weak)) \
>> + livepatch_unloadcall_t *__weak \
>>  const livepatch_unload_data_##_fn 
> __section(".livepatch.hooks.unload") = _fn;
>>  
>>  #endif /* __XEN_LIVEPATCH_PAYLOAD_H__ */
>> -- 
>> 2.17.1
>> 




___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] xen: correct DEFCONFIG_LIST Kconfig item

2018-07-24 Thread Jan Beulich
>>> On 10.07.18 at 12:18,  wrote:
 On 10.07.18 at 10:31,  wrote:
>> The default value of DEFCONFIG_LIST is wrong: it should be the value of
>> the configured ARCH_DEFCONFIG item, not the string "$ARCH_DEFCONFIG".
> 
> Makse sense and matches Linux, but I'd still prefer to have Doug's
> consent here.

Ping?

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v4 2/2] vhpet: add support for level triggered interrupts

2018-07-24 Thread Jan Beulich
>>> On 17.07.18 at 12:38,  wrote:
> Level triggered interrupts are not an optional feature of HPET, and
> must be implemented in order to comply with the HPET specification.
> 
> Implement them by adding a callback to the timer which sets the
> interrupt bit in the general interrupt status register. Further
> interrupts (in case of periodic mode) will not be injected until the
> bit is cleared.
> 
> In order to reset the interrupts when the status bit is clear Xen must
> also detect accesses to such register.
> 
> While there convert tn and i in hpet_write to unsigned.
> 
> Reported-by: Stefan Bader 
> Signed-off-by: Roger Pau Monné 

Reviewed-by: Jan Beulich 


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v4 1/2] vpt: add support for level interrupts

2018-07-24 Thread Jan Beulich
>>> On 17.07.18 at 12:38,  wrote:
> Level trigger interrupts will be asserted regardless of whether the
> interrupt is masked, and thus the callback will also be executed.
> 
> Add a new 'level' parameter to create_periodic_time in order to create
> level triggered timers. None of the current users of vpt are switched
> to use level triggered interrupts yet.
> 
> Note that periodic level triggered interrupts are not supported. This
> is because level triggered interrupts always require a deassert of the
> IO-APIC pin, which should be done by the caller of vpt at which point
> the caller should also reset the timer if required.
> 
> Signed-off-by: Roger Pau Monné 

Reviewed-by: Jan Beulich 


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v7 08/12] arm: add ALL, QEMU, Rcar3 and MPSoC configs

2018-07-24 Thread Andrii Anisov

Hello Stefano,


On 07.07.18 02:13, Stefano Stabellini wrote:

Add a "Platform Support" choice with four kconfig options: QEMU, RCAR3,
MPSOC and ALL. They enable the required options for their hardware
platform. ALL enables all available platforms and it's the default. It
doesn't automatically select any of the related drivers, otherwise they
cannot be disabled. ALL is implemented by selecting hidden options
corresponding to QEMU, MPSOC and RCAR3.

In the case of the MPSOC that has a platform file under
arch/arm/platforms/, build the file if MPSOC.

Signed-off-by: Stefano Stabellini 
CC: artem_myga...@epam.com
CC: volodymyr_babc...@epam.com

---
Changes in v5:
- turn platform support into a choice
- add ALL

Changes in v4:
- fix GICv3/GICV3
- default y to all options
- build xilinx-zynqmp if MPSOC
---
  xen/arch/arm/Kconfig|  2 ++
  xen/arch/arm/platforms/Kconfig  | 55 +
  xen/arch/arm/platforms/Makefile |  2 +-
  3 files changed, 58 insertions(+), 1 deletion(-)
  create mode 100644 xen/arch/arm/platforms/Kconfig

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2b87111..75cacfb 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -213,6 +213,8 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
  config ARM32_HARDEN_BRANCH_PREDICTOR
  def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
  
+source "arch/arm/platforms/Kconfig"

+
  source "common/Kconfig"
  
  source "drivers/Kconfig"

diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
new file mode 100644
index 000..07c5930
--- /dev/null
+++ b/xen/arch/arm/platforms/Kconfig
@@ -0,0 +1,55 @@
+choice
+   prompt "Platform Support"
+   default ALL
+   ---help---
+   Choose which hardware platform to enable in Xen.
+
+   If unsure, choose ALL.
+
+config ALL
I would suggest to separate it into ALL_ARM32 and ALL_ARM64. Then, in a 
makefile use them for platforms instead of raw ARM32 and ARM64. This 
would make such change really useful: disabling ALL_x will drop all odd 
platform code.



+   bool "All Platforms"
+   select MPSOC_PLATFORM
+   select QEMU_PLATFORM
+   select RCAR3_PLATFORM
+   ---help---
+   Enable support for all available hardware platforms. It doesn't
+   automatically select any of the related drivers.
+
+config QEMU
+   bool "QEMU aarch virt machine support"
+   depends on ARM_64
+   select QEMU_PLATFORM
+   select GICV3
+   select HAS_PL011
+   ---help---
+   Enable all the required drivers for QEMU aarch64 virt emulated
+   machine.
+
+config RCAR3
+   bool "Renesas RCar3 support"
+   depends on ARM_64
+   select RCAR3_PLATFORM
+   select HAS_SCIF
+   ---help---
+   Enable all the required drivers for Renesas RCar3
+
+config MPSOC
+   bool "Xilinx Ultrascale+ MPSoC support"
+   depends on ARM_64
+   select MPSOC_PLATFORM
+   select HAS_CADENCE_UART
+   select ARM_SMMU
+   ---help---
+   Enable all the required drivers for Xilinx Ultrascale+ MPSoC
+
+endchoice
+
+config QEMU_PLATFORM
+   bool
+
+config RCAR3_PLATFORM
+   bool
+
+config MPSOC_PLATFORM

Shouldn't MPSOC_PLATFORM be dependent on ARM64?


+   bool
+
diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index 80e555c..a79bdb9 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -8,4 +8,4 @@ obj-$(CONFIG_ARM_64) += seattle.o
  obj-y += sunxi.o
  obj-$(CONFIG_ARM_64) += thunderx.o
  obj-$(CONFIG_ARM_64) += xgene-storm.o
-obj-$(CONFIG_ARM_64) += xilinx-zynqmp.o
+obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o

--

*Andrii Anisov*



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Andrew Cooper
On 24/07/18 10:57, Lars Kurth wrote:
>
> On 24/07/2018, 10:46, "Wei Liu"  wrote:
>
> On Tue, Jul 24, 2018 at 10:38:24AM +0100, Lars Kurth wrote:
> > 
> > 
> > > On 24 Jul 2018, at 10:24, Wei Liu  wrote:
> > > 
> > > On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
> > > On 23.07.18 at 18:40,  wrote:
> > >>> # How does this impact me?
> > >>> The contribution workflow is *not* impacted by this change, but 
> once up and 
> > >>> running the following will happen once you post a patch or patch 
> series to 
> > >>> xen-devel:
> > >>> * Patchwork will take patch series from the mailing list and 
> applies it
> > >>> * CI/DC testing is triggered
> > >>> * A test report will be sent as a mail to the patch or the series 
> (aka the 00 patch of the series)
> > >>> 
> > >>> This does mean though that series which do not build or show other 
> issues, 
> > >>> will likely not be reviewed until the tests pass. This would lessen 
> the 
> > >>> burden on reviewers, as they will know whether the code submitted 
> builds on a 
> > >>> wide array of environments. 
> > >> 
> > >> So how are dependencies between series intended to be dealt with? It
> > >> is not uncommon for someone to say "applies only on top of xyz". The
> > >> implication of "will likely not be reviewed until the tests pass" 
> seems
> > >> unsuitable to me in such a case.
> > >> 
> > > 
> > > We have been asking everyone to rebase to staging before posting a new
> > > version for a long time.  It is natural for the bot to assume that
> > > everything should apply on top of staging. That would provide most 
> value
> > > to the community.
> > > 
> > > For special cases like you just mention, we should aim to provide
> > > mechanisms to manually appoint a branch to be tested.
> > 
> > Wei, Doug: I have another question, which is mainly for my own 
> understanding. 
> > 
> > Right now we allow posting of patches to Linux, Qemu, xen.git,
> > OSSTEST, ... to xen-devel. The planned CI infrastructure only applies
> > to xen.git. Have you thought about how to handle such cases? 
> 
> No. I haven't.  We may be able to use some heuristics here.
> 
> Or an alternative would be to say: if you want to use the test bot then CC 
> xengit-test...@xenproject.org (or something like it) when you submit the 
> series. That would also get around Jan's issue with dependent series: you 
> would simply not add the CC, when you know it won't build without a 
> dependency.

If you require contributors to opt into automation, people will won't
know or forget, and reviewers will first have to ask people to submit
full series again CC'ing the correct bot.

-100 to any idea which requires an opt-in.  It should be active by default.

~Andrew

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [linux-4.9 test] 125511: regressions - FAIL

2018-07-24 Thread osstest service owner
flight 125511 linux-4.9 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125511/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemut-rhel6hvm-amd 12 guest-start/redhat.repeat fail REGR. vs. 
125183
 test-amd64-i386-xl-qemuu-ovmf-amd64 10 debian-hvm-install fail REGR. vs. 125183

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm 16 guest-localmigrate/x10 fail 
like 125156
 test-amd64-amd64-xl-qemut-win7-amd64 17 guest-stopfail like 125183
 test-amd64-i386-xl-qemuu-win7-amd64 17 guest-stop fail like 125183
 test-amd64-i386-xl-qemut-win7-amd64 17 guest-stop fail like 125183
 test-amd64-amd64-xl-qemuu-win7-amd64 17 guest-stopfail like 125183
 test-amd64-amd64-xl-qemuu-ws16-amd64 17 guest-stopfail like 125183
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 10 debian-hvm-install 
fail never pass
 test-amd64-amd64-xl-pvhv2-intel 12 guest-start fail never pass
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 10 debian-hvm-install 
fail never pass
 test-amd64-amd64-xl-pvhv2-amd 12 guest-start  fail  never pass
 test-amd64-amd64-libvirt-xsm 13 migrate-support-checkfail   never pass
 test-amd64-i386-xl-pvshim12 guest-start  fail   never pass
 test-arm64-arm64-xl-credit2  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-credit2  14 saverestore-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  14 saverestore-support-checkfail   never pass
 test-arm64-arm64-xl  13 migrate-support-checkfail   never pass
 test-arm64-arm64-libvirt-xsm 13 migrate-support-checkfail   never pass
 test-arm64-arm64-libvirt-xsm 14 saverestore-support-checkfail   never pass
 test-arm64-arm64-xl  14 saverestore-support-checkfail   never pass
 test-amd64-i386-libvirt-xsm  13 migrate-support-checkfail   never pass
 test-amd64-i386-libvirt  13 migrate-support-checkfail   never pass
 test-amd64-amd64-libvirt 13 migrate-support-checkfail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-amd64-amd64-qemuu-nested-amd 17 debian-hvm-install/l1/l2  fail never pass
 test-armhf-armhf-xl-arndale  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-arndale  14 saverestore-support-checkfail   never pass
 test-amd64-amd64-libvirt-vhd 12 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-cubietruck 13 migrate-support-checkfail never pass
 test-armhf-armhf-xl-cubietruck 14 saverestore-support-checkfail never pass
 test-armhf-armhf-xl  13 migrate-support-checkfail   never pass
 test-armhf-armhf-libvirt 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  14 saverestore-support-checkfail   never pass
 test-armhf-armhf-libvirt 14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-credit2  14 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-rtds 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-rtds 14 saverestore-support-checkfail   never pass
 test-amd64-amd64-xl-qemut-ws16-amd64 17 guest-stop fail never pass
 test-amd64-i386-xl-qemut-ws16-amd64 17 guest-stop  fail never pass
 test-amd64-i386-xl-qemuu-ws16-amd64 17 guest-stop  fail never pass
 test-armhf-armhf-libvirt-raw 12 migrate-support-checkfail   never pass
 test-armhf-armhf-libvirt-raw 13 saverestore-support-checkfail   never pass
 test-armhf-armhf-xl-multivcpu 13 migrate-support-checkfail  never pass
 test-armhf-armhf-xl-multivcpu 14 saverestore-support-checkfail  never pass
 test-armhf-armhf-xl-vhd  12 migrate-support-checkfail   never pass
 test-armhf-armhf-xl-vhd  13 saverestore-support-checkfail   never pass
 test-amd64-amd64-xl-qemut-win10-i386 10 windows-installfail never pass
 test-amd64-amd64-xl-qemuu-win10-i386 10 windows-installfail never pass
 test-amd64-i386-xl-qemuu-win10-i386 10 windows-install fail never pass
 test-amd64-i386-xl-qemut-win10-i386 10 windows-install fail never pass

version targeted for testing:
 linux19e5f4da1240dcc32cda9b9022308c1b4c72e1f1
baseline version:
 linux060744011e93679f03932f050619744be895b772

Last test of basis   125183  2018-07-15 16:46:53 Z8 days
Failing since125271  2018-07-17 10:12:19 Z7 days5 attempts
Testing same since   125511  2018-07-23 

[Xen-devel] [PATCH v2] xen/pv: Call get_cpu_address_sizes to set x86_virt/phys_bits

2018-07-24 Thread M. Vefa Bicakci
Commit d94a155c59c9 ("x86/cpu: Prevent cpuinfo_x86::x86_phys_bits
adjustment corruption") has moved the query and calculation of the
x86_virt_bits and x86_phys_bits fields of the cpuinfo_x86 struct
from the get_cpu_cap function to a new function named
get_cpu_address_sizes.

One of the call sites related to Xen PV VMs was unfortunately missed
in the aforementioned commit. This prevents successful boot-up of
kernel versions 4.17 and up in Xen PV VMs if CONFIG_DEBUG_VIRTUAL
is enabled, due to the following code path:

  enlighten_pv.c::xen_start_kernel
mmu_pv.c::xen_reserve_special_pages
  page.h::__pa
physaddr.c::__phys_addr
  physaddr.h::phys_addr_valid

phys_addr_valid uses boot_cpu_data.x86_phys_bits to validate physical
addresses. boot_cpu_data.x86_phys_bits is no longer populated before
the call to xen_reserve_special_pages due to the aforementioned commit
though, so the validation performed by phys_addr_valid fails, which
causes __phys_addr to trigger a BUG, preventing boot-up.

Signed-off-by: M. Vefa Bicakci 
Cc: "Kirill A. Shutemov" 
Cc: Andy Lutomirski 
Cc: Ingo Molnar 
Cc: "H. Peter Anvin" 
Cc: Thomas Gleixner 
Cc: Boris Ostrovsky 
Cc: Juergen Gross 
Cc: xen-devel@lists.xenproject.org
Cc: x...@kernel.org
Cc: sta...@vger.kernel.org # for v4.17 and up
Fixes: d94a155c59c9 ("x86/cpu: Prevent cpuinfo_x86::x86_phys_bits adjustment 
corruption")

---

Changes since v1:
- Move the call to get_cpu_address_sizes below the call to
  x86_configure_nx.
- Amend the commit message to describe why PV VMs do not boot up
  successfully when CONFIG_DEBUG_VIRTUAL is enabled.
---
 arch/x86/kernel/cpu/common.c | 2 +-
 arch/x86/kernel/cpu/cpu.h| 1 +
 arch/x86/xen/enlighten_pv.c  | 3 +++
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index f73fa6f6d85e..dd282482de09 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -911,7 +911,7 @@ void get_cpu_cap(struct cpuinfo_x86 *c)
apply_forced_caps(c);
 }
 
-static void get_cpu_address_sizes(struct cpuinfo_x86 *c)
+void get_cpu_address_sizes(struct cpuinfo_x86 *c)
 {
u32 eax, ebx, ecx, edx;
 
diff --git a/arch/x86/kernel/cpu/cpu.h b/arch/x86/kernel/cpu/cpu.h
index 38216f678fc3..12a5f0cec0b2 100644
--- a/arch/x86/kernel/cpu/cpu.h
+++ b/arch/x86/kernel/cpu/cpu.h
@@ -46,6 +46,7 @@ extern const struct cpu_dev *const __x86_cpu_dev_start[],
*const __x86_cpu_dev_end[];
 
 extern void get_cpu_cap(struct cpuinfo_x86 *c);
+extern void get_cpu_address_sizes(struct cpuinfo_x86 *c);
 extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c);
 extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c);
 extern u32 get_scattered_cpuid_leaf(unsigned int level,
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 105a57d73701..ee3b00c7acda 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1256,6 +1256,9 @@ asmlinkage __visible void __init xen_start_kernel(void)
get_cpu_cap(_cpu_data);
x86_configure_nx();
 
+   /* Determine virtual and physical address sizes */
+   get_cpu_address_sizes(_cpu_data);
+
/* Let's presume PV guests always boot on vCPU with id 0. */
per_cpu(xen_vcpu_id, 0) = 0;
 
-- 
2.17.1


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Lars Kurth


On 24/07/2018, 13:00, "Jan Beulich"  wrote:

>>> On 24.07.18 at 13:48,  wrote:
> In my personal opinion, just sending CI email as "reply-all" is fine. I
> do not mind having an extra email per patch in my mailbox.

This is exactly what I'm afraid of - when you're Cc-ed on a lot of
patches, you may then also get a lot of mails here. And no, other
than suggested elsewhere, I'm never going to have a rule to push
all mails matching certain criteria right into trash - there's always
the risk of a false positive. It is imo _always_ the sending side
which needs to judge who needs to be on the To/Cc lists of a mail,
never the receiving side to "paper over" mistakes the sender has
made.

I believe there is quite a bit of freedom on how we would implement this.

@Doug: please correct me if this is wrong.

For example: we could do something like the following
* Contributor sends series to xen-devel@ (or if necessary to some 
alias or a different new list)
* Patchbot to take mail off list and run the tests
* Patchbot to augment the original mail(s) with embedded 
test results and/or Tested-by: tags to and send it to xen-devel@
* Augmented mail to be sent to xen-devel@ as if it came from
sender - although this may cause problems with some mail
clients

Or we could push the burden onto the contributor, e.g.
* Contributor to send series to test service 
* Contributor will get results (including some URL pointing to results)
* If succeeded or there is another good reason to send the series: 
Contributor to send mail to xen-devel@ with a reference to the results 
in the patch

Lars




___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH 2/2] xen/pv: Call get_cpu_address_sizes to set x86_virt/phys_bits

2018-07-24 Thread M. Vefa Bicakci

On 07/23/2018 11:04 AM, Boris Ostrovsky wrote:

On 07/22/2018 11:57 AM, M. Vefa Bicakci wrote:

On 07/21/2018 07:17 PM, M. Vefa Bicakci wrote:

On 07/21/2018 05:25 PM, Boris Ostrovsky wrote:

On 07/21/2018 03:49 PM, M. Vefa Bicakci wrote:

diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 439a94bf89ad..87afb000142a 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1257,6 +1257,7 @@ asmlinkage __visible void __init
xen_start_kernel(void)
   /* Work out if we support NX */
   get_cpu_cap(_cpu_data);
+    get_cpu_address_sizes(_cpu_data);
   x86_configure_nx();



Have you observed any problems without this call? get_cpu_cap() is only
called here to set X86_FEATURE_NX, and is then called again, together
with get_cpu_address_sizes(), from early_identify_cpu().


Thank you for the reviews! Without the call to get_cpu_address_sizes,
paravirtualized virtual machines do not boot up kernels with versions
4.17 and up at all; this includes dom0 and domU. No domU logs are
generated in dom0's /var/log/xen/console/ directory either, despite
having earlyprintk=xen on the kernel command line for my test domU.


Hello Boris,

I debugged this further with a debugging version of Xen (so that I can
get early kernel print-outs via the "xen_raw_console_write" function),
and I found the root cause of the boot up failure.

In summary, the issue is due to the following call path in version
4.17 (and higher, I assume), which the kernel goes through /only/ when
CONFIG_DEBUG_VIRTUAL is enabled:

enlighten_pv.c::xen_start_kernel
   mmu_pv.c::xen_reserve_special_pages
     page.h::__pa
   physaddr.c::__phys_addr
     physaddr.h::phys_addr_valid // uses boot_cpu_data.x86_phys_bits

The return value of phys_addr_valid is used with the VIRTUAL_BUG_ON
macro,
which evaluates to BUG_ON in case CONFIG_DEBUG_VIRTUAL is enabled.



Ah, that's why it hasn't been detected.




It looks like the call to get_cpu_address_size is required in the
xen_start_kernel function. Perhaps there is a more elegant way to
resolve this issue as well.

Another approach could be to check in the phys_addr_valid function
whether
boot_cpu_data.x86_phys_bits has been initialized or not, I think, but
I am
not sure about the correctness of this approach.



No, I think your patch is good. The only thing I'd suggest is to move
the call a few lines down. The way it is placed now may create
impression that we are calling get_cpu_address_sizes() to figure out NX
support.


Sorry for the delay, and thank you for your comments! I will
send an updated version of this patch in a few moments.

Vefa

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] x86/pvh: change the order of the iommu initialization for Dom0

2018-07-24 Thread Jan Beulich
>>> On 24.07.18 at 13:29,  wrote:
> The iommu initialization will also create MMIO mappings in the Dom0
> p2m, so the paging memory pool needs to be allocated or else iommu
> initialization will fail.
> 
> Move the call to init the iommu after the Dom0 p2m has been setup in
> order to solve this.
> 
> Note that issues caused by this wrong ordering have only been seen
> when using shadow paging.
> 
> Signed-off-by: Roger Pau Monné 

Acked-by: Jan Beulich 


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2 02/21] xen/arm: make allocate_memory work for non 1:1 mapped guests

2018-07-24 Thread Andrii Anisov

Hello Stefano,


On 23.07.18 21:32, Stefano Stabellini wrote:

also the GIC and timer addresses need to be configurable.
I don't remember we ever had a problem with them. But yes, this should 
be configurable as well.



I usually refer to this (future) feature as arbitrary guest memory map.

I see.

--

*Andrii Anisov*



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v4] x86/mm: Add mem access rights to NPT

2018-07-24 Thread Jan Beulich
>>> On 24.07.18 at 13:26,  wrote:
> On 07/24/2018 09:55 AM, Jan Beulich wrote:
> On 23.07.18 at 15:48,  wrote:
>>> --- a/xen/arch/x86/mm/mem_access.c
>>> +++ b/xen/arch/x86/mm/mem_access.c
>>> @@ -221,12 +221,12 @@ bool p2m_mem_access_check(paddr_t gpa, unsigned long 
> gla,
>>>  {
>>>  req->u.mem_access.flags |= MEM_ACCESS_GLA_VALID;
>>>  req->u.mem_access.gla = gla;
>>> -
>>> -if ( npfec.kind == npfec_kind_with_gla )
>>> -req->u.mem_access.flags |= MEM_ACCESS_FAULT_WITH_GLA;
>>> -else if ( npfec.kind == npfec_kind_in_gpt )
>>> -req->u.mem_access.flags |= MEM_ACCESS_FAULT_IN_GPT;
>>>  }
>>> +
>>> +if ( npfec.kind == npfec_kind_with_gla )
>>> +req->u.mem_access.flags |= MEM_ACCESS_FAULT_WITH_GLA;
>>> +else if ( npfec.kind == npfec_kind_in_gpt )
>>> +req->u.mem_access.flags |= MEM_ACCESS_FAULT_IN_GPT;
>> 
>> Without explanation in the commit message and without comment
>> this change is a no-go imo: I consider it at least questionable to
>> have npfec_kind_with_gla without .gla_valid set to true. Perhaps
>> it's just a naming issue, but that would then still require half a
>> sentence to explain.
> 
> The naming here is confusing, but it seems to be based on the AMD manual
> naming convention (IIRC from my skim through the manual last week).
> "With gla" in this context means, "The nested fault happend while trying
> to translate the final guest linear address of the access", as opposed
> to "The nested fault happend while trying to translate one of the page
> tables, before the guest linear address for the virtual address could be
> calculated."  It's a perfectly valid setting on AMD box, in spite of the
> fact that AMD doesn't report the virt -> gla translation.
> 
> I'd be in favor of renaming the variable, but that shouldn't be
> Alexandru's job.
> 
> What about adding a comment like this:
> 
> "Naming is confusing here; 'with_gla' simply means the fault happened as
> the result of a translating the final gla, as opposed to translating one
> of the pagetables."

Yes, that would clarify thnigs enough, I think.

>>> +{
>>> +xfree(d->arch.monitor.msr_bitmap);
>>> +return -ENOMEM;
>>> +}
>>> +radix_tree_init(p2m->mem_access_settings);
>>> +}
>> 
>> What's the SVM connection here? Please don't forget that p2m-pt.c
>> also serves the shadow case. Perhaps struct p2m_domain should
>> contain a boolean indicator whether this auxiliary data structure is
>> needed?
> 
> It's basically just "hap_enabled()" isn't it?

Only if we can't make it there when EPT is active.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Jan Beulich
>>> On 24.07.18 at 13:48,  wrote:
> In my personal opinion, just sending CI email as "reply-all" is fine. I
> do not mind having an extra email per patch in my mailbox.

This is exactly what I'm afraid of - when you're Cc-ed on a lot of
patches, you may then also get a lot of mails here. And no, other
than suggested elsewhere, I'm never going to have a rule to push
all mails matching certain criteria right into trash - there's always
the risk of a false positive. It is imo _always_ the sending side
which needs to judge who needs to be on the To/Cc lists of a mail,
never the receiving side to "paper over" mistakes the sender has
made.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Yuri Volchkov
Hi All!

Lars Kurth  writes:

> On 24/07/2018, 10:06, "Jan Beulich"  wrote:
> >>> On 23.07.18 at 18:40,  wrote:
> > This does mean though that series which do not build or show other 
> issues, 
> > will likely not be reviewed until the tests pass. This would lessen the 
> > burden on reviewers, as they will know whether the code submitted 
> builds on a 
> > wide array of environments. 
> 
> So how are dependencies between series intended to be dealt with? It
> is not uncommon for someone to say "applies only on top of xyz". The
> implication of "will likely not be reviewed until the tests pass" seems
> unsuitable to me in such a case.
>
> We should look at how this is done in communities which have systems in place 
> that do some off-list verification of patches, such as qemu and linux (0 day 
> test service). 
>
> Obviously in such cases the test bot would return results for a fail. The 
> sensible thing to do would be the following:
> * For the submitter of the patch to notify the reviewer(s) to highlight the 
> test failure/dependency 
> * For the reviewer to spot the dependency
This would probably make sense to send notification to the address from
which the Patchwork gets emails for parsing. In case of successfully
passed test, the bot can send an email with "Tested-by" tag, which will
appear automatically in the commit message in the patchwork (similar to
"Reviewed-by").

If you do not want to have "Tested-by ci-bot", just email with free text
would be fine, because it will appear on the Patchwork's web interface
anyways. In such a case, we could even send CI messages *only* to the
patchwork, without flooding the mailing list. And whoever interested in
reviewing the patch, will just look up the email from the bot on the web
page related to this patch.

In my personal opinion, just sending CI email as "reply-all" is fine. I
do not mind having an extra email per patch in my mailbox.

--Yuri.

>
> In any case, the reviewer would have to decide whether to review a series 
> which cannot be automatically build tested off list at that stage. 
>
> Thinking about it a bit more, there are also two places at which things can 
> go wrong:
> a) Failure to apply the patch => this would probably be the most likely 
> outcome with a dependency
> b) Failure to build => if there was a missing dependency then probably fail 
> in ALL build environments
>
> In other words, there should be some tell-tales for this case, which can 
> probably be highlighted in the bot results
>
> Regards
> Lars
> 
>
> ___
> Minios-devel mailing list
> minios-de...@lists.xenproject.org
> https://lists.xenproject.org/mailman/listinfo/minios-devel

-- 
Yuri Volchkov
Software Specialist

NEC Europe Ltd
Kurfürsten-Anlage 36
D-69115 Heidelberg

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [xen-unstable-smoke test] 125541: tolerable all pass - PUSHED

2018-07-24 Thread osstest service owner
flight 125541 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125541/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm  13 migrate-support-checkfail   never pass
 test-arm64-arm64-xl-xsm  14 saverestore-support-checkfail   never pass
 test-amd64-amd64-libvirt 13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  13 migrate-support-checkfail   never pass
 test-armhf-armhf-xl  14 saverestore-support-checkfail   never pass

version targeted for testing:
 xen  6e2a53afa15422ee290663dbb798c085ef7068ed
baseline version:
 xen  61bdddb82151fbf51c58f6ebc1b4a687942c45a8

Last test of basis   125521  2018-07-23 14:01:00 Z0 days
Testing same since   125541  2018-07-24 09:00:34 Z0 days1 attempts


People who touched revisions under test:
  Andrew Cooper 
  Christian Lindig 
  Wei Liu 

jobs:
 build-arm64-xsm  pass
 build-amd64  pass
 build-armhf  pass
 build-amd64-libvirt  pass
 test-armhf-armhf-xl  pass
 test-arm64-arm64-xl-xsm  pass
 test-amd64-amd64-xl-qemuu-debianhvm-i386 pass
 test-amd64-amd64-libvirt pass



sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   61bdddb821..6e2a53afa1  6e2a53afa15422ee290663dbb798c085ef7068ed -> smoke

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [distros-debian-snapshot test] 75000: regressions - FAIL

2018-07-24 Thread Platform Team regression test user
flight 75000 distros-debian-snapshot real [real]
http://osstest.xensource.com/osstest/logs/75000/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-i386-daily-netboot-pygrub 11 guest-start fail REGR. vs. 74981
 test-amd64-i386-amd64-daily-netboot-pygrub 10 debian-di-install fail REGR. vs. 
74981

Tests which did not succeed, but are not blocking:
 test-amd64-i386-i386-daily-netboot-pvgrub 11 guest-start fail blocked in 74981
 test-amd64-i386-amd64-weekly-netinst-pygrub 10 debian-di-install fail like 
74981
 test-amd64-i386-i386-weekly-netinst-pygrub 10 debian-di-install fail like 74981
 test-amd64-amd64-amd64-daily-netboot-pvgrub 11 guest-start fail like 74981
 test-amd64-amd64-i386-weekly-netinst-pygrub 10 debian-di-install fail like 
74981
 test-amd64-amd64-amd64-weekly-netinst-pygrub 10 debian-di-install fail like 
74981
 test-amd64-i386-amd64-current-netinst-pygrub 10 debian-di-install fail like 
74981
 test-amd64-amd64-amd64-current-netinst-pygrub 10 debian-di-install fail like 
74981
 test-armhf-armhf-armhf-daily-netboot-pygrub 10 debian-di-install fail like 
74981
 test-amd64-i386-i386-current-netinst-pygrub 10 debian-di-install fail like 
74981
 test-amd64-amd64-i386-current-netinst-pygrub 10 debian-di-install fail like 
74981

baseline version:
 flight   74981

jobs:
 build-amd64  pass
 build-armhf  pass
 build-i386   pass
 build-amd64-pvopspass
 build-armhf-pvopspass
 build-i386-pvops pass
 test-amd64-amd64-amd64-daily-netboot-pvgrub  fail
 test-amd64-i386-i386-daily-netboot-pvgrubfail
 test-amd64-i386-amd64-daily-netboot-pygrub   fail
 test-armhf-armhf-armhf-daily-netboot-pygrub  fail
 test-amd64-amd64-i386-daily-netboot-pygrub   fail
 test-amd64-amd64-amd64-current-netinst-pygrubfail
 test-amd64-i386-amd64-current-netinst-pygrub fail
 test-amd64-amd64-i386-current-netinst-pygrub fail
 test-amd64-i386-i386-current-netinst-pygrub  fail
 test-amd64-amd64-amd64-weekly-netinst-pygrub fail
 test-amd64-i386-amd64-weekly-netinst-pygrub  fail
 test-amd64-amd64-i386-weekly-netinst-pygrub  fail
 test-amd64-i386-i386-weekly-netinst-pygrub   fail



sg-report-flight on osstest.xs.citrite.net
logs: /home/osstest/logs
images: /home/osstest/images

Logs, config files, etc. are available at
http://osstest.xensource.com/osstest/logs

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


Push not applicable.


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [PATCH] x86/pvh: change the order of the iommu initialization for Dom0

2018-07-24 Thread Roger Pau Monne
The iommu initialization will also create MMIO mappings in the Dom0
p2m, so the paging memory pool needs to be allocated or else iommu
initialization will fail.

Move the call to init the iommu after the Dom0 p2m has been setup in
order to solve this.

Note that issues caused by this wrong ordering have only been seen
when using shadow paging.

Signed-off-by: Roger Pau Monné 
---
Cc: Jan Beulich 
Cc: Andrew Cooper 
---
 xen/arch/x86/hvm/dom0_build.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 9a833fa4b9..f0cd63b1ec 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -1093,8 +1093,6 @@ int __init dom0_construct_pvh(struct domain *d, const 
module_t *image,
 
 printk(XENLOG_INFO "*** Building a PVH Dom%d ***\n", d->domain_id);
 
-iommu_hwdom_init(d);
-
 rc = pvh_setup_p2m(d);
 if ( rc )
 {
@@ -1102,6 +1100,8 @@ int __init dom0_construct_pvh(struct domain *d, const 
module_t *image,
 return rc;
 }
 
+iommu_hwdom_init(d);
+
 rc = pvh_load_kernel(d, image, image_headroom, initrd, 
bootstrap_map(image),
  cmdline, , _info);
 if ( rc )
-- 
2.18.0


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v4] x86/mm: Add mem access rights to NPT

2018-07-24 Thread George Dunlap
On 07/24/2018 09:55 AM, Jan Beulich wrote:
 On 23.07.18 at 15:48,  wrote:
>> --- a/xen/arch/x86/mm/mem_access.c
>> +++ b/xen/arch/x86/mm/mem_access.c
>> @@ -221,12 +221,12 @@ bool p2m_mem_access_check(paddr_t gpa, unsigned long 
>> gla,
>>  {
>>  req->u.mem_access.flags |= MEM_ACCESS_GLA_VALID;
>>  req->u.mem_access.gla = gla;
>> -
>> -if ( npfec.kind == npfec_kind_with_gla )
>> -req->u.mem_access.flags |= MEM_ACCESS_FAULT_WITH_GLA;
>> -else if ( npfec.kind == npfec_kind_in_gpt )
>> -req->u.mem_access.flags |= MEM_ACCESS_FAULT_IN_GPT;
>>  }
>> +
>> +if ( npfec.kind == npfec_kind_with_gla )
>> +req->u.mem_access.flags |= MEM_ACCESS_FAULT_WITH_GLA;
>> +else if ( npfec.kind == npfec_kind_in_gpt )
>> +req->u.mem_access.flags |= MEM_ACCESS_FAULT_IN_GPT;
> 
> Without explanation in the commit message and without comment
> this change is a no-go imo: I consider it at least questionable to
> have npfec_kind_with_gla without .gla_valid set to true. Perhaps
> it's just a naming issue, but that would then still require half a
> sentence to explain.

The naming here is confusing, but it seems to be based on the AMD manual
naming convention (IIRC from my skim through the manual last week).
"With gla" in this context means, "The nested fault happend while trying
to translate the final guest linear address of the access", as opposed
to "The nested fault happend while trying to translate one of the page
tables, before the guest linear address for the virtual address could be
calculated."  It's a perfectly valid setting on AMD box, in spite of the
fact that AMD doesn't report the virt -> gla translation.

I'd be in favor of renaming the variable, but that shouldn't be
Alexandru's job.

What about adding a comment like this:

"Naming is confusing here; 'with_gla' simply means the fault happened as
the result of a translating the final gla, as opposed to translating one
of the pagetables."

[snip]
>> +{
>> +xfree(d->arch.monitor.msr_bitmap);
>> +return -ENOMEM;
>> +}
>> +radix_tree_init(p2m->mem_access_settings);
>> +}
> 
> What's the SVM connection here? Please don't forget that p2m-pt.c
> also serves the shadow case. Perhaps struct p2m_domain should
> contain a boolean indicator whether this auxiliary data structure is
> needed?

It's basically just "hap_enabled()" isn't it?

 -George

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2 18/21] xen/arm: Allow vpl011 to be used by DomU

2018-07-24 Thread Julien Grall

Hi Stefano,

On 07/07/18 00:12, Stefano Stabellini wrote:

Make vpl011 being able to be used without a userspace component in Dom0.
In that case, output is printed to the Xen serial and input is received
from the Xen serial one character at a time.

Call domain_vpl011_init during construct_domU if vpl011 is enabled.

Introduce a new ring struct with only the ring array to avoid a waste of
memory. Introduce separate read_date and write_data functions for
initial domains: vpl011_write_data_noring is very simple and just writes
to the console, while vpl011_read_data_inring is a duplicate of
vpl011_read_data. Although textually almost identical, we are forced to
duplicate the functions because the struct layout is different.


Looking at the patches applied, I think there need some more comments in 
the code to help a reader differentiate which method is used.




Signed-off-by: Stefano Stabellini 
---
Changes in v2:
- only init if vpl011
- rename vpl011_read_char to vpl011_rx_char
- remove spurious change
- fix coding style
- use different ring struct
- move the write_data changes to their own function
   (vpl011_write_data_noring)
- duplicate vpl011_read_data
---
  xen/arch/arm/domain_build.c  |  10 ++-
  xen/arch/arm/vpl011.c| 185 ++-
  xen/include/asm-arm/vpl011.h |  10 +++
  3 files changed, 182 insertions(+), 23 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 718be48..d7e9040 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2531,7 +2531,15 @@ static int __init construct_domU(struct domain *d, 
struct dt_device_node *node)
  if ( rc < 0 )
  return rc;
  
-return __construct_domain(d, );

+rc = __construct_domain(d, );
+if ( rc < 0 )
+return rc;
+
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+if ( vpl011 )
+rc = domain_vpl011_init(d, NULL);
+#endif
I don't think the #ifdef is necessary here. We want to return an error 
when vpl011 is set but not the emulation compiled in.



+return rc;
  }
  
  int __init construct_dom0(struct domain *d)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index e75957f..d4aab64 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -83,6 +83,111 @@ static void vpl011_update_interrupt_status(struct domain *d)
  #endif
  }
  
+void vpl011_rx_char(struct domain *d, char c)


Please add documentation explain what the use of this function. I would 
also rename it to clarify who can call it (i.e only in the case when the 
backend is in Xen).



+{
+unsigned long flags;
+struct vpl011 *vpl011 = >arch.vpl011;
+struct xencons_in *intf = vpl011->inring;
+XENCONS_RING_IDX in_cons, in_prod, in_fifo_level;
+


ASSERT(!vpl011->ring_enable);


+VPL011_LOCK(d, flags);
+
+in_cons = intf->in_cons;
+in_prod = intf->in_prod;
+if ( xencons_queued(in_prod, in_cons, sizeof(intf->in)) == 
sizeof(intf->in) )
+{
+VPL011_UNLOCK(d, flags);
+return;
+}
+
+intf->in[xencons_mask(in_prod, sizeof(intf->in))] = c;
+intf->in_prod = in_prod + 1;
+
+in_fifo_level = xencons_queued(in_prod,
+   in_cons,
+   sizeof(intf->in));
+
+vpl011_data_avail(d, in_fifo_level, sizeof(intf->in), 0, 1024);


Where does the 1024 come from? Most likely, you want a define for it.


+VPL011_UNLOCK(d, flags);
+}
+
+static void vpl011_write_data_noring(struct domain *d, uint8_t data)
+{
+unsigned long flags;
+struct vpl011 *vpl011 = >arch.vpl011;
+
+VPL011_LOCK(d, flags);
+
+printk("%c", data);
+if (data == '\n')
+printk("DOM%u: ", d->domain_id);


You want to buffer the characters here and only print on newline or when 
the buffer is full. Otherwise characters will get mangled with the Xen 
console output or other domains output.



+
+vpl011->uartris |= TXI;
+vpl011->uartfr &= ~TXFE;
+vpl011_update_interrupt_status(d);
+
+VPL011_UNLOCK(d, flags);
+}
+
+static uint8_t vpl011_read_data_inring(struct domain *d)
+{


I think you can avoid the duplication here by using a macro.


+unsigned long flags;
+uint8_t data = 0;
+struct vpl011 *vpl011 = >arch.vpl011;
+struct xencons_in *intf = vpl011->inring;
+XENCONS_RING_IDX in_cons, in_prod;
+
+VPL011_LOCK(d, flags);
+
+in_cons = intf->in_cons;
+in_prod = intf->in_prod;
+
+smp_rmb();
+
+/*
+ * It is expected that there will be data in the ring buffer when this
+ * function is called since the guest is expected to read the data register
+ * only if the TXFE flag is not set.
+ * If the guest still does read when TXFE bit is set then 0 will be 
returned.
+ */
+if ( xencons_queued(in_prod, in_cons, sizeof(intf->in)) > 0 )
+{
+unsigned int fifo_level;
+
+data = intf->in[xencons_mask(in_cons, sizeof(intf->in))];
+in_cons += 1;
+smp_mb();
+   

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Julien Grall

Hi Lars,

On 24/07/18 11:33, Lars Kurth wrote:


On 24/07/2018, 11:19, "Wei Liu"  wrote:
 On Tue, Jul 24, 2018 at 04:04:05AM -0600, Jan Beulich wrote:
 > I'm afraid my personal bar for any such automation is pretty
 > high: There must not ever be any negative effect from such an
 > addition. Positive effects would of course be very welcome. I
 > realize this is an unrealistic goal, but it should at least come
 > close (perhaps after some initial learning phase). But this implies
 > that at least in theory it is possible to come close in the first
 > place, which I can't take for given with the information I've been
 > provided so far.
 
 Then I'm afraid the only suggestion I get for you at the moment is to

 add a filter to dump those emails to /dev/null -- you already realised
 that's an unrealistic goal (at least at the beginning).
 
 Wei.
 
First of all, there should only be mail (aka spam) if there was a failure.


This seems a little strange to only send e-mail on failure. How do you 
differentiate between the bot has successfully tested that series and 
the series is still in queue then?


Cheers,

--
Julien Grall

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Lars Kurth

On 24/07/2018, 11:19, "Wei Liu"  wrote:
On Tue, Jul 24, 2018 at 04:04:05AM -0600, Jan Beulich wrote:
> I'm afraid my personal bar for any such automation is pretty
> high: There must not ever be any negative effect from such an
> addition. Positive effects would of course be very welcome. I
> realize this is an unrealistic goal, but it should at least come
> close (perhaps after some initial learning phase). But this implies
> that at least in theory it is possible to come close in the first
> place, which I can't take for given with the information I've been
> provided so far.

Then I'm afraid the only suggestion I get for you at the moment is to
add a filter to dump those emails to /dev/null -- you already realised
that's an unrealistic goal (at least at the beginning).

Wei.

First of all, there should only be mail (aka spam) if there was a failure. 

Hopefully such failures will be fairly rare in the long term: as people 
learn that  they are expected to submit patches that build on all 
platforms, one  would expect that they test this *before* submitting 
patches.

And maybe we can gradually phase this in: aka have the contributor 
add something like CC xengit-test...@xenproject.org to the series.
At some point later, we could always trigger a CI build. Or we could 
add a tag in the subject line, e.g. [CI-TESTED PATCH ...] or something 
like it, which triggers the test run.

Maybe it would also be possible that contributors can send patches
to xengit-test...@xenproject.org without CC'ing xen-devel
to test whether their patches would pass the CI test. Or provide 
some alternative to doing so. 

Regards
Lars


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH 3/6] x86/HVM: implement memory read caching

2018-07-24 Thread Jan Beulich
>>> On 19.07.18 at 16:20,  wrote:
>> From: Jan Beulich [mailto:jbeul...@suse.com]
>> Sent: 19 July 2018 11:49
>> @@ -1046,6 +1060,8 @@ static int __hvmemul_read(
>>  pfec |= PFEC_implicit;
>>  else if ( hvmemul_ctxt->seg_reg[x86_seg_ss].dpl == 3 )
>>  pfec |= PFEC_user_mode;
>> +if ( access_type == hvm_access_insn_fetch )
>> +pfec |= PFEC_insn_fetch;
> 
> Since you OR the insn_fetch flag in here...
> 
>> 
>>  rc = hvmemul_virtual_to_linear(
>>  seg, offset, bytes, , access_type, hvmemul_ctxt, );
>> @@ -1059,7 +1075,8 @@ static int __hvmemul_read(
>> 
>>  rc = ((access_type == hvm_access_insn_fetch) ?
>>hvm_fetch_from_guest_linear(p_data, addr, bytes, pfec, ) :
> 
> ...could you not just use hvm_copy_from_guest_linear() here regardless of 
> access_type (and just NULL out the cache argument if it is an insn_fetch)?
> 
> AFAICT the only reason hvm_fetch_from_guest_linear() exists is to OR the 
> extra flag in.

Well, technically it looks like I indeed could. I'm not sure that's good idea
though - the visual separation of "copy" vs "fetch" is helpful I think. Let's
see if I get any opinions by others in one or the other direction.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] x86/svm: Drop the suggestion of Long Mode Segment Limit support

2018-07-24 Thread Wei Liu
On Mon, Jul 23, 2018 at 03:42:37PM +0100, Andrew Cooper wrote:
> Because of a bug in 2010, LMSL support didn't functioned in Xen.
> 
> c/s f2c608444 noticed but avoided fixing the issue for migration reasons.  In
> addition to migration problems, changes to the segmentation logic for
> emulation would be needed before the feature could be enabled.
> 
> This feature is entirely unused by operating systems (probably owing to its
> semantics which only cover half the segment registers), and no one has
> commented on its absence from Xen.  As supporting it would involve a large
> amount of effort, it seems better to remove the code entirely.
> 
> If someone finds a valid usecase, we can resurrecting the code and
> implementing the remaining parts, but I doubt anyone will.
> 
> Signed-off-by: Andrew Cooper 

Reviewed-by: Wei Liu 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Wei Liu
On Tue, Jul 24, 2018 at 04:04:05AM -0600, Jan Beulich wrote:
> >>> On 24.07.18 at 11:43,  wrote:
> > On Tue, Jul 24, 2018 at 03:34:51AM -0600, Jan Beulich wrote:
> >> >>> On 24.07.18 at 11:24,  wrote:
> >> > On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
> >> >> >>> On 23.07.18 at 18:40,  wrote:
> >> >> > # How does this impact me?
> >> >> > The contribution workflow is *not* impacted by this change, but once 
> >> >> > up and 
> >> > 
> >> >> > running the following will happen once you post a patch or patch 
> >> >> > series to 
> >> >> > xen-devel:
> >> >> > * Patchwork will take patch series from the mailing list and applies 
> >> >> > it
> >> >> > * CI/DC testing is triggered
> >> >> > * A test report will be sent as a mail to the patch or the series 
> >> >> > (aka the 00 patch of the series)
> >> >> > 
> >> >> > This does mean though that series which do not build or show other 
> >> >> > issues, 
> >> >> > will likely not be reviewed until the tests pass. This would lessen 
> >> >> > the 
> >> >> > burden on reviewers, as they will know whether the code submitted 
> >> >> > builds on a 
> >> >> > wide array of environments. 
> >> >> 
> >> >> So how are dependencies between series intended to be dealt with? It
> >> >> is not uncommon for someone to say "applies only on top of xyz". The
> >> >> implication of "will likely not be reviewed until the tests pass" seems
> >> >> unsuitable to me in such a case.
> >> >> 
> >> > 
> >> > We have been asking everyone to rebase to staging before posting a new
> >> > version for a long time.  It is natural for the bot to assume that
> >> > everything should apply on top of staging. That would provide most value
> >> > to the community.
> >> > 
> >> > For special cases like you just mention, we should aim to provide
> >> > mechanisms to manually appoint a branch to be tested.
> >> 
> >> I'm afraid I disagree again: Tools used should not be dictated. I'm
> >> using quilt, not git for my work, and hence I don't maintain any
> >> branches anywhere.
> > 
> > Alright.
> > 
> > First, I don't think I said that only git would be supported.
> > Git is the most prevalent VCS nowadays, and most developers use it, so
> > it would make sense to support it first.  If you want quilt, we can
> > certainly look into that. But I'm afraid if you don't say what you
> > specifically need, nothing can be done in that regard.
> 
> Well, if you thought of other than git, then I'm afraid I lack
> understanding of where such a "branch" should be coming from.

Well even CVS has the concept of branch. Mercurial also has branch (but
not the same as git branch). But I admit I was mostly thinking about git
branches. It would be strange for me to not think about git as first
approximation because Xen uses git as the official VCS.

Anyway, I don't see much point in arguing this more. I can only say this
again: if you want other tools, this can be done in principle, but at
the very least you need to provide insight on your workflow, and the
community will see about what to do.

> My first and foremost requirement is that, as stated pretty close
> to the top, the contribution workflow be *not* impacted. Any
> setting up of anything that I'd need to do would be contrary to
> that.
> 

If you don't use it, you don't need to set up anything (other than a
filter?), you won't be impacted. Does this make sense?

> > Second, it is up to individual whether they want to use a certain tool
> > or not. If you don't want to use this infrastructure for whatever
> > reason, that's OK. You're only missing out all the work in the community
> > has done, but you should be able to use your own workflow just fine.
> 
> Then I maybe misunderstood Lars'es mail: I've gained the
> impression that the picking up of patches would be automatic,
> i.e. without me telling to system to do so. As it would presumably
> send its (failure) mails back to the author, I'd expect to get what
> effectively is spam in the described case.
> 
> I'm afraid my personal bar for any such automation is pretty
> high: There must not ever be any negative effect from such an
> addition. Positive effects would of course be very welcome. I
> realize this is an unrealistic goal, but it should at least come
> close (perhaps after some initial learning phase). But this implies
> that at least in theory it is possible to come close in the first
> place, which I can't take for given with the information I've been
> provided so far.

Then I'm afraid the only suggestion I get for you at the moment is to
add a filter to dump those emails to /dev/null -- you already realised
that's an unrealistic goal (at least at the beginning).

Wei.

> 
> Jan
> 
> 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] x86/svm: Drop the suggestion of Long Mode Segment Limit support

2018-07-24 Thread Jan Beulich
>>> On 23.07.18 at 16:42,  wrote:
> Because of a bug in 2010, LMSL support didn't functioned in Xen.
> 
> c/s f2c608444 noticed but avoided fixing the issue for migration reasons.  In
> addition to migration problems, changes to the segmentation logic for
> emulation would be needed before the feature could be enabled.
> 
> This feature is entirely unused by operating systems (probably owing to its
> semantics which only cover half the segment registers), and no one has
> commented on its absence from Xen.  As supporting it would involve a large
> amount of effort, it seems better to remove the code entirely.
> 
> If someone finds a valid usecase, we can resurrecting the code and
> implementing the remaining parts, but I doubt anyone will.
> 
> Signed-off-by: Andrew Cooper 

Acked-by: Jan Beulich 



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] x86/hvm: Disallow unknown MSR_EFER bits

2018-07-24 Thread Jan Beulich
>>> On 23.07.18 at 16:11,  wrote:
> On Mon, Jul 23, 2018 at 02:49:50PM +0100, Andrew Cooper wrote:
>> It turns out that nothing ever prevented HVM guests from trying to set 
> unknown
>> EFER bits.  Generally, this results in a vmentry failure.
>> 
>> For Intel hardware, all implemented bits are covered by the checks.
>> 
>> For AMD hardware, the only EFER bit which isn't covered by the checks is TCE
>> (which AFAICT is specific to AMD Fam15/16 hardware).  We never advertise TCE
>> in CPUID, but it isn't a security problem to have TCE unexpected enabled in
>> guest context.
>> 
>> Disallow the setting of bits outside of the EFER_KNOWN_MASK, which prevents
>> any vmentry failures for guests, yielding #GP instead.
>> 
>> Signed-off-by: Andrew Cooper 
> 
> Reviewed-by: Roger Pau Monné 

Acked-by: Jan Beulich 


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] x86/spec-ctrl: Fix the parsing of xpti= on fixed Intel hardware

2018-07-24 Thread Jan Beulich
>>> On 23.07.18 at 16:22,  wrote:
> On 23/07/18 15:48, Andrew Cooper wrote:
>> The calls to xpti_init_default() in parse_xpti() are buggy.  The CPUID data
>> hasn't been fetched that early, and boot_cpu_has(X86_FEATURE_ARCH_CAPS) will
>> always evaluate false.
>> 
>> As a result, the default case won't disable XPTI on Intel hardware which
>> advertises ARCH_CAPABILITIES_RDCL_NO.
>> 
>> Simplify parse_xpti() to solely the setting of opt_xpti according to the
>> passed string, and have init_speculation_mitigations() call
>> xpti_init_default() if appropiate.  Drop the force parameter, and pass caps
>> instead, to avoid redundant re-reading of MSR_ARCH_CAPS.
>> 
>> Signed-off-by: Andrew Cooper 
> 
> Reviewed-by: Juergen Gross 

Acked-by: Jan Beulich 



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2] hvm/altp2m: Clarify the proper way to extend the altp2m interface

2018-07-24 Thread Jan Beulich
>>> On 23.07.18 at 19:09,  wrote:
> The altp2m functionality was originally envisioned to be used in
> several different configurations, one of which was a single in-guest
> agent that had full operational control of altp2m.  This required the
> single hypercall to be an HVMOP rather than a DOMCTL, since HVM guests
> are not allowed to make DOMCTLs.  Access to this HVMOP is controlled
> by a per-domain HVM_PARAM, and defaults to 'off'.
> 
> Exposing the altp2m functionality to the guest was controversial at
> the time, but was ultimately accepted.  The fact that altp2m is an
> HVMOP rather than a DOMCTL has caused some problems, however, for
> those moving forward trying to extend the interface: Extending the
> interface even for the 'external' use case now means extending an
> HVMOP, which implicitly extends the surface of attack for the
> 'internal' use case as well.  The result has been that every addition
> to this interface has also been controversial.
> 
> Settle the controversy once and for all by documenting 1) the purpose
> of the altp2m interface, and 2) how to extend it.  In particular:
> 
> * Specify that the fully in-guest agent is a target use case
> 
> * Specify that all extensions to altp2m functionality should be subops
>   of the HVMOP hypercall
> 
> * Specify that new subops should be enabled in ALTP2M_mixed mode by
>   default, but that this mode has not been evaluated for safety.
> 
> Hopefully this will allow the altp2m interface to be developed further
> without unnecessary controversy.
> 
> Further discussion:
> 
> As far as I can tell there are three possible solutions to this
> controversy.
> 
> A. Remove the 'internal' functionality as a target by converting the
> current HVMOP into a DOMCTL.
> 
> B. Have two hypercalls -- an HVMOP which contains functionality
> expected to be used by the 'internal' agent, and a DOMCTL for
> functionality which is expected to be used only be the 'external'
> agent.
> 
> C. Agree to add all new subops to the current hypercall (HVMOP), even
> if we're not sure if they should be exposed to the guest.
> 
> I think A is a terrible idea.  Having a single in-guest agent is a
> reasonable design choice, and apparently it was even implemented at
> some point; we should make it straightforward for someone in the
> future to pick up the work if they want to.
> 
> I think B is also a bad idea.  The people extending it at the moment
> are primarily concerned with the 'external' use case.  There is nobody
> around to represent whether new functionality should end up in the
> HVMOP or the DOMCTL, which means that by default it will end up in the
> DOMCTL.  If it is discovered, afterwards, that the new operations
> *would* be safe and useful for the 'internal' use case, then we will
> either have to duplicate them inside the HVMOP (which would be
> terrible) or move the operation from the DOMCTL to the HVMOP (which
> would make coding an agent against several versions a mess).
> 
> It just makes more sense to have all the altp2m operations in a single
> place, and a simple way to control whether they're available to the
> 'internal' use case or not.  As such, I am proposing 'C'.
> 
> Even within that, we have several options as far as what to do with
> the current interface:
> 
> C1: Audit the current subops and make a blacklist of subops not
> suitable for exposure to the guest.  Future subops should be on the
> blacklist unless they have been evaluated as safe for exposure.
> 
> C2: Don't blacklist the current subops, but require that all future
> subops be blacklisted unless they have been evaluated as safe for
> exposure.
> 
> C3: Don't blacklist current or future subops for the present; just
> document that they need to be evaluated (and some potentially
> blacklisted) before being exposed to a guest in a safety-critical
> environment.
> 
> C1 would be ideal, but there's nobody at present to do the work.
> Given that, C3 has been seen as the best solution in discussion.
> 
> Signed-off-by: George Dunlap 

FTR - this looks acceptable to me, but I don't think I want to ack it.

Jan


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Lars Kurth


On 24/07/2018, 10:34, "Jan Beulich"  wrote:

>>> On 24.07.18 at 11:24,  wrote:
> On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
>> >>> On 23.07.18 at 18:40,  wrote:
>> > # How does this impact me?
>> > The contribution workflow is *not* impacted by this change, but once 
up and 
> 
>> > running the following will happen once you post a patch or patch 
series to 
>> > xen-devel:
>> > * Patchwork will take patch series from the mailing list and applies it
>> > * CI/DC testing is triggered
>> > * A test report will be sent as a mail to the patch or the series (aka 
the 00 patch of the series)
>> > 
>> > This does mean though that series which do not build or show other 
issues, 
>> > will likely not be reviewed until the tests pass. This would lessen 
the 
>> > burden on reviewers, as they will know whether the code submitted 
builds on a 
>> > wide array of environments. 
>> 
>> So how are dependencies between series intended to be dealt with? It
>> is not uncommon for someone to say "applies only on top of xyz". The
>> implication of "will likely not be reviewed until the tests pass" seems
>> unsuitable to me in such a case.
>> 
> 
> We have been asking everyone to rebase to staging before posting a new
> version for a long time.  It is natural for the bot to assume that
> everything should apply on top of staging. That would provide most value
> to the community.
> 
> For special cases like you just mention, we should aim to provide
> mechanisms to manually appoint a branch to be tested.

I'm afraid I disagree again: Tools used should not be dictated. I'm
using quilt, not git for my work, and hence I don't maintain any
branches anywhere.

Jan, I have to clarify what I meant by "will likely not be reviewed until the 
tests pass".

At the end of the day, the CI loop is simply providing reviewers with more 
information. Reviewers then make a decision on whether they want to review a 
series or not.

Now in most cases, reviewers will rightly not want to review series which don't 
build on all platforms, which is why I added "will likely not be reviewed until 
the tests pass". 
But in some cases - such as the case of dependencies - there is a reason to 
still review the series. And there may be other reasons to do so.

Regards
Lars



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Jan Beulich
>>> On 24.07.18 at 11:43,  wrote:
> On Tue, Jul 24, 2018 at 03:34:51AM -0600, Jan Beulich wrote:
>> >>> On 24.07.18 at 11:24,  wrote:
>> > On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
>> >> >>> On 23.07.18 at 18:40,  wrote:
>> >> > # How does this impact me?
>> >> > The contribution workflow is *not* impacted by this change, but once up 
>> >> > and 
>> > 
>> >> > running the following will happen once you post a patch or patch series 
>> >> > to 
>> >> > xen-devel:
>> >> > * Patchwork will take patch series from the mailing list and applies it
>> >> > * CI/DC testing is triggered
>> >> > * A test report will be sent as a mail to the patch or the series (aka 
>> >> > the 00 patch of the series)
>> >> > 
>> >> > This does mean though that series which do not build or show other 
>> >> > issues, 
>> >> > will likely not be reviewed until the tests pass. This would lessen the 
>> >> > burden on reviewers, as they will know whether the code submitted 
>> >> > builds on a 
>> >> > wide array of environments. 
>> >> 
>> >> So how are dependencies between series intended to be dealt with? It
>> >> is not uncommon for someone to say "applies only on top of xyz". The
>> >> implication of "will likely not be reviewed until the tests pass" seems
>> >> unsuitable to me in such a case.
>> >> 
>> > 
>> > We have been asking everyone to rebase to staging before posting a new
>> > version for a long time.  It is natural for the bot to assume that
>> > everything should apply on top of staging. That would provide most value
>> > to the community.
>> > 
>> > For special cases like you just mention, we should aim to provide
>> > mechanisms to manually appoint a branch to be tested.
>> 
>> I'm afraid I disagree again: Tools used should not be dictated. I'm
>> using quilt, not git for my work, and hence I don't maintain any
>> branches anywhere.
> 
> Alright.
> 
> First, I don't think I said that only git would be supported.
> Git is the most prevalent VCS nowadays, and most developers use it, so
> it would make sense to support it first.  If you want quilt, we can
> certainly look into that. But I'm afraid if you don't say what you
> specifically need, nothing can be done in that regard.

Well, if you thought of other than git, then I'm afraid I lack
understanding of where such a "branch" should be coming from.
My first and foremost requirement is that, as stated pretty close
to the top, the contribution workflow be *not* impacted. Any
setting up of anything that I'd need to do would be contrary to
that.

> Second, it is up to individual whether they want to use a certain tool
> or not. If you don't want to use this infrastructure for whatever
> reason, that's OK. You're only missing out all the work in the community
> has done, but you should be able to use your own workflow just fine.

Then I maybe misunderstood Lars'es mail: I've gained the
impression that the picking up of patches would be automatic,
i.e. without me telling to system to do so. As it would presumably
send its (failure) mails back to the author, I'd expect to get what
effectively is spam in the described case.

I'm afraid my personal bar for any such automation is pretty
high: There must not ever be any negative effect from such an
addition. Positive effects would of course be very welcome. I
realize this is an unrealistic goal, but it should at least come
close (perhaps after some initial learning phase). But this implies
that at least in theory it is possible to come close in the first
place, which I can't take for given with the information I've been
provided so far.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2 17/21] xen/arm: refactor vpl011_data_avail

2018-07-24 Thread Julien Grall

Hi Stefano,

On 07/07/18 00:12, Stefano Stabellini wrote:

Move the code to calculate in_fifo_level and out_fifo_level out of
vpl011_data_avail, to the caller.
This change will make it possible to reuse vpl011_data_avail with
different ring structures in a later patch.

Signed-off-by: Stefano Stabellini 

---
Changes in v2:
- new patch
---
  xen/arch/arm/vpl011.c | 70 ++-
  1 file changed, 42 insertions(+), 28 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 33fcaa0..e75957f 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -34,6 +34,12 @@
  #include 
  #include 
  
+static void vpl011_data_avail(struct domain *d,

+  XENCONS_RING_IDX in_fifo_level,
+  XENCONS_RING_IDX in_size,
+  XENCONS_RING_IDX out_fifo_level,
+  XENCONS_RING_IDX out_size);
+


Looking at the end code, I think you can avoid the declaration by adding 
vpl011_rx_char somewhere else.


Cheers,

--
Julien Grall

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Lars Kurth


On 24/07/2018, 10:46, "Wei Liu"  wrote:

On Tue, Jul 24, 2018 at 10:38:24AM +0100, Lars Kurth wrote:
> 
> 
> > On 24 Jul 2018, at 10:24, Wei Liu  wrote:
> > 
> > On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
> > On 23.07.18 at 18:40,  wrote:
> >>> # How does this impact me?
> >>> The contribution workflow is *not* impacted by this change, but once 
up and 
> >>> running the following will happen once you post a patch or patch 
series to 
> >>> xen-devel:
> >>> * Patchwork will take patch series from the mailing list and applies 
it
> >>> * CI/DC testing is triggered
> >>> * A test report will be sent as a mail to the patch or the series 
(aka the 00 patch of the series)
> >>> 
> >>> This does mean though that series which do not build or show other 
issues, 
> >>> will likely not be reviewed until the tests pass. This would lessen 
the 
> >>> burden on reviewers, as they will know whether the code submitted 
builds on a 
> >>> wide array of environments. 
> >> 
> >> So how are dependencies between series intended to be dealt with? It
> >> is not uncommon for someone to say "applies only on top of xyz". The
> >> implication of "will likely not be reviewed until the tests pass" seems
> >> unsuitable to me in such a case.
> >> 
> > 
> > We have been asking everyone to rebase to staging before posting a new
> > version for a long time.  It is natural for the bot to assume that
> > everything should apply on top of staging. That would provide most value
> > to the community.
> > 
> > For special cases like you just mention, we should aim to provide
> > mechanisms to manually appoint a branch to be tested.
> 
> Wei, Doug: I have another question, which is mainly for my own 
understanding. 
> 
> Right now we allow posting of patches to Linux, Qemu, xen.git,
> OSSTEST, ... to xen-devel. The planned CI infrastructure only applies
> to xen.git. Have you thought about how to handle such cases? 

No. I haven't.  We may be able to use some heuristics here.

Or an alternative would be to say: if you want to use the test bot then CC 
xengit-test...@xenproject.org (or something like it) when you submit the 
series. That would also get around Jan's issue with dependent series: you would 
simply not add the CC, when you know it won't build without a dependency.

Lars


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] PVH dom0 creation fails - the system freezes

2018-07-24 Thread Jan Beulich
>>> On 23.07.18 at 13:50,  wrote:
> For the last few days, I have been trying to get a PVH dom0 running,
> however I encountered the following problem: the system seems to
> freeze after the hypervisor boots, the screen goes black. I have tried to
> debug it via a serial console (using Minicom) and managed to get some
> more Xen output, after the screen turns black.
> 
> I mention that I have tried to boot the PVH dom0 using different kernel
> images (from 4.9.0 to 4.18-rc3), different Xen  versions (4.10, 4.11, 4.12).
> 
> Below I attached my system / hypervisor configuration, as well as the
> output captured through the serial console, corresponding to the latest
> versions for Xen and the Linux Kernel (Xen staging and Kernel from the
> xen/tip tree).
> [...]
> (XEN) [VT-D]iommu.c:919: iommu_fault_status: Fault Overflow
> (XEN) [VT-D]iommu.c:921: iommu_fault_status: Primary Pending Fault
> (XEN) [VT-D]DMAR:[DMA Write] Request device [:00:14.0] fault addr 
> 8deb3000, iommu reg = 82c00021b000
> (XEN) [VT-D]DMAR: reason 05 - PTE Write access is not set
> (XEN) print_vtd_entries: iommu #0 dev :00:14.0 gmfn 8deb3
> (XEN) root_entry[00] = 1021c60001
> (XEN) context[a0] = 2_1021d6d001
> (XEN) l4[000] = 9c1021d6c107
> (XEN) l3[002] = 9c1021d3e107
> (XEN) l2[06f] = 9c10218c0107
> (XEN) l1[0b3] = 8000
> (XEN) l1[0b3] not present
> (XEN) Dom0 callback via changed to Direct Vector 0xf3

This might be a hint at a missing RMRR entry in the ACPI tables, as
we've seen to be the case for a number of systems (I dare to guess
that :00:14.0 is a USB controller, perhaps one with a keyboard
and/or mouse connected). You may want to play with the respective
command line option ("rmrr="). Note that "iommu_inclusive_mapping"
as you're using it does not have any meaning for PVH (see
intel_iommu_hwdom_init()).

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Wei Liu
On Tue, Jul 24, 2018 at 10:38:24AM +0100, Lars Kurth wrote:
> 
> 
> > On 24 Jul 2018, at 10:24, Wei Liu  wrote:
> > 
> > On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
> > On 23.07.18 at 18:40,  wrote:
> >>> # How does this impact me?
> >>> The contribution workflow is *not* impacted by this change, but once up 
> >>> and 
> >>> running the following will happen once you post a patch or patch series 
> >>> to 
> >>> xen-devel:
> >>> * Patchwork will take patch series from the mailing list and applies it
> >>> * CI/DC testing is triggered
> >>> * A test report will be sent as a mail to the patch or the series (aka 
> >>> the 00 patch of the series)
> >>> 
> >>> This does mean though that series which do not build or show other 
> >>> issues, 
> >>> will likely not be reviewed until the tests pass. This would lessen the 
> >>> burden on reviewers, as they will know whether the code submitted builds 
> >>> on a 
> >>> wide array of environments. 
> >> 
> >> So how are dependencies between series intended to be dealt with? It
> >> is not uncommon for someone to say "applies only on top of xyz". The
> >> implication of "will likely not be reviewed until the tests pass" seems
> >> unsuitable to me in such a case.
> >> 
> > 
> > We have been asking everyone to rebase to staging before posting a new
> > version for a long time.  It is natural for the bot to assume that
> > everything should apply on top of staging. That would provide most value
> > to the community.
> > 
> > For special cases like you just mention, we should aim to provide
> > mechanisms to manually appoint a branch to be tested.
> 
> Wei, Doug: I have another question, which is mainly for my own understanding. 
> 
> Right now we allow posting of patches to Linux, Qemu, xen.git,
> OSSTEST, ... to xen-devel. The planned CI infrastructure only applies
> to xen.git. Have you thought about how to handle such cases? 

No. I haven't.  We may be able to use some heuristics here.

Wei.

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Wei Liu
On Tue, Jul 24, 2018 at 03:34:51AM -0600, Jan Beulich wrote:
> >>> On 24.07.18 at 11:24,  wrote:
> > On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
> >> >>> On 23.07.18 at 18:40,  wrote:
> >> > # How does this impact me?
> >> > The contribution workflow is *not* impacted by this change, but once up 
> >> > and 
> > 
> >> > running the following will happen once you post a patch or patch series 
> >> > to 
> >> > xen-devel:
> >> > * Patchwork will take patch series from the mailing list and applies it
> >> > * CI/DC testing is triggered
> >> > * A test report will be sent as a mail to the patch or the series (aka 
> >> > the 00 patch of the series)
> >> > 
> >> > This does mean though that series which do not build or show other 
> >> > issues, 
> >> > will likely not be reviewed until the tests pass. This would lessen the 
> >> > burden on reviewers, as they will know whether the code submitted builds 
> >> > on a 
> >> > wide array of environments. 
> >> 
> >> So how are dependencies between series intended to be dealt with? It
> >> is not uncommon for someone to say "applies only on top of xyz". The
> >> implication of "will likely not be reviewed until the tests pass" seems
> >> unsuitable to me in such a case.
> >> 
> > 
> > We have been asking everyone to rebase to staging before posting a new
> > version for a long time.  It is natural for the bot to assume that
> > everything should apply on top of staging. That would provide most value
> > to the community.
> > 
> > For special cases like you just mention, we should aim to provide
> > mechanisms to manually appoint a branch to be tested.
> 
> I'm afraid I disagree again: Tools used should not be dictated. I'm
> using quilt, not git for my work, and hence I don't maintain any
> branches anywhere.

Alright.

First, I don't think I said that only git would be supported.
Git is the most prevalent VCS nowadays, and most developers use it, so
it would make sense to support it first.  If you want quilt, we can
certainly look into that. But I'm afraid if you don't say what you
specifically need, nothing can be done in that regard.

Second, it is up to individual whether they want to use a certain tool
or not. If you don't want to use this infrastructure for whatever
reason, that's OK. You're only missing out all the work in the community
has done, but you should be able to use your own workflow just fine.

Wei.

> 
> Jan
> 
> 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] firmware/shim : filter output files during Xen tree setup

2018-07-24 Thread Jan Beulich
>>> On 20.07.18 at 23:15,  wrote:
> Exclude named output files from the Xen tree setup.
> 
> The linkfarm.stamp content will differ between top level "make"
> and "make install" invocations, due to the introduction of these
> output files that are produced during the "make" build.
> 
> Filter these out to prevent an unnecessary rebuild of the shim during
> "make install".
> 
> Signed-off-by: Christopher Clark 
> ---
>  tools/firmware/xen-dir/Makefile | 6 +-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/firmware/xen-dir/Makefile 
> b/tools/firmware/xen-dir/Makefile
> index 84648c3..e490dca 100644
> --- a/tools/firmware/xen-dir/Makefile
> +++ b/tools/firmware/xen-dir/Makefile
> @@ -11,6 +11,9 @@ D=xen-root
>  LINK_DIRS=config xen
>  LINK_FILES=Config.mk
>  
> +# Files to exclude from the link farm
> +EXCLUDE_FILES=xen xen.gz xen-syms xen-syms.map efi.lds xen.lds mkelf32 
> mkreloc

What about xen.efi and all of its auxiliary files? What about other generated
files?

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [Minios-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Lars Kurth


> On 24 Jul 2018, at 10:24, Wei Liu  wrote:
> 
> On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
> On 23.07.18 at 18:40,  wrote:
>>> # How does this impact me?
>>> The contribution workflow is *not* impacted by this change, but once up and 
>>> running the following will happen once you post a patch or patch series to 
>>> xen-devel:
>>> * Patchwork will take patch series from the mailing list and applies it
>>> * CI/DC testing is triggered
>>> * A test report will be sent as a mail to the patch or the series (aka the 
>>> 00 patch of the series)
>>> 
>>> This does mean though that series which do not build or show other issues, 
>>> will likely not be reviewed until the tests pass. This would lessen the 
>>> burden on reviewers, as they will know whether the code submitted builds on 
>>> a 
>>> wide array of environments. 
>> 
>> So how are dependencies between series intended to be dealt with? It
>> is not uncommon for someone to say "applies only on top of xyz". The
>> implication of "will likely not be reviewed until the tests pass" seems
>> unsuitable to me in such a case.
>> 
> 
> We have been asking everyone to rebase to staging before posting a new
> version for a long time.  It is natural for the bot to assume that
> everything should apply on top of staging. That would provide most value
> to the community.
> 
> For special cases like you just mention, we should aim to provide
> mechanisms to manually appoint a branch to be tested.

Wei, Doug: I have another question, which is mainly for my own understanding. 

Right now we allow posting of patches to Linux, Qemu, xen.git, OSSTEST, ... to 
xen-devel. The planned CI infrastructure only applies to xen.git. Have you 
thought about how to handle such cases? 

We probably don't want to spam Linux and Qemu lists with results from a test 
bot. 
And we want to minimise false positives. Some patches may be identifiable 
through subject lines (e.g. OSSTEST in subject lines)

Lars


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Jan Beulich
>>> On 24.07.18 at 11:24,  wrote:
> On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
>> >>> On 23.07.18 at 18:40,  wrote:
>> > # How does this impact me?
>> > The contribution workflow is *not* impacted by this change, but once up 
>> > and 
> 
>> > running the following will happen once you post a patch or patch series to 
>> > xen-devel:
>> > * Patchwork will take patch series from the mailing list and applies it
>> > * CI/DC testing is triggered
>> > * A test report will be sent as a mail to the patch or the series (aka the 
>> > 00 patch of the series)
>> > 
>> > This does mean though that series which do not build or show other issues, 
>> > will likely not be reviewed until the tests pass. This would lessen the 
>> > burden on reviewers, as they will know whether the code submitted builds 
>> > on a 
>> > wide array of environments. 
>> 
>> So how are dependencies between series intended to be dealt with? It
>> is not uncommon for someone to say "applies only on top of xyz". The
>> implication of "will likely not be reviewed until the tests pass" seems
>> unsuitable to me in such a case.
>> 
> 
> We have been asking everyone to rebase to staging before posting a new
> version for a long time.  It is natural for the bot to assume that
> everything should apply on top of staging. That would provide most value
> to the community.
> 
> For special cases like you just mention, we should aim to provide
> mechanisms to manually appoint a branch to be tested.

I'm afraid I disagree again: Tools used should not be dictated. I'm
using quilt, not git for my work, and hence I don't maintain any
branches anywhere.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v4] x86/mm: Add mem access rights to NPT

2018-07-24 Thread Jan Beulich
>>> On 24.07.18 at 11:28,  wrote:
> On 07/24/2018 11:55 AM, Jan Beulich wrote:
>>> +if ( cpu_has_svm && !p2m->mem_access_settings )
>>> +{
>>> +p2m->mem_access_settings = xmalloc(struct radix_tree_root);
>>> +
>>> +if( !p2m->mem_access_settings )
>> Style.
>> 
>>> +{
>>> +xfree(d->arch.monitor.msr_bitmap);
>>> +return -ENOMEM;
>>> +}
>>> +radix_tree_init(p2m->mem_access_settings);
>>> +}
>> What's the SVM connection here? Please don't forget that p2m-pt.c
>> also serves the shadow case. Perhaps struct p2m_domain should
>> contain a boolean indicator whether this auxiliary data structure is
>> needed?
> 
> Would it not work to simply check for "if ( cpu_has_svm &&
> p2m_is_hostp2m(p2m) && !p2m->mem_access_settings )" here?
> 
> In the shadow case, will not p2m->p2m_class be p2m_nested?

Maybe, but that wasn't the point of my remark. I want to
get rid of the cpu_has_svm here, not have it amended.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Jan Beulich
>>> On 24.07.18 at 11:14,  wrote:
> On 24/07/18 10:06, Jan Beulich wrote:
> On 23.07.18 at 18:40,  wrote:
>>> # How does this impact me?
>>> The contribution workflow is *not* impacted by this change, but once up and 
>>> running the following will happen once you post a patch or patch series to 
>>> xen-devel:
>>> * Patchwork will take patch series from the mailing list and applies it
>>> * CI/DC testing is triggered
>>> * A test report will be sent as a mail to the patch or the series (aka the 
> 00 patch of the series)
>>>
>>> This does mean though that series which do not build or show other issues, 
>>> will likely not be reviewed until the tests pass. This would lessen the 
>>> burden on reviewers, as they will know whether the code submitted builds on 
> a 
>>> wide array of environments. 
>> So how are dependencies between series intended to be dealt with? It
>> is not uncommon for someone to say "applies only on top of xyz". The
>> implication of "will likely not be reviewed until the tests pass" seems
>> unsuitable to me in such a case.
> 
> 99% of submissions aren't "applies on top of xyz".
> 
> Alternative, how about we see about not blocking underlying patches for
> unreasonable periods of time?

Well, I'm all for it, but I don't expect us to get there any time soon.
Just take the recent example of my indirect call patching series
depending on another series that I had submitted over 4 months ago.
Along those lines, the oldest (non-RFC) series I have in my to-be-
reviewed folder is from November - what if the author submitted
anything depending on it?

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v4] x86/mm: Add mem access rights to NPT

2018-07-24 Thread Razvan Cojocaru
On 07/24/2018 11:55 AM, Jan Beulich wrote:
>> +if ( cpu_has_svm && !p2m->mem_access_settings )
>> +{
>> +p2m->mem_access_settings = xmalloc(struct radix_tree_root);
>> +
>> +if( !p2m->mem_access_settings )
> Style.
> 
>> +{
>> +xfree(d->arch.monitor.msr_bitmap);
>> +return -ENOMEM;
>> +}
>> +radix_tree_init(p2m->mem_access_settings);
>> +}
> What's the SVM connection here? Please don't forget that p2m-pt.c
> also serves the shadow case. Perhaps struct p2m_domain should
> contain a boolean indicator whether this auxiliary data structure is
> needed?

Would it not work to simply check for "if ( cpu_has_svm &&
p2m_is_hostp2m(p2m) && !p2m->mem_access_settings )" here?

In the shadow case, will not p2m->p2m_class be p2m_nested?


Thanks,
Razvan

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Lars Kurth


On 24/07/2018, 10:06, "Jan Beulich"  wrote:
>>> On 23.07.18 at 18:40,  wrote:
> This does mean though that series which do not build or show other 
issues, 
> will likely not be reviewed until the tests pass. This would lessen the 
> burden on reviewers, as they will know whether the code submitted builds 
on a 
> wide array of environments. 

So how are dependencies between series intended to be dealt with? It
is not uncommon for someone to say "applies only on top of xyz". The
implication of "will likely not be reviewed until the tests pass" seems
unsuitable to me in such a case.

We should look at how this is done in communities which have systems in place 
that do some off-list verification of patches, such as qemu and linux (0 day 
test service). 

Obviously in such cases the test bot would return results for a fail. The 
sensible thing to do would be the following:
* For the submitter of the patch to notify the reviewer(s) to highlight the 
test failure/dependency 
* For the reviewer to spot the dependency

In any case, the reviewer would have to decide whether to review a series which 
cannot be automatically build tested off list at that stage. 

Thinking about it a bit more, there are also two places at which things can go 
wrong:
a) Failure to apply the patch => this would probably be the most likely outcome 
with a dependency
b) Failure to build => if there was a missing dependency then probably fail in 
ALL build environments

In other words, there should be some tell-tales for this case, which can 
probably be highlighted in the bot results

Regards
Lars


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Wei Liu
On Tue, Jul 24, 2018 at 03:06:08AM -0600, Jan Beulich wrote:
> >>> On 23.07.18 at 18:40,  wrote:
> > # How does this impact me?
> > The contribution workflow is *not* impacted by this change, but once up and 
> > running the following will happen once you post a patch or patch series to 
> > xen-devel:
> > * Patchwork will take patch series from the mailing list and applies it
> > * CI/DC testing is triggered
> > * A test report will be sent as a mail to the patch or the series (aka the 
> > 00 patch of the series)
> > 
> > This does mean though that series which do not build or show other issues, 
> > will likely not be reviewed until the tests pass. This would lessen the 
> > burden on reviewers, as they will know whether the code submitted builds on 
> > a 
> > wide array of environments. 
> 
> So how are dependencies between series intended to be dealt with? It
> is not uncommon for someone to say "applies only on top of xyz". The
> implication of "will likely not be reviewed until the tests pass" seems
> unsuitable to me in such a case.
> 

We have been asking everyone to rebase to staging before posting a new
version for a long time.  It is natural for the bot to assume that
everything should apply on top of staging. That would provide most value
to the community.

For special cases like you just mention, we should aim to provide
mechanisms to manually appoint a branch to be tested.

Wei.

> Jan
> 
> 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Andrew Cooper
On 24/07/18 10:06, Jan Beulich wrote:
 On 23.07.18 at 18:40,  wrote:
>> # How does this impact me?
>> The contribution workflow is *not* impacted by this change, but once up and 
>> running the following will happen once you post a patch or patch series to 
>> xen-devel:
>> * Patchwork will take patch series from the mailing list and applies it
>> * CI/DC testing is triggered
>> * A test report will be sent as a mail to the patch or the series (aka the 
>> 00 patch of the series)
>>
>> This does mean though that series which do not build or show other issues, 
>> will likely not be reviewed until the tests pass. This would lessen the 
>> burden on reviewers, as they will know whether the code submitted builds on 
>> a 
>> wide array of environments. 
> So how are dependencies between series intended to be dealt with? It
> is not uncommon for someone to say "applies only on top of xyz". The
> implication of "will likely not be reviewed until the tests pass" seems
> unsuitable to me in such a case.

99% of submissions aren't "applies on top of xyz".

Alternative, how about we see about not blocking underlying patches for
unreasonable periods of time?

~Andrew

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] automation: Creating a patchwork instance to improve pre-commit build testing

2018-07-24 Thread Jan Beulich
>>> On 23.07.18 at 18:40,  wrote:
> # How does this impact me?
> The contribution workflow is *not* impacted by this change, but once up and 
> running the following will happen once you post a patch or patch series to 
> xen-devel:
> * Patchwork will take patch series from the mailing list and applies it
> * CI/DC testing is triggered
> * A test report will be sent as a mail to the patch or the series (aka the 00 
> patch of the series)
> 
> This does mean though that series which do not build or show other issues, 
> will likely not be reviewed until the tests pass. This would lessen the 
> burden on reviewers, as they will know whether the code submitted builds on a 
> wide array of environments. 

So how are dependencies between series intended to be dealt with? It
is not uncommon for someone to say "applies only on top of xyz". The
implication of "will likely not be reviewed until the tests pass" seems
unsuitable to me in such a case.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v4] x86/mm: Add mem access rights to NPT

2018-07-24 Thread Jan Beulich
>>> On 23.07.18 at 15:48,  wrote:
> --- a/xen/arch/x86/mm/mem_access.c
> +++ b/xen/arch/x86/mm/mem_access.c
> @@ -221,12 +221,12 @@ bool p2m_mem_access_check(paddr_t gpa, unsigned long 
> gla,
>  {
>  req->u.mem_access.flags |= MEM_ACCESS_GLA_VALID;
>  req->u.mem_access.gla = gla;
> -
> -if ( npfec.kind == npfec_kind_with_gla )
> -req->u.mem_access.flags |= MEM_ACCESS_FAULT_WITH_GLA;
> -else if ( npfec.kind == npfec_kind_in_gpt )
> -req->u.mem_access.flags |= MEM_ACCESS_FAULT_IN_GPT;
>  }
> +
> +if ( npfec.kind == npfec_kind_with_gla )
> +req->u.mem_access.flags |= MEM_ACCESS_FAULT_WITH_GLA;
> +else if ( npfec.kind == npfec_kind_in_gpt )
> +req->u.mem_access.flags |= MEM_ACCESS_FAULT_IN_GPT;

Without explanation in the commit message and without comment
this change is a no-go imo: I consider it at least questionable to
have npfec_kind_with_gla without .gla_valid set to true. Perhaps
it's just a naming issue, but that would then still require half a
sentence to explain.

> @@ -366,8 +366,11 @@ long p2m_set_mem_access(struct domain *d, gfn_t gfn, 
> uint32_t nr,
>  /* If request to set default access. */
>  if ( gfn_eq(gfn, INVALID_GFN) )
>  {
> -p2m->default_access = a;
> -return 0;
> +if ( (rc = p2m->check_access(a)) == 0 )
> +{
> +p2m->default_access = a;
> +return 0;
> +}
>  }

This latching into rc makes subsequent code yield inconsistent
behavior.

> --- a/xen/arch/x86/mm/p2m-ept.c
> +++ b/xen/arch/x86/mm/p2m-ept.c
> @@ -667,6 +667,12 @@ bool_t ept_handle_misconfig(uint64_t gpa)
>  return spurious ? (rc >= 0) : (rc > 0);
>  }
>  
> +int ept_check_access(p2m_access_t p2ma)
> +{
> +/* All access is permitted */
> +return 0;
> +}

With this I'd rather see the hook omitted here, to avoid the indirect
call. Perhaps you'll want a wrapper around the indirect call, abstracting
away the NULL check for callers.

> +static void p2m_set_access(struct p2m_domain *p2m, unsigned long gfn,
> +  p2m_access_t a)
> +{
> +int rc;
> +
> +if ( !p2m->mem_access_settings )
> +return;

No error indication?

> +if ( p2m_access_rwx == a )
> +{
> +radix_tree_delete(p2m->mem_access_settings, gfn);
> +return;
> +}

Is it really p2m_access_rwx that you want to special case here, rather
than ->default_access?

> @@ -31,6 +34,18 @@ int arch_monitor_init_domain(struct domain *d)
>  if ( !d->arch.monitor.msr_bitmap )
>  return -ENOMEM;
>  
> +if ( cpu_has_svm && !p2m->mem_access_settings )
> +{
> +p2m->mem_access_settings = xmalloc(struct radix_tree_root);
> +
> +if( !p2m->mem_access_settings )

Style.

> +{
> +xfree(d->arch.monitor.msr_bitmap);
> +return -ENOMEM;
> +}
> +radix_tree_init(p2m->mem_access_settings);
> +}

What's the SVM connection here? Please don't forget that p2m-pt.c
also serves the shadow case. Perhaps struct p2m_domain should
contain a boolean indicator whether this auxiliary data structure is
needed?

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v13 07/11] x86/hvm: Introduce viridian_save_vcpu_ctxt_one() func

2018-07-24 Thread Jan Beulich
>>> On 19.07.18 at 16:08,  wrote:
> --- a/xen/arch/x86/hvm/viridian.c
> +++ b/xen/arch/x86/hvm/viridian.c
> @@ -1026,24 +1026,32 @@ static int viridian_load_domain_ctxt(struct domain 
> *d, hvm_domain_context_t *h)
>  HVM_REGISTER_SAVE_RESTORE(VIRIDIAN_DOMAIN, viridian_save_domain_ctxt,
>viridian_load_domain_ctxt, 1, HVMSR_PER_DOM);
>  
> -static int viridian_save_vcpu_ctxt(struct domain *d, hvm_domain_context_t *h)
> +static int viridian_save_vcpu_ctxt_one(struct vcpu *v, hvm_domain_context_t 
> *h)
>  {
> -struct vcpu *v;
> +struct hvm_viridian_vcpu_context ctxt = {};
>  
> -if ( !is_viridian_domain(d) )
> +if ( !is_viridian_domain(v->domain) )
>  return 0;
>  
> -for_each_vcpu( d, v ) {
> -struct hvm_viridian_vcpu_context ctxt = {
> -.vp_assist_msr = v->arch.hvm_vcpu.viridian.vp_assist.msr.raw,
> -.vp_assist_pending = v->arch.hvm_vcpu.viridian.vp_assist.pending,
> -};
> +ctxt.vp_assist_msr = v->arch.hvm_vcpu.viridian.vp_assist.msr.raw;
> +ctxt.vp_assist_pending = v->arch.hvm_vcpu.viridian.vp_assist.pending;
>  
> -if ( hvm_save_entry(VIRIDIAN_VCPU, v->vcpu_id, h, ) != 0 )
> -return 1;
> +return hvm_save_entry(VIRIDIAN_VCPU, v->vcpu_id, h, );
> +}
> +
> +static int viridian_save_vcpu_ctxt(struct domain *d, hvm_domain_context_t *h)
> +{
> +struct vcpu *v;
> +int err = 0;
> +
> +for_each_vcpu ( d, v ) {

Style.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v13 02/11] x86/hvm: Introduce hvm_save_tsc_adjust_one() func

2018-07-24 Thread Jan Beulich
>>> On 19.07.18 at 16:08,  wrote:
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -740,16 +740,23 @@ void hvm_domain_destroy(struct domain *d)
>  destroy_vpci_mmcfg(d);
>  }
>  
> +static int hvm_save_tsc_adjust_one(struct vcpu *v, hvm_domain_context_t *h)
> +{
> +struct hvm_tsc_adjust ctxt = {};
> +
> +ctxt.tsc_adjust = v->arch.hvm_vcpu.msr_tsc_adjust;

Considering earlier comments, why is this still not part of the
initializer?

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH 2/2] xen/xsm: Add new SILO mode for XSM

2018-07-24 Thread Xin Li (Talons)
 Hi Daniel,

 I think the main questions here are:
 1. Do we need a separated KConfig option for SILO
 2. Can we use indirect call like "dummy_xsm_ops.grant_copy"
 Any suggestion?
 
Best regards
 
Xin(Talons) Li
 
> > -Original Message-
> > From: Jan Beulich [mailto:jbeul...@suse.com]
> > Sent: Monday, July 2, 2018 5:39 PM
> > To: Xin Li (Talons) ; Xin Li 
> > Cc: Andrew Cooper ; George Dunlap
> > ; Ming Lu ; Sergey
> > Dyasli ; Wei Liu ;
> > Stefano Stabellini ; xen-de...@lists.xen.org;
> > Konrad Rzeszutek Wilk ; Daniel de Graaf
> > ; Tim
> > (Xen.org) 
> > Subject: RE: [PATCH 2/2] xen/xsm: Add new SILO mode for XSM
> >
> > >>> On 02.07.18 at 11:22,  wrote:
> > >> From: Jan Beulich [mailto:jbeul...@suse.com]
> > >> Sent: Monday, July 2, 2018 3:29 PM
> > >> >>> On 02.07.18 at 08:57,  wrote:
> > >> >> From: Jan Beulich [mailto:jbeul...@suse.com]
> > >> >> Sent: Friday, June 29, 2018 6:36 PM
> > >> >> >>> On 29.06.18 at 11:28,  wrote:
> > >> >> > When SILO is enabled, there would be no page-sharing between
> > >> >> > unprivileged VMs (no grant tables or event channels).
> > >> >>
> > >> >> What is the relation between page sharing and event channels?
> > >> >
> > >> > They are the two mechanisms exist for inter-domain communication,
> > >> > And we want to block them in SILO mode.
> > >>
> > >> I understand this, but it doesn't answer my question. I agree that
> > >> grant tables are a means to share pages, but the wording looks odd
> > >> to me wrt event channels.
> > > Do you mean add " or event notifications", When SILO is enabled,
> > > there would be no page-sharing or event notifications between
> > > unprivileged VMs (no grant tables or event channels).
> >
> > Yes, that's one way to clarify things.
> >
> > >> > Change to:
> > >> >
> > >> > config XSM_SILO
> > >> >>---def_bool y
> > >> >>---prompt "SILO support"
> > >> >>---depends on XSM
> > >> >>--help---
> > >> >>---  Enables SILO as the access control mechanism used by the
> > >> >>XSM
> > >> framework.
> > >> >>---  This is not the default module, add boot parameter
> > >> >>xsm=silo to choose
> > >> >>---  it. This will deny any unmediated communication channels
> > >> >>(grant tables
> > >> >>---  and event channels) between unprivileged VMs.
> > >>
> > >> With s/module/mode/ this is an improvement, but continues to leave
> > >> open in particular what an "unmediated communication channel" is.
> > > This can't prevent side-channel attack.
> >
> > ???
> >
> > >> Btw, thinking about it again - do we need a Kconfig option here in
> > >> the first place, when the mode isn't the default, and it's not a
> > >> whole lot of code
> > > that gets
> > >> added?
> > > The existing XSM code use Kconfig,
> > > I just want to follow the similar style for new module.
> > > And yes, we can handle it in CONFIG_XSM like dummy.
> > > Which way is better?
> >
> > Daniel, Andrew?
> >
> > >> >> > +static bool silo_mode_dom_check(domid_t ldom, domid_t rdom) {
> > >> >> > +domid_t hd_dom = hardware_domain->domain_id;
> > >> >>
> > >> >> I don't think you mean the hardware domain here, but the control
> > >> >> domain (of which in theory there may be multiple).
> > >> >
> > >> > I mean the one and only dom0.
> > >>
> > >> No, for the purpose here you don't mean Dom0, which just happens to
> > >> be both hardware and (the only) control domain in most setups. From
> > >> a security pov though you need to distinguish all of these.
> > >
> > > Yes! thanks.
> > > I will use
> > > is_control_domain(d)
> > > instead of comparing the hardware domain id.
> > >
> > > This comment is misleading then:
> > > /* Is this guest fully privileged (aka dom0)? */
> > >bool is_privileged;
> >
> > Yes, but it's likely going to remain that way until further
> > disaggregation work would happen.
> >
> > >> >> > +domid_t cur_dom = current->domain->domain_id;
> > >> >> > +
> > >> >> > +if ( ldom == DOMID_SELF )
> > >> >> > +ldom = cur_dom;
> > >> >> > +if ( rdom == DOMID_SELF )
> > >> >> > +rdom = cur_dom;
> > >> >> > +
> > >> >> > +return (hd_dom == cur_dom || hd_dom == ldom || hd_dom ==
> > >> >> > + rdom
> > >> ||
> > >> >> > +ldom == rdom);
> > >> >> > +}
> > >> >> > +
> > >> >> > +static int silo_evtchn_unbound(struct domain *d1, struct evtchn 
> > >> >> > *chn,
> > >> >> > +   domid_t id2) {
> > >> >> > +if ( silo_mode_dom_check(d1->domain_id, id2) )
> > >> >> > +return dummy_xsm_ops.evtchn_unbound(d1, chn, id2);
> > >> >>
> > >> >> Urgh. Why is this not xsm_evtchn_unbound() from dummy.h? It
> > >> >> would be really nice to avoid such extra indirect calls here.
> > >> >
> > >> > This makes it clearer that we are calling the counterpart of
> > >> > dummy ops(overriding).
> > >>
> > >> Yes, but the same level of clarity could be achieved when naming
> > >> the function in dummy.h dummy_evtchn_unbound() (aliased to
> > >> 

Re: [Xen-devel] [PATCH 2/2] xen/xsm: Add new SILO mode for XSM

2018-07-24 Thread Jan Beulich
>>> On 23.07.18 at 12:45,  wrote:
> I think the main questions here are:
> 1. Do we need a separated KConfig option for SILO
> 2. Can we use indirect call like "dummy_xsm_ops.grant_copy"
> Any suggestion?

I'm afraid the addressing of your mail is misleading: I've voiced my
opinion, so I'm unlikely the one you've meant to be on the To list.

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  1   2   >