aboutsummaryrefslogtreecommitdiffstats
path: root/virt
AgeCommit message (Expand)AuthorFilesLines
2019-06-21Merge tag 'spdx-5.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gre...Linus Torvalds22-244/+22
2019-06-20Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds2-2/+4
2019-06-20Merge tag 'kvmarm-fixes-for-5.2-2' of git://git.kernel.org/pub/scm/linux/kern...Paolo Bonzini2-2/+4
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 504Thomas Gleixner3-39/+3
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500Thomas Gleixner2-8/+2
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 499Thomas Gleixner1-4/+1
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234Thomas Gleixner16-193/+16
2019-06-19KVM: arm/arm64: Fix emulated ptimer irq injectionAndrew Jones1-2/+3
2019-06-12KVM: arm/arm64: vgic: Fix kvm_device leak in vgic_its_destroyDave Martin1-0/+1
2019-06-05treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333Thomas Gleixner1-13/+1
2019-06-05treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 320Thomas Gleixner1-13/+1
2019-06-05treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266Thomas Gleixner3-39/+3
2019-06-02Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds2-2/+5
2019-05-30treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174Thomas Gleixner4-36/+4
2019-05-28KVM: s390: Do not report unusabled IDs via KVM_CAP_MAX_VCPU_IDThomas Huth2-2/+3
2019-05-28kvm: fix compile on s390 part 2Christian Borntraeger1-0/+2
2019-05-26Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds4-122/+151
2019-05-24kvm: Check irqchip mode before assign irqfdPeter Xu1-0/+9
2019-05-24kvm: fix compilation on s390Paolo Bonzini1-0/+2
2019-05-24KVM: Fix spinlock taken warning during host resumeWanpeng Li1-1/+4
2019-05-24KVM: arm/arm64: Move cc/it checks under hyp's Makefile to avoid instrumentationJames Morse2-121/+136
2019-05-21treewide: Add SPDX license identifier - Makefile/KconfigThomas Gleixner3-0/+3
2019-05-17Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds3-18/+131
2019-05-17kvm: fix compilation on aarch64Paolo Bonzini1-1/+1
2019-05-15Merge tag 'kvmarm-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/...Paolo Bonzini1-6/+34
2019-05-15Merge tag 'kvm-ppc-next-5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/g...Paolo Bonzini1-0/+18
2019-05-14mm/mmu_notifier: convert user range->blockable to helper functionJérôme Glisse1-1/+2
2019-05-14KVM: PPC: Book3S: Remove useless checks in 'release' method of KVM deviceCédric Le Goater1-6/+0
2019-05-08KVM: Introduce KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2Peter Xu1-2/+2
2019-05-08KVM: Fix kvm_clear_dirty_log_protect off-by-(minus-)onePeter Xu1-2/+2
2019-05-08KVM: Fix the bitmap range to copy during clear dirtyPeter Xu1-1/+1
2019-05-06Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/a...Linus Torvalds1-1/+1
2019-04-30KVM: Introduce a new guest mapping APIKarimAllah Ahmed1-0/+64
2019-04-30kvm_main: fix some commentsJiang Biao1-2/+3
2019-04-30KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned sizePaolo Bonzini1-3/+4
2019-04-30Merge tag 'kvm-s390-next-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/...Paolo Bonzini2-1/+4
2019-04-30Merge tag 'kvmarm-fixes-for-5.1-2' of git://git.kernel.org/pub/scm/linux/kern...Paolo Bonzini6-11/+48
2019-04-30KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned sizePaolo Bonzini1-3/+4
2019-04-30KVM: Introduce a 'release' method for KVM devicesCédric Le Goater1-0/+13
2019-04-30KVM: Introduce a 'mmap' method for KVM devicesCédric Le Goater1-0/+11
2019-04-26KVM: polling: add architecture backend to disable pollingChristian Borntraeger2-1/+4
2019-04-25KVM: arm/arm64: Don't emulate virtual timers on userspace ioctlsChristoffer Dall1-5/+8
2019-04-25kvm: arm: Skip stage2 huge mappings for unaligned ipa backed by THPSuzuki K Poulose1-1/+5
2019-04-25KVM: arm/arm64: Ensure vcpu target is unset on reset failureAndrew Jones1-3/+8
2019-04-24arm64: KVM: Enable VHE support for :G/:H perf event modifiersAndrew Murray1-0/+2
2019-04-24arm64: KVM: Encapsulate kvm_cpu_context in kvm_host_dataAndrew Murray1-6/+8
2019-04-24KVM: arm/arm64: Context-switch ptrauth registersMark Rutland1-0/+2
2019-04-18KVM: arm/arm64: Demote kvm_arm_init_arch_resources() to just set up SVEDave Martin1-1/+1
2019-04-16kvm: move KVM_CAP_NR_MEMSLOTS to common codePaolo Bonzini2-3/+2
2019-04-16KVM: fix spectrev1 gadgetsPaolo Bonzini2-4/+7
2019-04-09KVM: ARM: Remove pgtable page standard functions from stage-2 page tablesAnshuman Khandual1-1/+1
2019-04-03KVM: arm/arm64: vgic-v3: Retire pending interrupts on disabling LPIsMarc Zyngier3-0/+25
2019-03-30KVM: arm/arm64: arch_timer: Fix CNTP_TVAL calculationWei Huang1-2/+2
2019-03-29KVM: arm/arm64: Add KVM_ARM_VCPU_FINALIZE ioctlDave Martin1-0/+18
2019-03-29KVM: arm/arm64: Add hook for arch-specific KVM initialisationDave Martin1-0/+4
2019-03-28Merge tag 'kvmarm-fixes-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel...Paolo Bonzini5-72/+106
2019-03-28kvm: don't redefine flags as something elseSebastian Andrzej Siewior1-3/+3
2019-03-28KVM: Reject device ioctls from processes other than the VM's creatorSean Christopherson1-0/+3
2019-03-28KVM: arm/arm64: Comments cleanup in mmu.cZenghui Yu1-14/+9
2019-03-20KVM: arm/arm64: vgic-its: Make attribute accessors staticYueHaibing1-5/+5
2019-03-20KVM: arm/arm64: Fix handling of stage2 huge mappingsSuzuki K Poulose1-16/+43
2019-03-19KVM: arm/arm64: Enforce PTE mappings at stage2 when neededSuzuki K Poulose1-22/+21
2019-03-19KVM: arm/arm64: vgic-its: Take the srcu lock when parsing the memslotsMarc Zyngier1-3/+10
2019-03-19KVM: arm/arm64: vgic-its: Take the srcu lock when writing to guest memoryMarc Zyngier2-6/+6
2019-03-19arm64: KVM: Always set ICH_HCR_EL2.EN if GICv4 is enabledMarc Zyngier2-6/+12
2019-03-15Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds11-295/+631
2019-03-06Merge tag 'acpi-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/raf...Linus Torvalds1-2/+2
2019-03-05Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-1/+1
2019-03-04Merge branch 'acpi-apei'Rafael J. Wysocki1-2/+2
2019-02-28kvm: properly check debugfs dentry before using itGreg Kroah-Hartman1-1/+1
2019-02-22Merge tag 'kvmarm-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/...Paolo Bonzini6-237/+566
2019-02-22KVM: Minor cleanups for kvm_main.cLeo Yan1-2/+1
2019-02-22KVM: arm/arm64: Remove unused timer variableShaokun Zhang1-2/+0
2019-02-20Revert "KVM: Eliminate extra function calls in kvm_get_dirty_log_protect()"Lan Tianyu1-5/+3
2019-02-20KVM: Never start grow vCPU halt_poll_ns from value below halt_poll_ns_grow_startNir Weiner1-5/+5
2019-02-20KVM: Expose the initial start value in grow_halt_poll_ns() as a module parameterNir Weiner1-2/+6
2019-02-20KVM: grow_halt_poll_ns() should never shrink vCPU halt_poll_nsNir Weiner1-1/+5
2019-02-20KVM: Move the memslot update in-progress flag to bit 63Sean Christopherson1-4/+4
2019-02-20KVM: Remove the hack to trigger memslot generation wraparoundSean Christopherson1-6/+2
2019-02-20KVM: Explicitly define the "memslot update in-progress" bitSean Christopherson1-13/+13
2019-02-20KVM: Call kvm_arch_memslots_updated() before updating memslotsSean Christopherson2-3/+6
2019-02-20kvm: Add memcg accounting to KVM allocationsBen Gardon5-22/+25
2019-02-20kvm: Use struct_size() in kmalloc()Gustavo A. R. Silva1-4/+4
2019-02-20KVM: arm/arm64: Remove unused gpa_end variableShaokun Zhang1-2/+1
2019-02-19KVM: arm/arm64: fix spelling mistake: "auxilary" -> "auxiliary"Colin Ian King1-1/+1
2019-02-19KVM: arm/arm64: Fix TRACE_INCLUDE_PATHMasahiro Yamada1-1/+1
2019-02-19KVM: arm/arm64: arch_timer: Mark physical interrupt active when a virtual int...Marc Zyngier1-3/+12
2019-02-19KVM: arm/arm64: Move kvm_is_write_fault to header fileChristoffer Dall1-8/+0
2019-02-19KVM: arm/arm64: Rework the timer code to use a timer_mapChristoffer Dall2-135/+265
2019-02-19KVM: arm/arm64: arch_timer: Assign the phys timer on VHE systemsChristoffer Dall1-49/+170
2019-02-19KVM: arm/arm64: timer: Rework data structures for multiple timersChristoffer Dall1-28/+30
2019-02-19KVM: arm/arm64: consolidate arch timer trap handlersAndre Przywara1-17/+113
2019-02-19KVM: arm64: Fix ICH_ELRSR_EL2 sysreg namingMarc Zyngier1-1/+1
2019-02-19KVM: arm/arm64: Simplify bg_timer programmingChristoffer Dall2-23/+14
2019-02-19KVM: arm/arm64: Factor out VMID into struct kvm_vmidChristoffer Dall2-37/+27
2019-02-19arm/arm64: KVM: Statically configure the host's view of MPIDRMarc Zyngier1-0/+1
2019-02-19arm/arm64: KVM: Introduce kvm_call_hyp_ret()Marc Zyngier2-3/+3
2019-02-13Merge tag 'kvm-arm-fixes-for-5.0' of git://git.kernel.org/pub/scm/linux/kerne...Paolo Bonzini12-143/+158
2019-02-13Merge branch 'rcu-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paul...Ingo Molnar1-1/+1
2019-02-07KVM: arm/arm64: Add kvm_ras.h to collect kvm specific RAS plumbingJames Morse1-2/+2
2019-02-07kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974)Jann Horn1-1/+2
2019-02-07KVM: arm64: Relax the restriction on using stage2 PUD huge mappingSuzuki K Poulose1-3/+6
2019-02-07KVM: arm/arm64: vgic: Always initialize the group of private IRQsChristoffer Dall1-8/+14
2019-02-07arm/arm64: KVM: Allow a VCPU to fully reset itselfMarc Zyngier2-20/+26
2019-01-25virt/kvm: Replace spin_is_locked() with lockdepPaul E. McKenney1-1/+1
2019-01-24KVM: arm/arm64: vgic: Make vgic_cpu->ap_list_lock a raw_spinlockJulien Thierry2-19/+20
2019-01-24KVM: arm/arm64: vgic: Make vgic_dist->lpi_list_lock a raw_spinlockJulien Thierry3-10/+10
2019-01-24KVM: arm/arm64: vgic: Make vgic_irq->irq_lock a raw_spinlockJulien Thierry9-83/+82
2019-01-11KVM: validate userspace input in kvm_clear_dirty_log_protect()Tomas Bortoli1-2/+7
2019-01-05Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-1/+1
2019-01-04mm: treewide: remove unused address argument from pte_alloc functionsJoel Fernandes (Google)1-1/+1
2019-01-03Remove 'type' argument from access_ok() functionLinus Torvalds1-2/+1
2018-12-28mm/mmu_notifier: use structure for invalidate_range_start/end callbackJérôme Glisse1-9/+5
2018-12-26Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-6/+6
2018-12-26Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds10-226/+548
2018-12-25Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/a...Linus Torvalds1-4/+4
2018-12-21KVM/MMU: Move tlb flush in kvm_set_pte_rmapp() to kvm_mmu_notifier_change_pte()Lan Tianyu1-1/+4
2018-12-21KVM: Make kvm_set_spte_hva() return intLan Tianyu1-2/+4
2018-12-21KVM: fix some typosWei Yang1-1/+1
2018-12-21kvm: Change offset in kvm_write_guest_offset_cached to unsignedJim Mattson1-1/+2
2018-12-21kvm: Disallow wraparound in kvm_gfn_to_hva_cache_initJim Mattson1-20/+21
2018-12-19Merge tag 'kvmarm-for-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git...Paolo Bonzini8-180/+356
2018-12-19arm/arm64: KVM: Add ARM_EXCEPTION_IS_TRAP macroMarc Zyngier1-1/+1
2018-12-19KVM: arm/arm64: Fix unintended stage 2 PMD mappingsChristoffer Dall1-22/+64
2018-12-19arm/arm64: KVM: vgic: Force VM halt when changing the active state of GICv3 P...Marc Zyngier1-2/+4
2018-12-19KVM: arm/arm64: arch_timer: Simplify kvm_timer_vcpu_terminateChristoffer Dall1-3/+0
2018-12-19KVM: arm/arm64: Remove arch timer workqueueChristoffer Dall1-27/+7
2018-12-19KVM: arm/arm64: Fixup the kvm_exit tracepointChristoffer Dall1-9/+9
2018-12-19KVM: arm/arm64: vgic: Consider priority and active state for pending irqChristoffer Dall1-1/+6
2018-12-19KVM: arm/arm64: vgic: Fix off-by-one bug in vgic_get_irq()Gustavo A. R. Silva1-1/+1
2018-12-18KVM: fix unregistering coalesced mmio zone from wrong busEric Biggers1-1/+5
2018-12-18KVM: arm/arm64: vgic: Cap SPIs to the VM-defined maximumMarc Zyngier1-2/+2
2018-12-18KVM: arm64: Clarify explanation of STAGE2_PGTABLE_LEVELSChristoffer Dall1-1/+1
2018-12-18KVM: arm/arm64: vgic: Do not cond_resched_lock() with IRQs disabledJulien Thierry1-21/+0
2018-12-18KVM: arm64: Add support for creating PUD hugepages at stage 2Punit Agrawal1-6/+98
2018-12-18KVM: arm64: Update age handlers to support PUD hugepagesPunit Agrawal1-19/+20
2018-12-18KVM: arm64: Support handling access faults for PUD hugepagesPunit Agrawal1-11/+11
2018-12-18KVM: arm64: Support PUD hugepage in stage2_is_exec()Punit Agrawal1-5/+48
2018-12-18KVM: arm64: Support dirty page tracking for PUD hugepagesPunit Agrawal1-4/+7
2018-12-18KVM: arm/arm64: Introduce helpers to manipulate page table entriesPunit Agrawal1-6/+8
2018-12-18KVM: arm/arm64: Re-factor setting the Stage 2 entry to exec on faultPunit Agrawal1-13/+15
2018-12-18KVM: arm/arm64: Share common code in user_mem_abort()Punit Agrawal1-19/+30
2018-12-18KVM: arm/arm64: vgic-v2: Set active_source to 0 when restoring stateChristoffer Dall1-1/+16
2018-12-18KVM: arm/arm64: Fix VMID alloc race by reverting to lock-lessChristoffer Dall1-12/+11
2018-12-18arm64: KVM: Consistently advance singlestep when emulating instructionsMark Rutland2-3/+5
2018-12-18arm64: KVM: Skip MMIO insn after emulationMark Rutland1-5/+6
2018-12-14kvm: introduce manual dirty log reprotectPaolo Bonzini2-17/+131
2018-12-14kvm: rename last argument to kvm_get_dirty_log_protectPaolo Bonzini2-6/+6
2018-12-14kvm: make KVM_CAP_ENABLE_CAP_VM architecture agnosticPaolo Bonzini1-0/+25
2018-12-10KVM: arm64: Rework detection of SVE, !VHE systemsMarc Zyngier1-4/+4
2018-11-12KVM: arm/arm64: vgic: Replace spin_is_locked() with lockdepLance Roy1-6/+6
2018-10-26Revert "mm, mmu_notifier: annotate mmu notifiers with blockable invalidate ca...Michal Hocko1-1/+0
2018-10-25Merge tag 'kvm-4.20-1' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds7-120/+125
2018-10-24Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-10/+4
2018-10-22Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/a...Linus Torvalds1-2/+2
2018-10-19Merge tag 'kvmarm-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git...Paolo Bonzini5-102/+92
2018-10-18arm/arm64: KVM: Enable 32 bits kvm vcpu events supportDongjiu Geng1-0/+1
2018-10-18arm/arm64: KVM: Rename function kvm_arch_dev_ioctl_check_extension()Dongjiu Geng1-1/+1
2018-10-17KVM: arm64: Fix caching of host MDCR_EL2 valueMark Rutland1-2/+2
2018-10-17KVM: refine the comment of function gfn_to_hva_memslot_prot()Wei Yang1-2/+6
2018-10-17kvm/x86 : add coalesced pio supportPeng Hao2-3/+11
2018-10-17KVM: leverage change to adjust slots->used_slots in update_memslots()Wei Yang1-9/+14
2018-10-17KVM: x86: hyperv: optimize 'all cpus' case in kvm_hv_flush_tlb()Vitaly Kuznetsov1-4/+2
2018-10-03KVM: arm/arm64: Ensure only THP is candidate for adjustmentPunit Agrawal1-1/+7
2018-10-03KVM: arm64: Drop __cpu_init_stage2 on the VHE pathMarc Zyngier1-8/+2
2018-10-03KVM: arm/arm64: Rename kvm_arm_config_vm to kvm_arm_setup_stage2Marc Zyngier1-1/+1
2018-10-03kvm: arm64: Set a limit on the IPA sizeSuzuki K Poulose1-0/+2
2018-10-01vgic: Add support for 52bit guest physical addressKristina Martsenko2-28/+10
2018-10-01kvm: arm/arm64: Prepare for VM specific stage2 translationsSuzuki K Poulose3-60/+63
2018-10-01kvm: arm/arm64: Allow arch specific configurations for VMSuzuki K Poulose1-2/+3
2018-10-01kvm: arm/arm64: Remove spurious WARN_ONSuzuki K Poulose1-1/+1
2018-10-01kvm: arm/arm64: Fix stage2_flush_memslot for 4 level page tableSuzuki K Poulose1-1/+2
2018-09-27signal/arm/kvm: Use send_sig_mceerrEric W. Biederman1-10/+4
2018-09-18arm64: KVM: Enable Common Not Private translationsVladimir Murzin1-2/+2
2018-09-07KVM: Remove obsolete kvm_unmap_hva notifier backendMarc Zyngier2-27/+0
2018-09-07KVM: arm/arm64: Clean dcache to PoC when changing PTE due to CoWMarc Zyngier1-1/+8
2018-08-22Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds14-109/+413
2018-08-22Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-5/+10
2018-08-22mm, oom: distinguish blockable mode for mmu notifiersMichal Hocko1-5/+10
2018-08-22Merge tag 'kvmarm-for-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git...Paolo Bonzini14-109/+413
2018-08-21Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-1/+1
2018-08-19Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-14/+19
2018-08-14Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/a...Linus Torvalds1-10/+10
2018-08-13KVM: arm/arm64: Skip updating PTE entry if no changePunit Agrawal1-0/+4
2018-08-13KVM: arm/arm64: Skip updating PMD entry if no changePunit Agrawal1-11/+27
2018-08-12KVM: arm/arm64: vgic: Do not use spin_lock_irqsave/restore with irq disabledJia He3-12/+15
2018-08-12KVM: arm/arm64: vgic: Move DEBUG_SPINLOCK_BUG_ON to vgic.hJia He2-6/+6
2018-08-12KVM: arm/arm64: vgic-v3: Add core support for Group0 SGIsMarc Zyngier1-4/+15
2018-08-06KVM: try __get_user_pages_fast even if not in atomic contextPaolo Bonzini1-8/+6
2018-08-06KVM: x86: Add tlb remote flush callback in kvm_x86_ops.Tianyu Lan1-1/+2
2018-08-06kvm: x86: Use fast CR3 switch for nested VMXJunaid Shahid1-4/+10
2018-08-06Merge tag 'v4.18-rc6' into HEADPaolo Bonzini1-6/+11
2018-07-31KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blockedChristoffer Dall1-0/+5
2018-07-31KVM: arm/arm64: Fix potential loss of ptimer interruptsChristoffer Dall1-5/+5
2018-07-25Merge branch 'sched/urgent' into sched/core, to pick up fixesIngo Molnar1-6/+11
2018-07-24KVM: arm/arm64: vgic: Fix possible spectre-v1 write in vgic_mmio_write_apr()Mark Rutland1-0/+3
2018-07-21kvm: Don't open code task_pid in kvm_vcpu_ioctlEric W. Biederman1-1/+1
2018-07-21KVM: arm: Add 32bit get/set events supportJames Morse1-4/+0
2018-07-21KVM: arm64: Share the parts of get/set events useful to 32bitJames Morse1-0/+28
2018-07-21arm/arm64: KVM: Add KVM_GET/SET_VCPU_EVENTSDongjiu Geng1-0/+21