aboutsummaryrefslogtreecommitdiffstats
path: root/include/kvm
AgeCommit message (Expand)AuthorFilesLines
2024-03-26KVM: arm64: Fix host-programmed guest events in nVHEOliver Upton1-1/+1
2024-03-07Merge branch kvm-arm64/lpi-xarray into kvmarm/nextOliver Upton1-4/+5
2024-02-23KVM: arm64: vgic: Free LPI vgic_irq structs in an RCU-safe mannerOliver Upton1-0/+1
2024-02-23KVM: arm64: vgic: Use atomics to count LPIsOliver Upton1-2/+2
2024-02-23KVM: arm64: vgic: Get rid of the LPI linked-listOliver Upton1-2/+0
2024-02-23KVM: arm64: vgic: Store LPIs in an xarrayOliver Upton1-0/+2
2024-02-19KVM: arm64: Add feature checking helpersMarc Zyngier1-11/+0
2023-10-31Merge tag 'kvmarm-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmar...Paolo Bonzini4-6/+30
2023-10-30Merge branch kvm-arm64/pmu_pmcr_n into kvmarm/nextOliver Upton1-1/+20
2023-10-30Merge branch kvm-arm64/sgi-injection into kvmarm/nextOliver Upton1-2/+2
2023-10-30Merge branch kvm-arm64/pmevtyper-filter into kvmarm/nextOliver Upton1-0/+5
2023-10-24KVM: arm64: Sanitize PM{C,I}NTEN{SET,CLR}, PMOVS{SET,CLR} before first runRaghavendra Rao Ananta1-1/+2
2023-10-24KVM: arm64: PMU: Set PMCR_EL0.N for vCPU based on the associated PMURaghavendra Rao Ananta1-0/+6
2023-10-24KVM: arm64: PMU: Add a helper to read a vCPU's PMCR_EL0Reiji Watanabe1-0/+6
2023-10-24KVM: arm64: Select default PMU in KVM_ARM_VCPU_INIT handlerReiji Watanabe1-0/+6
2023-10-24KVM: arm64: Make PMEVTYPER<n>_EL0.NSH RES0 if EL2 isn't advertisedOliver Upton1-0/+5
2023-10-12KVM: arm64: timers: Correctly handle TGE flip with CNTPOFF_EL2Marc Zyngier1-0/+7
2023-09-30KVM: arm64: vgic: Make kvm_vgic_inject_irq() take a vcpu pointerMarc Zyngier1-2/+2
2023-09-21KVM: arm64: Get rid of vCPU-scoped feature bitmapOliver Upton2-2/+2
2023-09-21KVM: arm64: Remove unused return value from kvm_reset_vcpu()Oliver Upton1-1/+1
2023-08-23KVM: arm64: pmu: Guard PMU emulation definitions with CONFIG_KVMMarc Zyngier1-1/+1
2023-08-22KVM: arm64: pmu: Resync EL0 state on counter rotationMarc Zyngier1-0/+2
2023-07-13KVM: arm64: vgic-v4: Make the doorbell request robust w.r.t preemptionMarc Zyngier1-1/+1
2023-07-01Merge tag 'kvm-x86-generic-6.5' of https://github.com/kvm-x86/linux into HEADPaolo Bonzini1-6/+0
2023-06-15KVM: arm64: Rip out the vestiges of the 'old' ID register schemeOliver Upton1-2/+6
2023-06-13KVM: destruct kvm_io_device while unregistering it from kvm_io_busWei Wang1-6/+0
2023-06-12KVM: arm64: Rewrite IMPDEF PMU version as NIOliver Upton1-1/+1
2023-05-01Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds3-7/+34
2023-04-21Merge branch kvm-arm64/smccc-filtering into kvmarm-master/nextMarc Zyngier1-1/+5
2023-04-21Merge branch kvm-arm64/timer-vm-offsets into kvmarm-master/nextMarc Zyngier2-6/+29
2023-04-05KVM: arm64: Introduce support for userspace SMCCC filteringOliver Upton1-0/+3
2023-04-05KVM: arm64: Use a maple tree to represent the SMCCC filterOliver Upton1-0/+1
2023-04-05KVM: arm64: Rename SMC/HVC call handler to reflect realityOliver Upton1-1/+1
2023-03-30KVM: arm64: nv: timers: Support hyp timer emulationMarc Zyngier2-2/+8
2023-03-30KVM: arm64: nv: timers: Add a per-timer, per-vcpu offsetMarc Zyngier1-0/+5
2023-03-30KVM: arm64: timers: Move the timer IRQs into arch_timer_vm_dataMarc Zyngier1-4/+14
2023-03-30KVM: arm64: timers: Abstract per-timer IRQ accessMarc Zyngier1-0/+2
2023-03-30KVM: arm64: timers: Rationalise per-vcpu timer initMarc Zyngier1-1/+0
2023-03-30KVM: arm64: timers: Use CNTPOFF_EL2 to offset the physical timerMarc Zyngier1-0/+2
2023-03-30KVM: arm64: timers: Use a per-vcpu, per-timer accumulator for fractional nsMarc Zyngier1-0/+1
2023-03-27arm64: perf: Move PMUv3 driver to drivers/perfMarc Zyngier1-1/+1
2023-03-11KVM: arm64: timers: Convert per-vcpu virtual offset to a global valueMarc Zyngier1-0/+15
2023-02-15Merge tag 'kvm-riscv-6.3-1' of https://github.com/kvm-riscv/linux into HEADPaolo Bonzini1-1/+1
2023-01-29KVM: arm64: Add helper vgic_write_guest_lock()Gavin Shan1-1/+1
2022-12-29KVM: x86: Unify pr_fmt to use module name for all KVM modulesSean Christopherson1-1/+1
2022-12-29KVM: arm64: Simplify the CPUHP logicMarc Zyngier2-0/+8
2022-12-05Merge branch kvm-arm64/pmu-unchained into kvmarm-master/nextMarc Zyngier1-2/+13
2022-11-19KVM: arm64: PMU: Implement PMUv3p5 long counter supportMarc Zyngier1-0/+7
2022-11-19KVM: arm64: PMU: Move the ID_AA64DFR0_EL1.PMUver limit to VM creationMarc Zyngier1-0/+6
2022-11-17KVM: arm64: PMU: Align chained counter implementation with architecture pseud...Marc Zyngier1-2/+0
2022-11-10KVM: arm64: Enable ring-based dirty memory trackingGavin Shan1-0/+1
2022-07-17KVM: arm64: vgic: Consolidate userspace access for base address settingMarc Zyngier1-1/+0
2022-07-17KVM: arm64: vgic-v2: Add helper for legacy dist/cpuif base address settingMarc Zyngier1-0/+1
2022-05-16Merge branch kvm-arm64/per-vcpu-host-pmu-data into kvmarm-master/nextMarc Zyngier1-2/+32
2022-05-16Merge branch kvm-arm64/vgic-invlpir into kvmarm-master/nextMarc Zyngier1-2/+6
2022-05-16Merge branch kvm-arm64/hcall-selection into kvmarm-master/nextMarc Zyngier2-7/+8
2022-05-16KVM: arm64: pmu: Restore compilation when HW_PERF_EVENTS isn't selectedMarc Zyngier1-0/+24
2022-05-15KVM: arm64: Pass pmu events to hyp via vcpuFuad Tabba1-0/+6
2022-05-15KVM: arm64: Repack struct kvm_pmu to reduce sizeFuad Tabba1-2/+2
2022-05-04KVM: arm64: vgic-v3: Advertise GICR_CTLR.{IR, CES} as a new GICD_IIDR revisionMarc Zyngier1-0/+3
2022-05-04KVM: arm64: vgic-v3: Implement MMIO-based LPI invalidationMarc Zyngier1-0/+1
2022-05-04KVM: arm64: vgic-v3: Expose GICR_CTLR.RWP when disabling LPIsMarc Zyngier1-2/+2
2022-05-03KVM: arm64: Setup a framework for hypercall bitmap firmware registersRaghavendra Rao Ananta1-0/+1
2022-05-03KVM: arm64: Factor out firmware register handling from psci.cRaghavendra Rao Ananta2-7/+7
2022-04-20KVM: arm64: Simplify kvm_cpu_has_pending_timer()Marc Zyngier1-2/+0
2022-02-25Merge branch kvm-arm64/psci-1.1 into kvmarm-master/nextMarc Zyngier1-1/+2
2022-02-21KVM: arm64: Bump guest PSCI version to 1.1Will Deacon1-1/+2
2022-02-08Merge branch kvm-arm64/pmu-bl into kvmarm-master/nextMarc Zyngier1-0/+5
2022-02-08KVM: arm64: Keep a list of probed PMUsAlexandru Elisei1-0/+5
2022-02-08KVM: arm64: Drop unused param from kvm_psci_version()Oliver Upton1-5/+1
2022-01-16Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-1/+3
2022-01-04KVM: arm64: vgic: Replace kernel.h with the necessary inclusionsAndy Shevchenko1-1/+3
2021-11-17KVM: arm64: Hide kvm_arm_pmu_available behind CONFIG_HW_PERF_EVENTS=ySean Christopherson1-7/+12
2021-09-20KVM: arm64: Fix PMU probe orderingMarc Zyngier1-3/+0
2021-06-01KVM: arm64: vgic: Implement SW-driven deactivationMarc Zyngier1-0/+10
2021-06-01KVM: arm64: vgic: move irq->get_input_level into an ops structureMarc Zyngier1-11/+17
2021-06-01KVM: arm64: vgic: Let an interrupt controller advertise lack of HW deactivationMarc Zyngier1-0/+3
2021-04-22Merge branch 'kvm-arm64/kill_oprofile_dependency' into kvmarm-master/nextMarc Zyngier1-0/+4
2021-04-22KVM: arm64: Divorce the perf code from oprofile helpersMarc Zyngier1-0/+4
2021-04-06KVM: arm64: vgic-v3: Expose GICR_TYPER.Last for userspaceEric Auger1-0/+1
2021-03-06KVM: arm64: Turn kvm_arm_support_pmu_v3() into a static keyMarc Zyngier1-2/+7
2021-01-04KVM: arm64: Replace KVM_ARM_PMU with HW_PERF_EVENTSMarc Zyngier1-1/+1
2020-12-04Merge remote-tracking branch 'origin/kvm-arm64/misc-5.11' into kvmarm-master/...Marc Zyngier1-0/+1
2020-11-30KVM: arm64: Delay the polling of the GICR_VPENDBASER.Dirty bitShenming Lu1-0/+1
2020-11-27KVM: arm64: Get rid of the PMU ready stateMarc Zyngier1-3/+0
2020-10-23Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-0/+5
2020-09-29KVM: arm64: Mask out filtered events in PCMEID{0,1}_EL1Marc Zyngier1-0/+5
2020-09-28KVM: arm64: pmu: Make overflow handler NMI safeJulien Thierry1-0/+1
2020-07-07KVM: arm64: timers: Move timer registers to the sys_regs fileMarc Zyngier1-7/+4
2020-07-07KVM: arm64: timers: Rename kvm_timer_sync_hwstate to kvm_timer_sync_userMarc Zyngier1-1/+1
2020-05-28KVM: arm64: vgic-v3: Take cpu_if pointer directly instead of vcpuChristoffer Dall1-1/+4
2020-03-24KVM: arm64: GICv4.1: Allow SGIs to switch between HW and SW interruptsMarc Zyngier1-0/+3
2020-03-24irqchip/gic-v4.1: Move doorbell management to the GICv4 abstraction layerMarc Zyngier1-0/+1
2019-11-08Merge remote-tracking branch 'kvmarm/misc-5.5' into kvmarm/nextMarc Zyngier1-5/+3
2019-10-29KVM: arm/arm64: vgic: Fix some comments typoZenghui Yu1-1/+1
2019-10-29KVM: arm/arm64: vgic: Remove the declaration of kvm_send_userspace_msi()Zenghui Yu1-2/+0
2019-10-28KVM: arm64: vgic-v4: Move the GICv4 residency flow to be driven by vcpu_load/putMarc Zyngier1-2/+2
2019-10-21KVM: arm/arm64: Factor out hypercall handling from PSCI codeChristoffer Dall2-1/+44
2019-08-25KVM: arm/arm64: vgic: Use a single IO device per redistributorEric Auger1-1/+0
2019-08-18KVM: arm/arm64: vgic: Add LPI translation cache definitionMarc Zyngier1-0/+3
2019-08-05KVM: arm/arm64: Sync ICH_VMCR_EL2 back when about to blockMarc Zyngier1-0/+1
2019-07-23KVM: arm/arm64: Introduce kvm_pmu_vcpu_init() to setup PMU counter indexZenghui Yu1-0/+2
2019-07-05KVM: arm/arm64: Support chained PMU countersAndrew Murray1-0/+2
2019-07-05KVM: arm/arm64: Remove pmc->bitmaskAndrew Murray1-1/+0
2019-07-05KVM: arm/arm64: Rename kvm_pmu_{enable/disable}_counter functionsAndrew Murray1-4/+4
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234Thomas Gleixner3-36/+3
2019-06-05treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 342Thomas Gleixner1-13/+1
2019-06-05treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333Thomas Gleixner1-13/+1
2019-03-15Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-19/+49
2019-02-19KVM: arm/arm64: Rework the timer code to use a timer_mapChristoffer Dall1-10/+13
2019-02-19KVM: arm/arm64: arch_timer: Assign the phys timer on VHE systemsChristoffer Dall1-0/+6
2019-02-19KVM: arm/arm64: timer: Rework data structures for multiple timersChristoffer Dall1-20/+21
2019-02-19KVM: arm/arm64: consolidate arch timer trap handlersAndre Przywara1-0/+23
2019-02-19KVM: arm/arm64: Simplify bg_timer programmingChristoffer Dall1-3/+0
2019-01-24KVM: arm/arm64: vgic: Make vgic_cpu->ap_list_lock a raw_spinlockJulien Thierry1-1/+1
2019-01-24KVM: arm/arm64: vgic: Make vgic_dist->lpi_list_lock a raw_spinlockJulien Thierry1-1/+1
2019-01-24KVM: arm/arm64: vgic: Make vgic_irq->irq_lock a raw_spinlockJulien Thierry1-1/+1
2018-12-19KVM: arm/arm64: Remove arch timer workqueueChristoffer Dall1-4/+0
2018-08-12KVM: arm/arm64: vgic-v3: Add core support for Group0 SGIsMarc Zyngier1-1/+1
2018-07-21KVM: arm/arm64: vgic: Let userspace opt-in to writable v2 IGROUPRChristoffer Dall1-0/+3
2018-07-21KVM: arm/arm64: vgic: Add group field to struct irqChristoffer Dall1-0/+1
2018-07-21KVM: arm/arm64: vgic: Keep track of implementation revisionChristoffer Dall1-0/+3
2018-05-25KVM: arm/arm64: Bump VGIC_V3_MAX_CPUS to 512Eric Auger1-1/+1
2018-05-25KVM: arm/arm64: Remove kvm_vgic_vcpu_early_initEric Auger1-1/+0
2018-05-25KVM: arm/arm64: Replace the single rdist region by a listEric Auger1-4/+10
2018-04-27KVM: arm/arm64: vgic: Fix source vcpu issues for GICv2 SGIMarc Zyngier1-0/+1
2018-04-20arm/arm64: KVM: Add PSCI version selection APIMarc Zyngier1-2/+14
2018-03-19Merge tag 'kvm-arm-fixes-for-v4.16-2' into HEADMarc Zyngier1-0/+1
2018-03-19KVM: arm/arm64: Keep GICv2 HYP VAs in kvm_vgic_global_stateMarc Zyngier1-6/+6
2018-03-19KVM: arm/arm64: Get rid of vgic_elrsrChristoffer Dall1-2/+0
2018-03-14KVM: arm/arm64: Reset mapped IRQs on VM resetChristoffer Dall1-0/+1
2018-02-10Merge tag 'kvm-4.16-1' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds2-1/+14
2018-02-08Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/a...Linus Torvalds1-0/+51
2018-02-06arm/arm64: KVM: Turn kvm_psci_version into a static inlineMarc Zyngier1-1/+20
2018-02-06arm/arm64: KVM: Advertise SMCCC v1.1Marc Zyngier1-1/+1
2018-02-06arm/arm64: KVM: Implement PSCI 1.0 supportMarc Zyngier1-0/+3
2018-02-06arm/arm64: KVM: Add PSCI_VERSION helperMarc Zyngier1-2/+4
2018-02-06arm/arm64: KVM: Consolidate the PSCI include filesMarc Zyngier1-0/+27
2018-02-01Merge branch 'x86/hyperv' of git://git.kernel.org/pub/scm/linux/kernel/git/ti...Radim Krčmář1-1/+1
2018-01-02KVM: arm/arm64: Provide a get_input_level for the arch timerChristoffer Dall1-0/+2
2018-01-02KVM: arm/arm64: Support a vgic interrupt line level sample functionChristoffer Dall1-1/+12
2017-12-18KVM: arm/arm64: timer: Don't set irq as forwarded if no usable GICMarc Zyngier1-1/+1
2017-11-29KVM: arm/arm64: Don't enable/disable physical timer access on VHEChristoffer Dall1-3/+0
2017-11-10KVM: arm/arm64: GICv4: Use the doorbell interrupt as an unblocking sourceMarc Zyngier1-0/+3
2017-11-10KVM: arm/arm64: GICv4: Wire mapping/unmapping of VLPIs in VFIO irq bypassMarc Zyngier1-0/+8
2017-11-10KVM: arm/arm64: GICv4: Add init/teardown of the per-VM vPE irq domainMarc Zyngier1-0/+19
2017-11-10KVM: arm/arm64: GICv4: Add property field and per-VM predicateMarc Zyngier1-0/+3
2017-11-06KVM: arm/arm64: vgic: restructure kvm_vgic_(un)map_phys_irqEric Auger1-3/+5
2017-11-06KVM: arm/arm64: Rework kvm_timer_should_fireChristoffer Dall1-1/+2
2017-11-06KVM: arm/arm64: Get rid of kvm_timer_flush_hwstateChristoffer Dall1-1/+0
2017-11-06KVM: arm/arm64: Avoid timer save/restore in vcpu entry/exitChristoffer Dall1-2/+14
2017-11-06KVM: arm/arm64: Use separate timer for phys timer emulationChristoffer Dall1-0/+3
2017-11-06KVM: arm/arm64: Rename soft timer to bg_timerChristoffer Dall1-1/+1
2017-11-06KVM: arm/arm64: Make timer_arm and timer_disarm helpers more genericChristoffer Dall1-3/+0
2017-07-25KVM: arm/arm64: PMU: Fix overflow interrupt injectionAndrew Jones1-2/+0
2017-06-15KVM: arm64: vgic-v3: Add hook to handle guest GICv3 sysreg accesses at EL2Marc Zyngier1-0/+1
2017-06-15Merge branch 'kvmarm-master/master' into HEADMarc Zyngier1-1/+4
2017-06-08KVM: arm/arm64: Don't assume initialized vgic when setting PMU IRQChristoffer Dall1-0/+2
2017-06-08KVM: arm/arm64: Disallow userspace control of in-kernel IRQ linesChristoffer Dall1-3/+1
2017-06-08KVM: arm/arm64: Introduce an allocator for in-kernel irq linesChristoffer Dall1-0/+5
2017-06-08KVM: arm/arm64: Allow setting the timer IRQ numbers from userspaceChristoffer Dall1-0/+4
2017-06-08KVM: arm/arm64: Move timer IRQ default init to arch_timer.cChristoffer Dall1-3/+1
2017-06-08KVM: arm/arm64: Move irq_is_ppi() to header fileChristoffer Dall1-0/+2
2017-06-08KVM: arm64: Allow creating the PMU without the in-kernel GICChristoffer Dall1-0/+6
2017-05-18KVM: arm/arm64: Fix bug when registering redist iodevsChristoffer Dall1-1/+4
2017-05-09Merge tag 'kvm-arm-for-v4.12-round2' of git://git.kernel.org/pub/scm/linux/ke...Paolo Bonzini1-1/+4
2017-05-09KVM: arm/arm64: Get rid of its->initialized fieldMarc Zyngier1-1/+0
2017-05-09KVM: arm/arm64: Register iodevs when setting redist base and creating VCPUsChristoffer Dall1-0/+1
2017-05-08Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds3-6/+12
2017-05-08KVM: arm64: vgic-its: Introduce migration ABI infrastructureEric Auger1-0/+3
2017-04-09KVM: arm/arm64: Report PMU overflow interrupts to userspace irqchipChristoffer Dall1-0/+7
2017-04-09KVM: arm/arm64: Support arch timers with a userspace gicAlexander Graf1-0/+2
2017-04-09KVM: arm/arm64: vgic: Get rid of MISR and EISR fieldsChristoffer Dall1-4/+0
2017-04-09KVM: arm/arm64: vgic: Get rid of live_lrsChristoffer Dall1-2/+0
2017-04-09KVM: arm/arm64: vgic: Defer touching GICH_VMCR to vcpu_load/putChristoffer Dall1-0/+3
2017-04-04KVM: arm64: Ensure LRs are clear when they should beChristoffer Dall1-0/+1
2017-02-08KVM: arm/arm64: Emulate the EL1 phys timer registersJintack Lim1-0/+2
2017-02-08KVM: arm/arm64: Initialize the emulated EL1 physical timerJintack Lim1-1/+2
2017-02-08KVM: arm/arm64: Add the EL1 physical timer contextJintack Lim1-0/+2
2017-02-08KVM: arm/arm64: Decouple kvm timer functions from virtual timerJintack Lim1-1/+1
2017-02-08KVM: arm/arm64: Move cntvoff to each timer contextJintack Lim1-6/+3
2017-02-08KVM: arm/arm64: Abstract virtual timer context into separate structureJintack Lim1-13/+14
2017-01-30KVM: arm/arm64: vgic: Implement VGICv3 CPU interface accessVijaya Kumar K1-0/+8
2017-01-25KVM: arm/arm64: vgic: Add debugfs vgic-state fileChristoffer Dall1-0/+5
2017-01-25KVM: arm/arm64: Remove struct vgic_irq pending fieldChristoffer Dall1-2/+3
2017-01-13KVM: arm64: Access CNTHCTL_EL2 bit fields correctly on VHE systemsJintack Lim1-0/+1
2016-12-25clocksource: Use a plain u64 instead of cycle_tThomas Gleixner1-2/+2
2016-09-22ARM: KVM: Support vgic-v3Vladimir Murzin1-8/+0
2016-09-22arm64: KVM: Use static keys for selecting the GIC backendVladimir Murzin1-0/+4
2016-09-08arm64: KVM: vgic-v2: Add GICV access from HYPMarc Zyngier1-0/+3
2016-09-08arm64: KVM: vgic-v2: Add the GICV emulation infrastructureMarc Zyngier1-0/+3
2016-08-04Merge tag 'kvm-arm-for-4.8-take2' of git://git.kernel.org/pub/scm/linux/kerne...Paolo Bonzini1-0/+7
2016-08-02Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds2-494/+190
2016-07-22KVM: arm/arm64: Enable irqchip routingEric Auger1-0/+7
2016-07-18KVM: arm64: vgic-its: Add pointer to corresponding kvm_deviceMarc Zyngier1-0/+1
2016-07-18KVM: arm64: vgic-its: Enable ITS emulation as a virtual MSI controllerAndre Przywara1-0/+5
2016-07-18KVM: arm64: vgic-its: Connect LPIs to the VGIC emulationAndre Przywara1-0/+6
2016-07-18KVM: arm64: vgic-its: Implement basic ITS register handlersAndre Przywara1-0/+16
2016-07-18KVM: arm64: vgic-its: Introduce new KVM ITS deviceAndre Przywara1-0/+3
2016-07-18KVM: arm64: vgic-its: Introduce ITS emulation file with MMIO frameworkAndre Przywara1-1/+21