aboutsummaryrefslogtreecommitdiffstats
path: root/include/kvm
AgeCommit message (Expand)AuthorFilesLines
9 daysMerge branch kvm-arm64/vgic-v5-PPI-fixes into kvmarm-master/nextMarc Zyngier1-9/+10
10 daysKVM: arm64: vgic: Constify struct irq_ops usageMarc Zyngier1-4/+5
10 daysKVM: arm64: vgic-v5: Move PPI caps into kvm_vgic_global_stateMarc Zyngier1-5/+5
11 daysKVM: arm64: pmu: Kill the PMU interrupt level cacheMarc Zyngier1-1/+0
11 daysKVM: arm64: timer: Kill the per-timer irq level cacheMarc Zyngier1-5/+0
11 daysKVM: arm64: Simplify userspace notification of interrupt stateMarc Zyngier2-3/+3
2026-04-01KVM: arm64: Kill arch_timer_context::direct fieldMarc Zyngier1-3/+0
2026-03-19KVM: arm64: gic-v5: Communicate userspace-driveable PPIs via a UAPISascha Bischoff1-0/+3
2026-03-19KVM: arm64: gic-v5: Mandate architected PPI for PMU emulation on GICv5Sascha Bischoff1-1/+4
2026-03-19KVM: arm64: gic-v5: Enlighten arch timer for GICv5Sascha Bischoff2-1/+13
2026-03-19KVM: arm64: gic-v5: Create and initialise vgic_v5Sascha Bischoff1-0/+1
2026-03-19KVM: arm64: Introduce set_direct_injection irq_opSascha Bischoff1-0/+7
2026-03-19KVM: arm64: gic: Introduce queue_irq_unlock to irq_opsSascha Bischoff1-0/+8
2026-03-19KVM: arm64: gic-v5: Finalize GICv5 PPIs and generate maskSascha Bischoff1-0/+24
2026-03-19KVM: arm64: gic-v5: Implement GICv5 load/put and save/restoreSascha Bischoff1-0/+2
2026-03-19KVM: arm64: gic-v5: Add vgic-v5 save/restore hyp interfaceSascha Bischoff1-0/+22
2026-03-19KVM: arm64: gic-v5: Sanitize ID_AA64PFR2_EL1.GCIESascha Bischoff1-0/+1
2026-03-19KVM: arm64: gic-v5: Detect implemented PPIs on bootSascha Bischoff1-0/+13
2026-03-19KVM: arm64: gic: Introduce interrupt type helpersSascha Bischoff1-5/+97
2026-03-19KVM: arm64: vgic: Split out mapping IRQs and setting irq_opsSascha Bischoff1-1/+4
2026-02-02KVM: arm64: Use standard seq_file iterator for vgic-debug debugfsFuad Tabba1-3/+0
2026-02-02KVM: arm64: Reimplement vgic-debug XArray iterationFuad Tabba1-1/+0
2025-11-24KVM: arm64: GICv2: Handle deactivation via GICV_DIR trapsMarc Zyngier1-0/+1
2025-11-24KVM: arm64: GICv3: Add SPI tracking to handle asymmetric deactivationMarc Zyngier1-0/+3
2025-11-24KVM: arm64: GICv3: Handle deactivation via ICV_DIR_EL1 trapsMarc Zyngier1-0/+1
2025-11-24KVM: arm64: Add tracking of vgic_irq being present in a LRMarc Zyngier1-0/+1
2025-11-24KVM: arm64: Repack struct vgic_irq fieldsMarc Zyngier1-10/+10
2025-11-24irqchip/gic: Expose CPU interface VA to KVMMarc Zyngier1-0/+3
2025-10-13KVM: arm64: Kill leftovers of ad-hoc timer userspace accessMarc Zyngier1-3/+0
2025-10-13KVM: arm64: Make timer_set_offset() generally accessibleMarc Zyngier1-0/+10
2025-10-13KVM: arm64: Replace timer context vcpu pointer with timer_idMarc Zyngier1-5/+6
2025-10-13KVM: arm64: Introduce timer_context_to_vcpu() helperMarc Zyngier1-1/+1
2025-09-30Merge tag 'kvmarm-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kvma...Paolo Bonzini1-1/+1
2025-09-20Merge branch kvm-arm64/gic-v5-nv into kvmarm-master/nextMarc Zyngier1-0/+1
2025-09-17KVM: arm64: Don't access ICC_SRE_EL2 if GICv3 doesn't support v2 compatibilityMarc Zyngier1-0/+1
2025-09-15KVM: arm64: vgic-init: Remove vgic_ready() macroKeir Fraser1-1/+0
2025-09-10KVM: arm64: vgic-v3: Erase LPIs from xarray outside of raw spinlocksOliver Upton1-0/+3
2025-09-10KVM: arm64: vgic-v3: Use bare refcount for VGIC LPIsOliver Upton1-2/+2
2025-09-10KVM: arm64: vgic: Drop stale comment on IRQ active stateOliver Upton1-1/+1
2025-07-29Merge tag 'kvmarm-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/kv...Paolo Bonzini1-1/+8
2025-07-28Merge branch 'kvm-arm64/vgic-v4-ctl' into kvmarm/nextOliver Upton1-0/+3
2025-07-26KVM: arm64: vgic-v3: Allow userspace to write GICD_TYPER2.nASSGIcapRaghavendra Rao Ananta1-0/+3
2025-07-08KVM: arm64: gic-v5: Support GICv3 compatSascha Bischoff1-1/+5
2025-06-23KVM: Don't WARN if updating IRQ bypass route failsSean Christopherson1-1/+1
2025-05-30KVM: arm64: Resolve vLPI by host IRQ in vgic_v4_unset_forwarding()Oliver Upton1-2/+1
2025-03-19Merge branch 'kvm-arm64/pmu-fixes' into kvmarm/nextOliver Upton1-2/+3
2025-03-19Merge branch 'kvm-arm64/pmuv3-asahi' into kvmarm/nextOliver Upton1-9/+3
2025-03-17KVM: arm64: PMU: Reload when resettingAkihiko Odaki1-2/+0
2025-03-17KVM: arm64: PMU: Fix SET_ONE_REG for vPMC regsAkihiko Odaki1-0/+3
2025-03-11KVM: arm64: Drop kvm_arm_pmu_available static keyOliver Upton1-8/+2
2025-03-11KVM: arm64: Use a cpucap to determine if system supports FEAT_PMUv3Oliver Upton1-1/+1
2025-03-03KVM: arm64: nv: Add Maintenance Interrupt emulationMarc Zyngier1-0/+4
2025-03-03KVM: arm64: nv: Nested GICv3 emulationMarc Zyngier1-0/+2
2025-03-03KVM: arm64: nv: Plumb handling of GICv3 EL2 accessesMarc Zyngier1-0/+4
2025-01-17Merge branch kvm-arm64/pkvm-memshare-declutter into kvmarm-master/nextMarc Zyngier1-4/+2
2025-01-02KVM: arm64: Work around x1e's CNTVOFF_EL2 bogosityMarc Zyngier1-0/+7
2025-01-02KVM: arm64: nv: Accelerate EL0 timer read accesses when FEAT_ECV in useMarc Zyngier1-0/+15
2025-01-02KVM: arm64: nv: Sync nested timer state with FEAT_NV2Marc Zyngier1-0/+1
2024-12-18KVM: arm64: Add unified helper for reprogramming counters by maskOliver Upton1-4/+2
2024-11-20KVM: arm64: vgic: Kill VGIC_MAX_PRIVATE definitionMarc Zyngier1-1/+0
2024-11-11Merge branch kvm-arm64/nv-pmu into kvmarm/nextOliver Upton1-2/+16
2024-11-11Merge branch kvm-arm64/psci-1.3 into kvmarm/nextOliver Upton1-1/+3
2024-10-31KVM: arm64: nv: Reprogram PMU events affected by nested transitionOliver Upton1-0/+3
2024-10-31KVM: arm64: nv: Adjust range of accessible PMCs according to HPMNOliver Upton1-0/+5
2024-10-31KVM: arm64: Rename kvm_pmu_valid_counter_mask()Oliver Upton1-2/+2
2024-10-31KVM: arm64: nv: Describe trap behaviour of MDCR_EL2.HPMNOliver Upton1-0/+6
2024-10-31KVM: arm64: nv: Handle CNTHCTL_EL2 speciallyMarc Zyngier1-0/+3
2024-10-24KVM: arm64: Add support for PSCI v1.2 and v1.3David Woodhouse1-1/+3
2024-08-16KVM: arm64: Refine PMU defines for number of countersRob Herring (Arm)1-1/+2
2024-08-16arm64: perf/kvm: Use a common PMU cycle counter defineRob Herring (Arm)1-1/+0
2024-08-16perf: arm_pmuv3: Prepare for more than 32 countersRob Herring (Arm)1-2/+2
2024-05-08Merge branch kvm-arm64/misc-6.10 into kvmarm-master/nextMarc Zyngier1-1/+1
2024-05-03Merge branch kvm-arm64/pkvm-6.10 into kvmarm-master/nextMarc Zyngier1-1/+0
2024-05-03KVM: arm64: vgic: Allocate private interrupts on demandMarc Zyngier1-1/+1
2024-05-01KVM: arm64: Simplify vgic-v3 hypercallsMarc Zyngier1-1/+0
2024-04-25KVM: arm64: vgic-its: Get rid of the lpi_list_lockOliver Upton1-3/+0
2024-04-25KVM: arm64: vgic-its: Rip out the global translation cacheOliver Upton1-3/+0
2024-04-25KVM: arm64: vgic-its: Maintain a translation cache per ITSOliver Upton1-0/+6
2024-04-25KVM: arm64: vgic-its: Get rid of vgic_copy_lpi_list()Oliver Upton1-1/+0
2024-04-25KVM: arm64: vgic-debug: Use an xarray mark for debug iteratorOliver Upton1-0/+2
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