[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [xen-unstable test] 122363: regressions - FAIL



flight 122363 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/122363/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 16 guest-localmigrate/x10 fail REGR. vs. 
122343
 test-amd64-amd64-xl-qemuu-win7-amd64  7 xen-boot         fail REGR. vs. 122343

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-ws16-amd64 17 guest-stop            fail like 122332
 test-armhf-armhf-libvirt-xsm 14 saverestore-support-check    fail  like 122343
 test-armhf-armhf-libvirt     14 saverestore-support-check    fail  like 122343
 test-amd64-i386-xl-qemuu-win7-amd64 17 guest-stop             fail like 122343
 test-amd64-amd64-xl-qemuu-ws16-amd64 17 guest-stop            fail like 122343
 test-amd64-i386-xl-qemut-win7-amd64 17 guest-stop             fail like 122343
 test-amd64-i386-xl-qemuu-ws16-amd64 17 guest-stop             fail like 122343
 test-armhf-armhf-libvirt-raw 13 saverestore-support-check    fail  like 122343
 test-amd64-amd64-xl-qemut-win7-amd64 17 guest-stop            fail like 122343
 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-pvshim    12 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     13 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  13 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 13 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          14 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 13 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 14 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  14 saverestore-support-check    fail   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-amd64-amd64-libvirt-vhd 12 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 13 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 14 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-xsm      13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-xsm      14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     14 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-xsm 13 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 13 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 14 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-credit2  13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  14 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 12 migrate-support-check        fail   never pass
 test-amd64-i386-xl-qemut-ws16-amd64 17 guest-stop              fail never pass
 test-armhf-armhf-xl-vhd      12 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      13 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-qemuu-win10-i386 10 windows-install         fail never pass
 test-amd64-amd64-xl-qemut-win10-i386 10 windows-install        fail never pass
 test-amd64-i386-xl-qemut-win10-i386 10 windows-install         fail never pass
 test-amd64-amd64-xl-qemuu-win10-i386 10 windows-install        fail never pass

version targeted for testing:
 xen                  25b0dad541e31bd892d57cbeafe8e0c0bf4e8385
baseline version:
 xen                  a6aa678fa380e9369cc44701a181142322b3a4b0

Last test of basis   122343  2018-04-17 04:06:26 Z    7 days
Testing same since   122363  2018-04-23 12:06:44 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  David Wang <davidwang@xxxxxxxxxxx>
  George Dunlap <george.dunlap@xxxxxxxxxx>
  Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
  Jan Beulich <jbeulich@xxxxxxxx>
  Roger Pau Monne <roger.pau@xxxxxxxxxx>
  Roger Pau Monné <roger.pau@xxxxxxxxxx>
  Wei Liu <wei.liu2@xxxxxxxxxx>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-armhf-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              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    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 build-amd64-rumprun                                          pass    
 build-i386-rumprun                                           pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm                pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64-xsm                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm                pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm                 pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-armhf-armhf-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-armhf-armhf-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-rumprun-amd64                               pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-i386-rumprun-i386                                 pass    
 test-amd64-amd64-xl-qemut-win10-i386                         fail    
 test-amd64-i386-xl-qemut-win10-i386                          fail    
 test-amd64-amd64-xl-qemuu-win10-i386                         fail    
 test-amd64-i386-xl-qemuu-win10-i386                          fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      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


Not pushing.

------------------------------------------------------------
commit 25b0dad541e31bd892d57cbeafe8e0c0bf4e8385
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Apr 23 11:01:09 2018 +0200

    x86/HVM: never retain emulated insn cache when exiting back to guest
    
    Commit 5fcb26e69e ("x86/HVM: don't retain emulated insn cache when
    exiting back to guest") didn't go quite far enough: The insn emulator
    may itself decide to return X86EMUL_RETRY (currently for certain
    CMPXCHG failures and AVX2 gather insns), in which case we'd also exit
    back to guest context. Tie the caching to whether we have an I/O
    completion pending, instead of x86_emulate()'s return value.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>

commit 8c02a19230502a9522b097ee15742599091064aa
Author: David Wang <davidwang@xxxxxxxxxxx>
Date:   Mon Apr 23 11:00:07 2018 +0200

    x86/HPET: fix race triggering ASSERT(cpu < nr_cpu_ids)
    
    CPUs may share an in-use channel. Hence clearing of a bit from the
    cpumask (in hpet_broadcast_exit()) as well as setting one (in
    hpet_broadcast_enter()) must not race evaluation of that same cpumask.
    Therefore avoid evaluating the cpumask twice in hpet_detach_channel().
    Otherwise cpumask_empty() may e.g.return false while the subsequent
    cpumask_first() could return nr_cpu_ids, which then triggers the
    assertion in cpumask_of() reached through set_channel_irq_affinity().
    
    Signed-off-by: David Wang <davidwang@xxxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>

commit 1232378bd2fef45f613db049b33852fdf84d7ddf
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Date:   Tue Apr 17 12:48:01 2018 +0000

    x86/spec_ctrl: Updates to retpoline-safety decision making
    
    All of this is as recommended by the Intel whitepaper:
    
    
https://software.intel.com/sites/default/files/managed/1d/46/Retpoline-A-Branch-Target-Injection-Mitigation.pdf
    
    The 'RSB Alternative' bit in MSR_ARCH_CAPABILITIES may be set by a 
hypervisor
    to indicate that the virtual machine may migrate to a processor which isn't
    retpoline-safe.  Introduce a shortened name (to reduce code volume), treat 
it
    as authorative in retpoline_safe(), and print its value along with the other
    ARCH_CAPS bits.
    
    The exact processor models which do have RSB semantics which fall back to 
BTB
    predictions are enumerated, and include Kabylake and Coffeelake.  Leave a
    printk() in the default case to help identify cases which aren't covered.
    
    The exact microcode versions from Broadwell RSB-safety are taken from the
    referenced microcode update file (adjusting for the known-bad microcode
    versions).  Despite the exact wording of the text, it is only Broadwell
    processors which need a microcode check.
    
    In practice, this means that all Broadwell hardware with up-to-date 
microcode
    will use retpoline in preference to IBRS, which will be a performance
    improvement for desktop and server systems which would previously always opt
    for IBRS over retpoline.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>

commit af7e907c33e7a8d81448e3fd2ce7939e24b200f8
Author: Roger Pau Monne <roger.pau@xxxxxxxxxx>
Date:   Tue Apr 17 14:03:41 2018 +0100

    libs/gnttab: fix FreeBSD gntdev interface
    
    Current interface to the gntdev in FreeBSD is wrong, and mostly worked
    out of luck before the PTI FreeBSD fixes, when kernel and user-space
    where sharing the same page tables.
    
    On FreeBSD ioctls have the size of the passed struct encoded in the ioctl
    number, because the generic ioctl handler in the OS takes care of
    copying the data from user-space to kernel space, and then calls the
    device specific ioctl handler. Thus using ioctl structs with variable
    sizes is not possible.
    
    The fix is to turn the array of structs at the end of
    ioctl_gntdev_alloc_gref and ioctl_gntdev_map_grant_ref into pointers,
    that can be properly accessed from the kernel gntdev driver using the
    copyin/copyout functions. Note that this is exactly how it's done for
    the privcmd driver.
    
    Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>
    Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>

commit ef3ab46493f650b7e5cca2b2578a99ca0cbff195
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Date:   Tue Apr 17 18:43:49 2018 +0100

    x86: Use spec_ctrl_{enter,exit}_idle() in the S3/S5 path
    
    The main purpose of this patch is to avoid opencoding the recovery logic at
    the end, but also has the positive side effect of relaxing the SPEC_CTRL
    mitigations when working to shut the final CPU down.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>

commit a996273d1fc10d14598985703227bfa35a91f681
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Wed Apr 18 11:16:37 2018 +0200

    x86/msr: further correct the emulation behaviour of MSR_PRED_CMD
    
    Following commit a6aa678fa3 ("x86/msr: Correct the emulation behaviour
    of MSR_PRED_CMD") we may end up writing the low bit with the wrong
    value. While it's unlikely for a guest to want to write zero there, we
    should still permit (this without incurring the overhead of an actual
    barrier). Correcting this right away will also help whenever further
    bits in the MSR might become defined.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>

commit c081d2a0a68f6e574d8803e2781cade365ccd351
Merge: 0d37f90d61 a50238afa9
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date:   Tue Apr 17 18:28:11 2018 +0100

    Merge remote-tracking branch 'origin/staging' into staging

commit 0d37f90d613e4b314fdebf7bc9017875aaec6935
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date:   Tue Apr 17 17:22:49 2018 +0100

    README, Xen/Makefile: Xen 4.11 is -RC now
    
    Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>

commit b1282fe325cb99f33e092c589952b2569ca9cf54
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date:   Tue Apr 17 17:19:33 2018 +0100

    Config.mk: Switch external trees to fixed tags for Xen 4.11.0-rc1
    
    The minios tag `xen-4.11.0-rc1' was mistakenly made on the wrong
    revision.  So we have burned that tag and use xen-4.11.0-rc1.1
    instead.
    
    Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>

commit bdfdf244f55ff11e8c4c607fff6815cb672cbdc1
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Date:   Tue Apr 17 17:53:01 2018 +0100

    mktarball: For qemu upstream, use their scripts/archive-source.sh
    
    qemu upstream uses git submodules.  git archive does not work with git
    submodules (and could not work properly with them, because this is one
    of the many things it is inherently impossible to do correctly with
    git submodules).
    
    qemu upstream have worked around this by providing a rather scary
    shell script which attempts to do roughly the right thing.  It's close
    enough that we can use it with only minor precautions.
    
    Unfortunately this does mean that `mktarball' now executes the qemu
    source code it was using, rather than merely shuffling it about, as it
    did previously.  I think this is a less bad ill than copying (and,
    effectively, forking) the scary script.
    
    CC: Wei Liu <wei.liu2@xxxxxxxxxx>
    CC: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
    CC: Juergen Gross <jgross@xxxxxxxx>
    Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
    Acked-by: George Dunlap <george.dunlap@xxxxxxxxxx>

commit a50238afa99c27f2aa4eb4e8060f3b81e8ed0d78
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Date:   Fri Mar 23 20:26:34 2018 +0000

    x86/traps: Misc non-functional improvements to set_debugreg()
    
     * Change 'int i' to being unsigned, and move it into its most narrow scope.
     * Fold the access_ok() checks for %dr{0..3}.  This halves the compiled size
       of the function.
     * Additional newlines in appropriate places.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>

commit f539ae27061c6811fd5e80e0755bf0514e22b977
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Date:   Fri Mar 23 20:26:34 2018 +0000

    x86/pv: Introduce and use x86emul_write_dr()
    
    set_debugreg() has several bugs:
    
     * %dr4/5 should function correctly as aliases of %dr6/7 when CR4.DE is 
clear.
     * Attempting to set the upper 32 bits of %dr6/7 should fail with #GP[0]
       rather than be silently corrected and complete.
     * For emulation, the #UD and #GP[0] cases need properly distinguishing.  
Use
       -ENODEV for #UD cases, leaving -EINVAL (bad bits) and -EPERM (not 
allowed to
       use that valid bit) as before for hypercall callers.
     * A write which clears %dr7.L/G leaves the IO shadow intact, meaning that
       subsequent reads of %dr7 will see stale IO watchpoint configuration.
    
    Implement x86emul_write_dr() as a thin wrapper around set_debugreg().
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>

commit 881f8dc4314809293efc6f66f9af49734994bf0e
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Date:   Fri Mar 23 20:13:50 2018 +0000

    x86/pv: Introduce and use x86emul_read_dr()
    
    do_get_debugreg() has several bugs:
    
     * The %cr4.de condition is inverted.  %dr4/5 should be accessible only when
       %cr4.de is disabled.
     * When %cr4.de is disabled, emulation should yield #UD rather than complete
       with zero.
     * Using -EINVAL for errors is a broken ABI, as it overlaps with valid 
values
       near the top of the address space.
    
    Introduce a common x86emul_read_dr() handler (as we will eventually want to
    add HVM support) which separates its success/failure indication from the 
data
    value, and have do_get_debugreg() call into the handler.
    
    The ABI of do_get_debugreg() remains broken, but switches from -EINVAL to
    -ENODEV for compatibility with the changes in the following patch.
    
    Take the opportunity to add a missing local variable block to x86_emulate.c
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
    Release-acked-by: Juergen Gross <jgross@xxxxxxxx>
(qemu changes not included)

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.