lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161006111646.GA19924@potion>
Date:   Thu, 6 Oct 2016 13:16:47 +0200
From:   Radim Krčmář <rkrcmar@...hat.com>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     Paolo Bonzini <pbonzini@...hat.com>, linux-kernel@...r.kernel.org,
        kvm@...r.kernel.org, Marc Zyngier <marc.zyngier@....com>
Subject: [GIT PULL] KVM updates for v4.9-rc1

Linus,

this merge needs one manual conflict resolution that is foretold in
3d9cd95f90b2 ("ARM: gic-v3: Work around definition of gic_write_bpr1").
The commit says that the conflict is "obvious to resolve", but
linux-next got it wrong, so I have pasted the correct resolution at the
bottom -- inline assembly and surrounding #if should be removed, because
the #if would always select the write_sysreg() branch.

The following changes since commit fa8410b355251fd30341662a40ac6b22d3e38468:

  Linux 4.8-rc3 (2016-08-21 16:14:10 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/kvm-4.9-1

for you to fetch changes up to d9ab710b85310e4ba9295f2b494eda54cf1a355a:

  Merge tag 'kvm_mips_4.9_1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/kvm-mips into next (2016-09-29 16:26:52 +0200)

----------------------------------------------------------------
KVM updates for v4.9-rc1

Common code:
  Move `make kvmconfig` stubs from x86;  use 64 bits for debugfs stats.

ARM:
  Important fixes for not using an in-kernel irqchip; handle SError
  exceptions and present them to guests if appropriate; proxying of GICV
  access at EL2 if guest mappings are unsafe; GICv3 on AArch32 on ARMv8;
  preparations for GICv3 save/restore, including ABI docs; cleanups and
  a bit of optimizations.

MIPS:
  A couple of fixes in preparation for supporting MIPS EVA host kernels;
  MIPS SMP host & TLB invalidation fixes.

PPC:
  Fix the bug which caused guests to falsely report lockups; other minor
  fixes; a small optimization.

s390:
  Lazy enablement of runtime instrumentation; up to 255 CPUs for nested
  guests; rework of machine check deliver; cleanups and fixes.

x86:
  IOMMU part of AMD's AVIC for vmexit-less interrupt delivery; Hyper-V
  TSC page; per-vcpu tsc_offset in debugfs; accelerated INS/OUTS in
  nVMX; cleanups and fixes.

----------------------------------------------------------------
Balbir Singh (1):
      KVM: PPC: Book3S: Remove duplicate setting of the B field in tlbie

Bandan Das (1):
      mmu: don't pass *kvm to spte_write_protect and spte_*_dirty

Bhaktipriya Shridhar (1):
      KVM: Remove deprecated create_singlethread_workqueue

Christian Borntraeger (1):
      Merge remote-tracking branch 'kvms390/s390forkvm' into kvms390next

Christoffer Dall (6):
      KVM: arm/arm64: Add VGICv3 save/restore API documentation
      KVM: arm/arm64: Factor out vgic_attr_regs_access functionality
      KVM: arm/arm64: Rename vgic_attr_regs_access to vgic_attr_regs_access_v2
      KVM: arm/arm64: Get rid of exported aliases to static functions
      KVM: arm64: Require in-kernel irqchip for PMU support
      KVM: arm/arm64: vgic: Don't flush/sync without a working vgic

Colin Ian King (1):
      kvm: svm: fix unsigned compare less than zero comparison

Dan Carpenter (1):
      KVM: PPC: BookE: Fix a sanity check

David Hildenbrand (6):
      KVM: s390: factor out actual delivery of machine checks
      KVM: s390: split store status and machine check handling
      KVM: s390: fix delivery of vector regs during machine checks
      KVM: s390: write external damage code on machine checks
      KVM: s390: guestdbg: separate defines for per code
      KVM: s390: allow 255 VCPUs when sca entries aren't used

Fan Zhang (1):
      KVM: s390: lazy enable RI

Heiko Carstens (1):
      KVM: s390: generate facility mask from readable list

James Hogan (6):
      KVM: MIPS: Override HVA error values for EVA
      KVM: MIPS: Emulate MMIO via TLB miss for EVA
      KVM: MIPS: Drop other CPU ASIDs on guest MMU changes
      KVM: MIPS: Split kernel/user ASID regeneration
      KVM: MIPS: Invalidate TLB by regenerating ASIDs
      KVM: MIPS: Drop dubious EntryHi optimisation

Jan Dakinevich (2):
      KVM: nVMX: pass valid guest linear-address to the L1
      KVM: nVMX: expose INS/OUTS information support

Janosch Frank (1):
      KVM: s390: gaccess: simplify translation exception handling

Liang Li (1):
      vmx: refine validity check for guest linear address

Luiz Capitulino (6):
      kvm: x86: add tsc_offset field to struct kvm_vcpu_arch
      kvm: x86: drop read_tsc_offset()
      kvm: kvm_destroy_vm_debugfs(): check debugfs_stat_data pointer
      kvm: add stubs for arch specific debugfs support
      kvm: create per-vcpu dirs in debugfs
      kvm: x86: export TSC information to user-space

Luwei Kang (1):
      KVM: x86: Expose more Intel AVX512 feature to guest

Marc Zyngier (28):
      KVM: arm: vgic: Drop build compatibility hack for older kernel versions
      arm64: KVM: Move kvm_vcpu_get_condition out of emulate.c
      arm64: KVM: Move the AArch32 conditional execution to common code
      arm: KVM: Use common AArch32 conditional execution code
      arm64: KVM: Make kvm_skip_instr32 available to HYP
      arm64: KVM: vgic-v2: Add the GICV emulation infrastructure
      arm64: KVM: vgic-v2: Add GICV access from HYP
      arm64: KVM: vgic-v2: Enable GICV access from HYP if access from guest is unsafe
      arm64: KVM: Rename HCR_VA to HCR_VSE
      arm64: KVM: Preserve pending vSError in world switch
      arm64: KVM: Add Virtual Abort injection helper
      arm64: KVM: Add exception code to report EL1 asynchronous aborts
      arm64: KVM: Add EL1 async abort handler
      arm64: KVM: Route asynchronous aborts
      arm64: KVM: Allow an exit code to be tagged with an SError
      arm64: KVM: Inject a Virtual SError if it was pending
      arm64: KVM: Handle async aborts delivered while at EL2
      arm: KVM: Preserve pending Virtual Abort in world switch
      arm: KVM: Add Virtual Abort injection helper
      arm: KVM: Add HYP async abort handler
      arm: KVM: Allow an exit code to be tagged with a Virtual Abort
      arm: KVM: Handle async aborts delivered while at HYP
      arm: KVM: Inject a Virtual Abort if it was pending
      arm: KVM: Drop unreachable HYP abort handlers
      arm/arm64: KVM: Inject virtual abort when guest exits on external abort
      arm/arm64: KVM: Remove external abort test from MMIO handling
      arm64: KVM: Inject a vSerror if detecting a bad GICV access at EL2
      ARM: gic-v3: Work around definition of gic_write_bpr1

Mark Rutland (2):
      arm/kvm: excise redundant cache maintenance
      arm64/kvm: remove unused stub functions

Markus Elfring (8):
      KVM: s390: Improve determination of sizes in kvm_s390_import_bp_data()
      KVM: s390: Use memdup_user() rather than duplicating code
      KVM: PPC: e500: Use kmalloc_array() in kvm_vcpu_ioctl_config_tlb()
      KVM: PPC: e500: Less function calls in kvm_vcpu_ioctl_config_tlb() after error detection
      KVM: PPC: e500: Delete an unnecessary initialisation in kvm_vcpu_ioctl_config_tlb()
      KVM: PPC: e500: Replace kzalloc() calls by kcalloc() in two functions
      KVM: PPC: e500: Use kmalloc_array() in kvmppc_e500_tlb_init()
      KVM: PPC: e500: Rename jump labels in kvmppc_e500_tlb_init()

Paolo Bonzini (12):
      Merge branch 'x86/amd-avic' of git://git.kernel.org/.../joro/iommu into HEAD
      KVM: x86: ratelimit and decrease severity for guest-triggered printk
      KVM: x86: remove stale comments
      KVM: VMX: not use vmcs_config in setup_vmcs_config
      KVM: ARM: cleanup kvm_timer_hyp_init
      Merge tag 'kvm-s390-next-4.9-1' of git://git.kernel.org/.../kvms390/linux into HEAD
      powerpc: move hmi.c to arch/powerpc/kvm/
      Merge branch 'kvm-ppc-next' of git://git.kernel.org/.../paulus/powerpc into HEAD
      KVM: x86: always fill in vcpu->arch.hv_clock
      KVM: x86: initialize kvmclock_offset
      KVM: x86: introduce get_kvmclock_ns
      KVM: x86: Hyper-V tsc page setup

Paul Mackerras (8):
      KVM: PPC: Book3S: Don't crash if irqfd used with no in-kernel XICS emulation
      KVM: PPC: Implement kvm_arch_intc_initialized() for PPC
      KVM: PPC: Always select KVM_VFIO, plus Makefile cleanup
      powerpc/mm: Speed up computation of base and actual page size for a HPTE
      Merge branch 'kvm-ppc-infrastructure' into kvm-ppc-next
      KVM: PPC: Book3S HV: Set server for passed-through interrupts
      KVM: PPC: Book3S: Treat VTB as a per-subcore register, not per-thread
      KVM: PPC: Book3S HV: Take out virtual core piggybacking code

Radim Krčmář (3):
      Merge tag 'kvm-arm-for-v4.9' of git://git.kernel.org/.../kvmarm/kvmarm into next
      Merge branch 'kvm-ppc-next' of git://git.kernel.org/.../paulus/powerpc into next
      Merge tag 'kvm_mips_4.9_1' of git://git.kernel.org/.../jhogan/kvm-mips into next

Rob Herring (2):
      config: move x86 kvm_guest.config to a common location
      kvmconfig: add virtio-gpu to config fragment

Shanker Donthineni (1):
      arm64: KVM: Optimize __guest_enter/exit() to save a few instructions

Suraj Jitindar Singh (5):
      KVM: PPC: Book3S HV: Move struct kvmppc_vcore from kvm_host.h to kvm_book3s.h
      KVM: PPC: Book3S HV: Change vcore element runnable_threads from linked-list to array
      KVM: PPC: Book3S HV: Implement halt polling
      KVM: Add provisioning for ulong vm stats and u64 vcpu stats
      KVM: PPC: Implement existing and add new halt polling vcpu stats

Suravee Suthikulpanit (12):
      iommu/amd: Detect and enable guest vAPIC support
      iommu/amd: Move and introduce new IRTE-related unions and structures
      iommu/amd: Introduce interrupt remapping ops structure
      iommu/amd: Add support for multiple IRTE formats
      iommu/amd: Detect and initialize guest vAPIC log
      iommu/amd: Adding GALOG interrupt handler
      iommu/amd: Introduce amd_iommu_update_ga()
      iommu/amd: Implements irq_set_vcpu_affinity() hook to setup vapic mode for pass-through devices
      iommu/amd: Enable vAPIC interrupt remapping mode by default
      svm: Introduces AVIC per-VM ID
      svm: Introduce AMD IOMMU avic_ga_log_notifier
      svm: Implements update_pi_irte hook to setup posted interrupt

Suresh Warrier (12):
      powerpc: Add simple cache inhibited MMIO accessors
      powerpc/powernv: Provide facilities for EOI, usable from real mode
      KVM: PPC: Book3S HV: Convert kvmppc_read_intr to a C function
      KVM: PPC: select IRQ_BYPASS_MANAGER
      KVM: PPC: Book3S HV: Introduce kvmppc_passthru_irqmap
      KVM: PPC: Book3S HV: Enable IRQ bypass
      KVM: PPC: Book3S HV: Handle passthrough interrupts in guest
      KVM: PPC: Book3S HV: Complete passthrough interrupt in host
      KVM: PPC: Book3S HV: Dump irqmap in debugfs
      KVM: PPC: Book3S HV: Tunable to disable KVM IRQ bypass
      KVM: PPC: Book3S HV: Update irq stats for IRQs handled in real mode
      KVM: PPC: Book3S HV: Counters for passthrough IRQ stats

Thomas Huth (2):
      KVM: PPC: Book3S PR: Support 64kB page size on POWER8E and POWER8NVL
      KVM: PPC: Book3s PR: Allow access to unprivileged MMCR2 register

Vladimir Murzin (12):
      arm64: KVM: VHE: reset PSTATE.PAN on entry to EL2
      arm64: KVM: Use static keys for selecting the GIC backend
      arm64: KVM: Move GIC accessors to arch_gicv3.h
      arm64: KVM: Move vgic-v3 save/restore to virt/kvm/arm/hyp
      KVM: arm64: vgic-its: Introduce config option to guard ITS specific code
      KVM: arm: vgic: Fix compiler warnings when built for 32-bit
      KVM: arm: vgic: Support 64-bit data manipulation on 32-bit host systems
      ARM: Introduce MPIDR_LEVEL_SHIFT macro
      ARM: Move system register accessors to asm/cp15.h
      ARM: gic-v3: Introduce 32-to-64-bit mappings for GICv3 cpu registers
      ARM: KVM: Support vgic-v3
      arm64: KVM: Remove duplicating init code for setting VMID

Wanpeng Li (5):
      KVM: lapic: don't recalculate apic map table twice when enabling LAPIC
      KVM: nVMX: make emulated nested preemption timer pinned
      KVM: nVMX: Fix reload apic access page warning
      KVM: VMX: Enable MSR-BASED TPR shadow even if APICv is inactive
      KVM: nVMX: Fix the NMI IDT-vectoring handling

 Documentation/arm64/silicon-errata.txt             |   1 +
 Documentation/kernel-parameters.txt                |   9 +
 Documentation/virtual/kvm/devices/arm-vgic-its.txt |  38 ++
 Documentation/virtual/kvm/devices/arm-vgic-v3.txt  | 206 ++++++++
 Documentation/virtual/kvm/devices/arm-vgic.txt     |  52 +-
 Documentation/virtual/kvm/devices/vcpu.txt         |   4 +-
 arch/arm/include/asm/arch_gicv3.h                  | 100 +++-
 arch/arm/include/asm/cp15.h                        |  15 +
 arch/arm/include/asm/cputype.h                     |   1 +
 arch/arm/include/asm/kvm_asm.h                     |   7 +
 arch/arm/include/asm/kvm_emulate.h                 |  35 +-
 arch/arm/include/asm/kvm_host.h                    |  17 +-
 arch/arm/include/asm/kvm_hyp.h                     |  18 +-
 arch/arm/include/asm/kvm_mmu.h                     |  28 +-
 arch/arm/include/uapi/asm/kvm.h                    |   7 +
 arch/arm/kvm/Makefile                              |   3 +
 arch/arm/kvm/arm.c                                 |  22 +-
 arch/arm/kvm/coproc.c                              |  35 ++
 arch/arm/kvm/emulate.c                             | 111 +----
 arch/arm/kvm/handle_exit.c                         |  49 +-
 arch/arm/kvm/hyp/Makefile                          |   1 +
 arch/arm/kvm/hyp/entry.S                           |  31 ++
 arch/arm/kvm/hyp/hyp-entry.S                       |  16 +-
 arch/arm/kvm/hyp/switch.c                          |  25 +-
 arch/arm/kvm/hyp/tlb.c                             |  15 +-
 arch/arm/kvm/mmio.c                                |   6 -
 arch/arm/kvm/mmu.c                                 |   9 +-
 arch/arm64/include/asm/arch_gicv3.h                |  13 +
 arch/arm64/include/asm/kvm_arm.h                   |   4 +-
 arch/arm64/include/asm/kvm_asm.h                   |   9 +-
 arch/arm64/include/asm/kvm_emulate.h               |  11 +
 arch/arm64/include/asm/kvm_host.h                  |  12 +-
 arch/arm64/include/asm/kvm_hyp.h                   |   1 +
 arch/arm64/include/asm/kvm_mmu.h                   |   6 -
 arch/arm64/kvm/Kconfig                             |   4 +-
 arch/arm64/kvm/Makefile                            |   3 +-
 arch/arm64/kvm/handle_exit.c                       |  23 +
 arch/arm64/kvm/hyp/Makefile                        |   2 +-
 arch/arm64/kvm/hyp/debug-sr.c                      |   4 +-
 arch/arm64/kvm/hyp/entry.S                         | 126 +++--
 arch/arm64/kvm/hyp/hyp-entry.S                     |  73 +--
 arch/arm64/kvm/hyp/switch.c                        |  86 +++-
 arch/arm64/kvm/hyp/tlb.c                           |  13 +-
 arch/arm64/kvm/inject_fault.c                      |  12 +
 arch/arm64/kvm/sys_regs.c                          |  10 +-
 arch/mips/include/asm/kvm_host.h                   |  63 ++-
 arch/mips/kvm/emulate.c                            |  78 ++-
 arch/mips/kvm/mips.c                               |  40 ++
 arch/mips/kvm/mmu.c                                |  20 +-
 arch/mips/kvm/trap_emul.c                          |  18 +
 arch/powerpc/include/asm/book3s/64/mmu-hash.h      |  37 ++
 arch/powerpc/include/asm/hmi.h                     |   2 +-
 arch/powerpc/include/asm/io.h                      |  29 ++
 arch/powerpc/include/asm/kvm_asm.h                 |  10 +
 arch/powerpc/include/asm/kvm_book3s.h              |  39 ++
 arch/powerpc/include/asm/kvm_book3s_64.h           |  90 +---
 arch/powerpc/include/asm/kvm_host.h                | 124 +++--
 arch/powerpc/include/asm/kvm_ppc.h                 |  28 ++
 arch/powerpc/include/asm/mmu.h                     |   1 +
 arch/powerpc/include/asm/opal.h                    |   1 +
 arch/powerpc/include/asm/paca.h                    |  12 +-
 arch/powerpc/include/asm/pnv-pci.h                 |   3 +
 arch/powerpc/include/asm/reg.h                     |   1 +
 arch/powerpc/kernel/Makefile                       |   2 +-
 arch/powerpc/kernel/asm-offsets.c                  |   2 +-
 arch/powerpc/kvm/Kconfig                           |   3 +
 arch/powerpc/kvm/Makefile                          |  20 +-
 arch/powerpc/kvm/book3s.c                          |  13 +-
 arch/powerpc/kvm/book3s_emulate.c                  |   4 +-
 arch/powerpc/kvm/book3s_hv.c                       | 533 ++++++++++++++-------
 arch/powerpc/kvm/book3s_hv_builtin.c               | 156 ++++++
 arch/powerpc/{kernel/hmi.c => kvm/book3s_hv_hmi.c} |   0
 arch/powerpc/kvm/book3s_hv_rm_xics.c               | 120 +++++
 arch/powerpc/kvm/book3s_hv_rmhandlers.S            | 197 ++++----
 arch/powerpc/kvm/book3s_pr.c                       |  10 +-
 arch/powerpc/kvm/book3s_xics.c                     |  57 ++-
 arch/powerpc/kvm/book3s_xics.h                     |   2 +
 arch/powerpc/kvm/booke.c                           |   2 +-
 arch/powerpc/kvm/e500_mmu.c                        |  75 +--
 arch/powerpc/kvm/powerpc.c                         |  61 +++
 arch/powerpc/kvm/trace_hv.h                        |  22 +
 arch/powerpc/mm/hash_native_64.c                   |  42 +-
 arch/powerpc/mm/hash_utils_64.c                    |  55 +++
 arch/powerpc/platforms/powernv/opal-wrappers.S     |   1 +
 arch/powerpc/platforms/powernv/pci-ioda.c          |  26 +-
 arch/s390/include/asm/facilities_src.h             |  24 +
 arch/s390/include/asm/kvm_host.h                   | 136 +++---
 arch/s390/kernel/asm-offsets.c                     |   1 +
 arch/s390/kvm/gaccess.c                            |  37 +-
 arch/s390/kvm/guestdbg.c                           |  59 +--
 arch/s390/kvm/intercept.c                          |   1 +
 arch/s390/kvm/interrupt.c                          |  98 +++-
 arch/s390/kvm/kvm-s390.c                           |  80 ++--
 arch/s390/kvm/kvm-s390.h                           |  14 +-
 arch/s390/kvm/priv.c                               |  21 +
 arch/x86/entry/vdso/vclock_gettime.c               |   2 +-
 arch/x86/include/asm/kvm_host.h                    |  76 +--
 arch/x86/include/asm/pvclock.h                     |   5 +-
 arch/x86/kernel/pvclock.c                          |   2 +-
 arch/x86/kvm/Makefile                              |   2 +-
 arch/x86/kvm/cpuid.c                               |   3 +-
 arch/x86/kvm/debugfs.c                             |  69 +++
 arch/x86/kvm/hyperv.c                              | 157 +++++-
 arch/x86/kvm/hyperv.h                              |   3 +
 arch/x86/kvm/lapic.c                               |   5 +-
 arch/x86/kvm/mmu.c                                 |  12 +-
 arch/x86/kvm/svm.c                                 | 417 ++++++++++++++--
 arch/x86/kvm/vmx.c                                 | 341 +++++++------
 arch/x86/kvm/x86.c                                 | 171 ++++---
 arch/x86/kvm/x86.h                                 |   6 +-
 drivers/iommu/amd_iommu.c                          | 484 ++++++++++++++++---
 drivers/iommu/amd_iommu_init.c                     | 181 ++++++-
 drivers/iommu/amd_iommu_proto.h                    |   1 +
 drivers/iommu/amd_iommu_types.h                    | 149 ++++++
 include/kvm/arm_vgic.h                             |  18 +-
 include/linux/amd-iommu.h                          |  43 +-
 include/linux/irqchip/arm-gic-v3.h                 |   1 +
 include/linux/kvm_host.h                           |   4 +
 {arch/x86 => kernel}/configs/kvm_guest.config      |   1 +
 arch/arm64/kvm/emulate.c => virt/kvm/arm/aarch32.c |  25 +-
 virt/kvm/arm/arch_timer.c                          |  28 +-
 virt/kvm/arm/hyp/vgic-v2-sr.c                      |  57 +++
 {arch/arm64/kvm => virt/kvm/arm}/hyp/vgic-v3-sr.c  |  17 +-
 virt/kvm/arm/pmu.c                                 |   8 +
 virt/kvm/arm/vgic/vgic-init.c                      |   4 +
 virt/kvm/arm/vgic/vgic-irqfd.c                     |   6 -
 virt/kvm/arm/vgic/vgic-its.c                       | 156 ++++--
 virt/kvm/arm/vgic/vgic-kvm-device.c                | 133 +++--
 virt/kvm/arm/vgic/vgic-mmio-v3.c                   |  34 +-
 virt/kvm/arm/vgic/vgic-mmio.c                      |   2 -
 virt/kvm/arm/vgic/vgic-mmio.h                      |   4 +-
 virt/kvm/arm/vgic/vgic-v2.c                        |  71 +--
 virt/kvm/arm/vgic/vgic-v3.c                        |   8 +
 virt/kvm/arm/vgic/vgic.c                           |  20 +-
 virt/kvm/arm/vgic/vgic.h                           |  52 +-
 virt/kvm/eventfd.c                                 |  22 +-
 virt/kvm/kvm_main.c                                |  50 +-
 137 files changed, 4813 insertions(+), 1780 deletions(-)
 create mode 100644 Documentation/virtual/kvm/devices/arm-vgic-its.txt
 create mode 100644 Documentation/virtual/kvm/devices/arm-vgic-v3.txt
 rename arch/powerpc/{kernel/hmi.c => kvm/book3s_hv_hmi.c} (100%)
 create mode 100644 arch/x86/kvm/debugfs.c
 rename {arch/x86 => kernel}/configs/kvm_guest.config (96%)
 rename arch/arm64/kvm/emulate.c => virt/kvm/arm/aarch32.c (90%)
 rename {arch/arm64/kvm => virt/kvm/arm}/hyp/vgic-v3-sr.c (94%)

---
The promised conflict resolution.
(Merge commit will have two more hunks that are resolved automatically.)

diff --cc arch/arm/include/asm/arch_gicv3.h
index dfe4002812da,1fee657d3827..a8088290b778
--- a/arch/arm/include/asm/arch_gicv3.h
+++ b/arch/arm/include/asm/arch_gicv3.h
@@@ -160,7 -218,11 +219,7 @@@ static inline void gic_write_sre(u32 va
  
  static inline void gic_write_bpr1(u32 val)
  {
- 	asm volatile("mcr " __stringify(ICC_BPR1) : : "r" (val));
 -#if defined(__write_sysreg) && defined(ICC_BPR1)
+ 	write_sysreg(val, ICC_BPR1);
 -#else
 -	asm volatile("mcr " __stringify(ICC_BPR1) : : "r" (val));
 -#endif
  }
  
  /*

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ