History log of /kvm-unit-tests/lib/s390x/asm/ (Results 1 – 25 of 113)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
863e0b9029-May-2025 Sean Christopherson <seanjc@google.com>

lib: Add and use static_assert() convenience wrappers

Add static_assert() to wrap _Static_assert() with stringification of the
tested expression as the assert message. In most cases, the failed
exp

lib: Add and use static_assert() convenience wrappers

Add static_assert() to wrap _Static_assert() with stringification of the
tested expression as the assert message. In most cases, the failed
expression is far more helpful than a human-generated message (usually
because the developer is forced to add _something_ for the message).

For API consistency, provide a double-underscore variant for specifying a
custom message.

Reviewed-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Link: https://lore.kernel.org/r/20250529221929.3807680-2-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>

show more ...


/kvm-unit-tests/.editorconfig
/kvm-unit-tests/.travis.yml
/kvm-unit-tests/Makefile
/kvm-unit-tests/arm/Makefile.arm
/kvm-unit-tests/arm/Makefile.arm64
/kvm-unit-tests/arm/Makefile.common
/kvm-unit-tests/arm/cstart.S
/kvm-unit-tests/arm/cstart64.S
/kvm-unit-tests/arm/mte.c
/kvm-unit-tests/arm/pmu.c
/kvm-unit-tests/arm/run
/kvm-unit-tests/arm/unittests.cfg
/kvm-unit-tests/configure
/kvm-unit-tests/lib/arm/asm/arch_gicv3.h
/kvm-unit-tests/lib/arm/asm/assembler.h
/kvm-unit-tests/lib/arm/asm/gic-v2.h
/kvm-unit-tests/lib/arm/asm/gic-v3.h
/kvm-unit-tests/lib/arm/asm/gic.h
/kvm-unit-tests/lib/arm/asm/page.h
/kvm-unit-tests/lib/arm/asm/ptrace.h
/kvm-unit-tests/lib/arm/asm/sysreg.h
/kvm-unit-tests/lib/arm/asm/thread_info.h
/kvm-unit-tests/lib/arm/asm/timer.h
/kvm-unit-tests/lib/arm/setup.c
/kvm-unit-tests/lib/arm64/asm/arch_gicv3.h
/kvm-unit-tests/lib/arm64/asm/assembler.h
/kvm-unit-tests/lib/arm64/asm/mmu.h
/kvm-unit-tests/lib/arm64/asm/page.h
/kvm-unit-tests/lib/arm64/asm/pgtable-hwdef.h
/kvm-unit-tests/lib/arm64/asm/processor.h
/kvm-unit-tests/lib/arm64/asm/ptrace.h
/kvm-unit-tests/lib/arm64/asm/sysreg.h
/kvm-unit-tests/lib/asm-generic/page.h
/kvm-unit-tests/lib/auxinfo.h
/kvm-unit-tests/lib/cpumask.h
/kvm-unit-tests/lib/libcflat.h
/kvm-unit-tests/lib/libfdt/fdt.h
/kvm-unit-tests/lib/linux/compiler.h
/kvm-unit-tests/lib/linux/const.h
/kvm-unit-tests/lib/powerpc/asm/hcall.h
/kvm-unit-tests/lib/powerpc/asm/processor.h
/kvm-unit-tests/lib/powerpc/asm/rtas.h
/kvm-unit-tests/lib/ppc64/asm/page.h
/kvm-unit-tests/lib/ppc64/asm/ptrace.h
/kvm-unit-tests/lib/ppc64/asm/vpa.h
/kvm-unit-tests/lib/riscv/asm-offsets.c
/kvm-unit-tests/lib/riscv/asm/bug.h
/kvm-unit-tests/lib/riscv/asm/csr.h
/kvm-unit-tests/lib/riscv/asm/isa.h
/kvm-unit-tests/lib/riscv/asm/page.h
/kvm-unit-tests/lib/riscv/asm/sbi.h
/kvm-unit-tests/lib/riscv/io.c
/kvm-unit-tests/lib/riscv/sbi-sse-asm.S
/kvm-unit-tests/lib/riscv/sbi.c
/kvm-unit-tests/lib/riscv/setjmp.S
arch_def.h
/kvm-unit-tests/lib/s390x/fault.c
/kvm-unit-tests/lib/util.h
/kvm-unit-tests/lib/x86/apic-defs.h
/kvm-unit-tests/lib/x86/apic.h
/kvm-unit-tests/lib/x86/asm/page.h
/kvm-unit-tests/lib/x86/atomic.h
/kvm-unit-tests/lib/x86/desc.c
/kvm-unit-tests/lib/x86/desc.h
/kvm-unit-tests/lib/x86/msr.h
/kvm-unit-tests/lib/x86/pmu.c
/kvm-unit-tests/lib/x86/processor.h
/kvm-unit-tests/lib/x86/setup.c
/kvm-unit-tests/lib/x86/smp.c
/kvm-unit-tests/lib/x86/smp.h
/kvm-unit-tests/powerpc/cstart64.S
/kvm-unit-tests/riscv/.gitignore
/kvm-unit-tests/riscv/Makefile
/kvm-unit-tests/riscv/cstart.S
/kvm-unit-tests/riscv/run
/kvm-unit-tests/riscv/sbi-asm-offsets.c
/kvm-unit-tests/riscv/sbi-asm.S
/kvm-unit-tests/riscv/sbi-fwft.c
/kvm-unit-tests/riscv/sbi-sse.c
/kvm-unit-tests/riscv/sbi-tests.h
/kvm-unit-tests/riscv/sbi.c
/kvm-unit-tests/s390x/Makefile
/kvm-unit-tests/scripts/asm-offsets.mak
/kvm-unit-tests/scripts/mkstandalone.sh
/kvm-unit-tests/scripts/runtime.bash
/kvm-unit-tests/x86/Makefile.common
/kvm-unit-tests/x86/Makefile.i386
/kvm-unit-tests/x86/Makefile.x86_64
/kvm-unit-tests/x86/apic.c
/kvm-unit-tests/x86/asyncpf.c
/kvm-unit-tests/x86/cstart.S
/kvm-unit-tests/x86/cstart64.S
/kvm-unit-tests/x86/debug.c
/kvm-unit-tests/x86/efi/efistart64.S
/kvm-unit-tests/x86/ioapic.c
/kvm-unit-tests/x86/la57.c
/kvm-unit-tests/x86/lam.c
/kvm-unit-tests/x86/pcid.c
/kvm-unit-tests/x86/pks.c
/kvm-unit-tests/x86/pmu.c
/kvm-unit-tests/x86/pmu_lbr.c
/kvm-unit-tests/x86/pmu_pebs.c
/kvm-unit-tests/x86/run
/kvm-unit-tests/x86/svm_npt.c
/kvm-unit-tests/x86/trampolines.S
/kvm-unit-tests/x86/unittests.cfg
/kvm-unit-tests/x86/vmx_tests.c
c679803006-Aug-2024 Janosch Frank <frankja@linux.ibm.com>

lib: s390x: Split SIE fw structs from lib structs

The SIE control block is huge and takes up too much space.

Let's split the hardware definitions from sie.h into its own header,
so that sie.h will

lib: s390x: Split SIE fw structs from lib structs

The SIE control block is huge and takes up too much space.

Let's split the hardware definitions from sie.h into its own header,
so that sie.h will only contain library functions and structs

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Christoph Schlameuss <schlameuss@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20240806084409.169039-5-frankja@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

708ec6db16-Oct-2024 Nina Schoetterl-Glausch <nsg@linux.ibm.com>

s390x: Add test for STFLE interpretive execution (format-0)

The STFLE instruction indicates installed facilities.
SIE can interpretively execute STFLE.
Use a snippet guest executing STFLE to get the

s390x: Add test for STFLE interpretive execution (format-0)

The STFLE instruction indicates installed facilities.
SIE can interpretively execute STFLE.
Use a snippet guest executing STFLE to get the result of
interpretive execution and check the result.

Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Link: https://lore.kernel.org/r/20241016180320.686132-7-nsg@linux.ibm.com
[ nrb: fixup minor checkpatch issues ]
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

da49e29116-Oct-2024 Nina Schoetterl-Glausch <nsg@linux.ibm.com>

s390x: Add library functions for exiting from snippet

It is useful to be able to force an exit to the host from the snippet,
as well as do so while returning a value.
Add this functionality, also ad

s390x: Add library functions for exiting from snippet

It is useful to be able to force an exit to the host from the snippet,
as well as do so while returning a value.
Add this functionality, also add helper functions for the host to check
for an exit and get or check the value.
Use diag 0x44 and 0x9c for this.
Add a guest specific snippet header file and rename snippet.h to reflect
that it is host specific.

Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Link: https://lore.kernel.org/r/20241016180320.686132-5-nsg@linux.ibm.com
[ nrb: fix out-of-tree builds ]
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

638bbf6610-Oct-2024 Nico Boehr <nrb@linux.ibm.com>

s390x: edat: move LC_SIZE to arch_def.h

struct lowcore is defined in arch_def.h and LC_SIZE is useful to other
tests as well, therefore move it to arch_def.h.

Reviewed-by: Claudio Imbrenda <imbrend

s390x: edat: move LC_SIZE to arch_def.h

struct lowcore is defined in arch_def.h and LC_SIZE is useful to other
tests as well, therefore move it to arch_def.h.

Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20241010071228.565038-2-nrb@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

6b32c6d521-Jun-2024 Nina Schoetterl-Glausch <nsg@linux.ibm.com>

s390x: Split and rework cpacf query functions

Cherry-pick 830999bd7e72 ("s390/cpacf: Split and rework cpacf query functions")
from the kernel:

Rework the cpacf query functions to use the correc

s390x: Split and rework cpacf query functions

Cherry-pick 830999bd7e72 ("s390/cpacf: Split and rework cpacf query functions")
from the kernel:

Rework the cpacf query functions to use the correct RRE
or RRF instruction formats and set register fields within
instructions correctly.

Fixes: a555dc6b16bf ("s390x: add cpacf.h from Linux")
Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Reviewed-by: Nico Boehr <nrb@linux.ibm.com>
Link: https://lore.kernel.org/r/20240621102212.3311494-1-nsg@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...


/kvm-unit-tests/.gitlab-ci.yml
/kvm-unit-tests/.shellcheckrc
/kvm-unit-tests/.travis.yml
/kvm-unit-tests/MAINTAINERS
/kvm-unit-tests/Makefile
/kvm-unit-tests/README.md
/kvm-unit-tests/arm/Makefile.arm64
/kvm-unit-tests/arm/cstart.S
/kvm-unit-tests/arm/cstart64.S
/kvm-unit-tests/arm/fpu.c
/kvm-unit-tests/arm/selftest.c
/kvm-unit-tests/arm/unittests.cfg
/kvm-unit-tests/common/sieve.c
/kvm-unit-tests/configure
/kvm-unit-tests/docs/unittests.txt
/kvm-unit-tests/lib/arm/asm/arm-smccc.h
/kvm-unit-tests/lib/arm/asm/pgtable.h
/kvm-unit-tests/lib/arm/asm/psci.h
/kvm-unit-tests/lib/arm/psci.c
/kvm-unit-tests/lib/arm/setup.c
/kvm-unit-tests/lib/arm64/asm/arm-smccc.h
/kvm-unit-tests/lib/arm64/asm/esr.h
/kvm-unit-tests/lib/arm64/asm/processor.h
/kvm-unit-tests/lib/arm64/asm/sysreg.h
/kvm-unit-tests/lib/arm64/processor.c
/kvm-unit-tests/lib/asm-generic/page.h
/kvm-unit-tests/lib/cpumask.h
/kvm-unit-tests/lib/libcflat.h
/kvm-unit-tests/lib/limits.h
/kvm-unit-tests/lib/memregions.h
/kvm-unit-tests/lib/on-cpus.c
/kvm-unit-tests/lib/on-cpus.h
/kvm-unit-tests/lib/powerpc/asm/hcall.h
/kvm-unit-tests/lib/powerpc/asm/processor.h
/kvm-unit-tests/lib/powerpc/asm/reg.h
/kvm-unit-tests/lib/powerpc/asm/rtas.h
/kvm-unit-tests/lib/powerpc/asm/setup.h
/kvm-unit-tests/lib/powerpc/asm/smp.h
/kvm-unit-tests/lib/powerpc/hcall.c
/kvm-unit-tests/lib/powerpc/io.c
/kvm-unit-tests/lib/powerpc/io.h
/kvm-unit-tests/lib/powerpc/processor.c
/kvm-unit-tests/lib/powerpc/rtas.c
/kvm-unit-tests/lib/powerpc/setup.c
/kvm-unit-tests/lib/powerpc/smp.c
/kvm-unit-tests/lib/ppc64/asm-offsets.c
/kvm-unit-tests/lib/ppc64/asm/atomic.h
/kvm-unit-tests/lib/ppc64/asm/barrier.h
/kvm-unit-tests/lib/ppc64/asm/mmu.h
/kvm-unit-tests/lib/ppc64/asm/opal.h
/kvm-unit-tests/lib/ppc64/asm/page.h
/kvm-unit-tests/lib/ppc64/asm/pgtable-hwdef.h
/kvm-unit-tests/lib/ppc64/asm/pgtable.h
/kvm-unit-tests/lib/ppc64/asm/ptrace.h
/kvm-unit-tests/lib/ppc64/mmu.c
/kvm-unit-tests/lib/ppc64/opal-calls.S
/kvm-unit-tests/lib/ppc64/opal.c
/kvm-unit-tests/lib/rand.c
/kvm-unit-tests/lib/rand.h
/kvm-unit-tests/lib/report.c
/kvm-unit-tests/lib/riscv/asm-offsets.c
/kvm-unit-tests/lib/riscv/asm/asm.h
/kvm-unit-tests/lib/riscv/asm/csr.h
/kvm-unit-tests/lib/riscv/asm/delay.h
/kvm-unit-tests/lib/riscv/asm/io.h
/kvm-unit-tests/lib/riscv/asm/mmu.h
/kvm-unit-tests/lib/riscv/asm/processor.h
/kvm-unit-tests/lib/riscv/asm/sbi.h
/kvm-unit-tests/lib/riscv/asm/setup.h
/kvm-unit-tests/lib/riscv/asm/stack.h
/kvm-unit-tests/lib/riscv/asm/timer.h
/kvm-unit-tests/lib/riscv/delay.c
/kvm-unit-tests/lib/riscv/mmu.c
/kvm-unit-tests/lib/riscv/processor.c
/kvm-unit-tests/lib/riscv/sbi.c
/kvm-unit-tests/lib/riscv/setjmp.S
/kvm-unit-tests/lib/riscv/setup.c
/kvm-unit-tests/lib/riscv/smp.c
/kvm-unit-tests/lib/riscv/stack.c
/kvm-unit-tests/lib/riscv/timer.c
cpacf.h
/kvm-unit-tests/lib/s390x/io.c
/kvm-unit-tests/lib/s390x/uv.c
/kvm-unit-tests/lib/s390x/uv.h
/kvm-unit-tests/lib/setjmp.h
/kvm-unit-tests/lib/stack.c
/kvm-unit-tests/lib/stack.h
/kvm-unit-tests/lib/vmalloc.c
/kvm-unit-tests/lib/vmalloc.h
/kvm-unit-tests/lib/x86/apic.h
/kvm-unit-tests/lib/x86/asm/bitops.h
/kvm-unit-tests/lib/x86/desc.h
/kvm-unit-tests/lib/x86/pmu.h
/kvm-unit-tests/lib/x86/processor.h
/kvm-unit-tests/lib/x86/vm.h
/kvm-unit-tests/powerpc/Makefile.common
/kvm-unit-tests/powerpc/Makefile.ppc64
/kvm-unit-tests/powerpc/atomics.c
/kvm-unit-tests/powerpc/cstart64.S
/kvm-unit-tests/powerpc/emulator.c
/kvm-unit-tests/powerpc/interrupts.c
/kvm-unit-tests/powerpc/mmu.c
/kvm-unit-tests/powerpc/run
/kvm-unit-tests/powerpc/selftest.c
/kvm-unit-tests/powerpc/sieve.c
/kvm-unit-tests/powerpc/smp.c
/kvm-unit-tests/powerpc/spapr_vpa.c
/kvm-unit-tests/powerpc/sprs.c
/kvm-unit-tests/powerpc/timebase.c
/kvm-unit-tests/powerpc/tm.c
/kvm-unit-tests/powerpc/unittests.cfg
/kvm-unit-tests/riscv/Makefile
/kvm-unit-tests/riscv/cstart.S
/kvm-unit-tests/riscv/sbi-asm.S
/kvm-unit-tests/riscv/sbi-tests.h
/kvm-unit-tests/riscv/sbi.c
/kvm-unit-tests/riscv/unittests.cfg
/kvm-unit-tests/run_tests.sh
/kvm-unit-tests/s390x/Makefile
/kvm-unit-tests/s390x/cmm.c
/kvm-unit-tests/s390x/emulator.c
/kvm-unit-tests/s390x/mvpg.c
/kvm-unit-tests/s390x/run
/kvm-unit-tests/s390x/selftest.c
/kvm-unit-tests/s390x/snippets/c/flat.lds.S
/kvm-unit-tests/s390x/unittests.cfg
/kvm-unit-tests/scripts/arch-run.bash
/kvm-unit-tests/scripts/check-patch.py
/kvm-unit-tests/scripts/checkpatch.pl
/kvm-unit-tests/scripts/common.bash
/kvm-unit-tests/scripts/mkstandalone.sh
/kvm-unit-tests/scripts/runtime.bash
/kvm-unit-tests/scripts/s390x/func.bash
/kvm-unit-tests/x86/asyncpf.c
/kvm-unit-tests/x86/debug.c
/kvm-unit-tests/x86/msr.c
/kvm-unit-tests/x86/pmu.c
/kvm-unit-tests/x86/pmu_lbr.c
/kvm-unit-tests/x86/pmu_pebs.c
/kvm-unit-tests/x86/svm.h
/kvm-unit-tests/x86/svm_tests.c
/kvm-unit-tests/x86/unittests.cfg
/kvm-unit-tests/x86/vmexit.c
/kvm-unit-tests/x86/vmware_backdoors.c
/kvm-unit-tests/x86/vmx.c
/kvm-unit-tests/x86/vmx.h
/kvm-unit-tests/x86/vmx_tests.c
40e2c61901-Feb-2024 Janosch Frank <frankja@linux.ibm.com>

lib: s390x: sigp: Name inline assembly arguments

Less need to count the operands makes the code easier to read.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <i

lib: s390x: sigp: Name inline assembly arguments

Less need to count the operands makes the code easier to read.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

eb547ec731-Jan-2024 Janosch Frank <frankja@linux.ibm.com>

lib: s390x: uv: Dirty CC before uvc execution

Dirtying the CC allows us to find missing CC changes.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linu

lib: s390x: uv: Dirty CC before uvc execution

Dirtying the CC allows us to find missing CC changes.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20240131074427.70871-3-frankja@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

3dbf3c4031-Jan-2024 Janosch Frank <frankja@linux.ibm.com>

lib: s390x: sigp: Dirty CC before sigp execution

Dirtying the CC allows us to find missing CC changes when sigp is
emulated.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudi

lib: s390x: sigp: Dirty CC before sigp execution

Dirtying the CC allows us to find missing CC changes when sigp is
emulated.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20240131074427.70871-2-frankja@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...


/kvm-unit-tests/.gitlab-ci.yml
/kvm-unit-tests/MAINTAINERS
/kvm-unit-tests/Makefile
/kvm-unit-tests/arm/Makefile.common
/kvm-unit-tests/arm/efi/crt0-efi-aarch64.S
/kvm-unit-tests/arm/efi/elf_aarch64_efi.lds
/kvm-unit-tests/arm/efi/run
/kvm-unit-tests/arm/gic.c
/kvm-unit-tests/arm/run
/kvm-unit-tests/arm/selftest.c
/kvm-unit-tests/arm/sieve.c
/kvm-unit-tests/arm/unittests.cfg
/kvm-unit-tests/common/memory-verify.c
/kvm-unit-tests/common/selftest-migration.c
/kvm-unit-tests/common/sieve.c
/kvm-unit-tests/configure
/kvm-unit-tests/docs/unittests.txt
/kvm-unit-tests/lib/arm/asm/gic-v2.h
/kvm-unit-tests/lib/arm/asm/gic-v3.h
/kvm-unit-tests/lib/arm/asm/gic.h
/kvm-unit-tests/lib/arm/asm/setup.h
/kvm-unit-tests/lib/arm/asm/smp.h
/kvm-unit-tests/lib/arm/io.c
/kvm-unit-tests/lib/arm/mmu.c
/kvm-unit-tests/lib/arm/setup.c
/kvm-unit-tests/lib/arm/smp.c
/kvm-unit-tests/lib/arm/stack.c
/kvm-unit-tests/lib/arm64/processor.c
/kvm-unit-tests/lib/arm64/stack.c
/kvm-unit-tests/lib/cpumask.h
/kvm-unit-tests/lib/ctype.h
/kvm-unit-tests/lib/efi.c
/kvm-unit-tests/lib/elf.h
/kvm-unit-tests/lib/ldiv32.c
/kvm-unit-tests/lib/linux/const.h
/kvm-unit-tests/lib/linux/efi.h
/kvm-unit-tests/lib/memregions.c
/kvm-unit-tests/lib/memregions.h
/kvm-unit-tests/lib/migrate.c
/kvm-unit-tests/lib/migrate.h
/kvm-unit-tests/lib/on-cpus.c
/kvm-unit-tests/lib/on-cpus.h
/kvm-unit-tests/lib/powerpc/asm/ppc_asm.h
/kvm-unit-tests/lib/powerpc/asm/processor.h
/kvm-unit-tests/lib/powerpc/asm/reg.h
/kvm-unit-tests/lib/powerpc/asm/time.h
/kvm-unit-tests/lib/powerpc/hcall.c
/kvm-unit-tests/lib/powerpc/processor.c
/kvm-unit-tests/lib/powerpc/setup.c
/kvm-unit-tests/lib/powerpc/smp.c
/kvm-unit-tests/lib/ppc64/asm/ptrace.h
/kvm-unit-tests/lib/ppc64/asm/reg.h
/kvm-unit-tests/lib/ppc64/asm/stack.h
/kvm-unit-tests/lib/ppc64/asm/time.h
/kvm-unit-tests/lib/ppc64/stack.c
/kvm-unit-tests/lib/riscv/.gitignore
/kvm-unit-tests/lib/riscv/asm-offsets.c
/kvm-unit-tests/lib/riscv/asm/asm-offsets.h
/kvm-unit-tests/lib/riscv/asm/barrier.h
/kvm-unit-tests/lib/riscv/asm/bitops.h
/kvm-unit-tests/lib/riscv/asm/bug.h
/kvm-unit-tests/lib/riscv/asm/csr.h
/kvm-unit-tests/lib/riscv/asm/io.h
/kvm-unit-tests/lib/riscv/asm/isa.h
/kvm-unit-tests/lib/riscv/asm/memory_areas.h
/kvm-unit-tests/lib/riscv/asm/mmu.h
/kvm-unit-tests/lib/riscv/asm/page.h
/kvm-unit-tests/lib/riscv/asm/pgtable.h
/kvm-unit-tests/lib/riscv/asm/processor.h
/kvm-unit-tests/lib/riscv/asm/ptrace.h
/kvm-unit-tests/lib/riscv/asm/sbi.h
/kvm-unit-tests/lib/riscv/asm/setup.h
/kvm-unit-tests/lib/riscv/asm/smp.h
/kvm-unit-tests/lib/riscv/asm/spinlock.h
/kvm-unit-tests/lib/riscv/asm/stack.h
/kvm-unit-tests/lib/riscv/bitops.c
/kvm-unit-tests/lib/riscv/io.c
/kvm-unit-tests/lib/riscv/isa.c
/kvm-unit-tests/lib/riscv/mmu.c
/kvm-unit-tests/lib/riscv/processor.c
/kvm-unit-tests/lib/riscv/sbi.c
/kvm-unit-tests/lib/riscv/setup.c
/kvm-unit-tests/lib/riscv/smp.c
/kvm-unit-tests/lib/riscv/stack.c
sigp.h
/kvm-unit-tests/lib/s390x/interrupt.c
/kvm-unit-tests/lib/s390x/stack.c
/kvm-unit-tests/lib/stack.c
/kvm-unit-tests/lib/stack.h
/kvm-unit-tests/lib/string.c
/kvm-unit-tests/lib/string.h
/kvm-unit-tests/lib/x86/stack.c
/kvm-unit-tests/powerpc/Makefile.common
/kvm-unit-tests/powerpc/Makefile.ppc64
/kvm-unit-tests/powerpc/cstart64.S
/kvm-unit-tests/powerpc/flat.lds
/kvm-unit-tests/powerpc/memory-verify.c
/kvm-unit-tests/powerpc/run
/kvm-unit-tests/powerpc/selftest-migration.c
/kvm-unit-tests/powerpc/spapr_vpa.c
/kvm-unit-tests/powerpc/sprs.c
/kvm-unit-tests/powerpc/tm.c
/kvm-unit-tests/powerpc/unittests.cfg
/kvm-unit-tests/riscv/Makefile
/kvm-unit-tests/riscv/cstart.S
/kvm-unit-tests/riscv/efi/crt0-efi-riscv64.S
/kvm-unit-tests/riscv/efi/elf_riscv64_efi.lds
/kvm-unit-tests/riscv/efi/reloc_riscv64.c
/kvm-unit-tests/riscv/efi/run
/kvm-unit-tests/riscv/flat.lds
/kvm-unit-tests/riscv/run
/kvm-unit-tests/riscv/sbi.c
/kvm-unit-tests/riscv/selftest.c
/kvm-unit-tests/riscv/sieve.c
/kvm-unit-tests/riscv/unittests.cfg
/kvm-unit-tests/run_tests.sh
/kvm-unit-tests/s390x/Makefile
/kvm-unit-tests/s390x/memory-verify.c
/kvm-unit-tests/s390x/migration-cmm.c
/kvm-unit-tests/s390x/migration-skey.c
/kvm-unit-tests/s390x/migration.c
/kvm-unit-tests/s390x/sclp.c
/kvm-unit-tests/s390x/selftest-migration.c
/kvm-unit-tests/s390x/sieve.c
/kvm-unit-tests/s390x/snippets/c/sie-dat.c
/kvm-unit-tests/s390x/unittests.cfg
/kvm-unit-tests/scripts/arch-run.bash
/kvm-unit-tests/scripts/mkstandalone.sh
/kvm-unit-tests/scripts/pretty_print_stacks.py
/kvm-unit-tests/scripts/runtime.bash
/kvm-unit-tests/x86/hyperv.h
/kvm-unit-tests/x86/hyperv_clock.c
/kvm-unit-tests/x86/hyperv_connections.c
/kvm-unit-tests/x86/hyperv_stimer.c
/kvm-unit-tests/x86/hyperv_synic.c
/kvm-unit-tests/x86/msr.c
/kvm-unit-tests/x86/pmu.c
/kvm-unit-tests/x86/pmu_pebs.c
/kvm-unit-tests/x86/sieve.c
/kvm-unit-tests/x86/svm_tests.c
/kvm-unit-tests/x86/unittests.cfg
/kvm-unit-tests/x86/vmx_tests.c
30f9c80406-Nov-2023 Nico Boehr <nrb@linux.ibm.com>

lib: s390x: cpacf: move kernel-doc comment to correct function

The kernel-doc comment seems to describe a different function further at
the bottom of the file; move the comment there and adjust the

lib: s390x: cpacf: move kernel-doc comment to correct function

The kernel-doc comment seems to describe a different function further at
the bottom of the file; move the comment there and adjust the comment
accordingly.

Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20231106125352.859992-4-nrb@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

bb88caef06-Nov-2023 Nico Boehr <nrb@linux.ibm.com>

lib: s390x: interrupt: remove TEID_ASCE defines

These defines were - I can only guess - meant for the asce_id field.
Since print_decode_teid() used AS_PRIM and friends instead, I see little
benefit

lib: s390x: interrupt: remove TEID_ASCE defines

These defines were - I can only guess - meant for the asce_id field.
Since print_decode_teid() used AS_PRIM and friends instead, I see little
benefit in keeping these around.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Link: https://lore.kernel.org/r/20231106163738.1116942-9-nrb@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

54674bae06-Nov-2023 Nico Boehr <nrb@linux.ibm.com>

s390x: lib: sie: don't reenter SIE on pgm int

At the moment, when a PGM int occurs while in SIE, we will just reenter
SIE after the interrupt handler was called.

This is because sie() has a loop wh

s390x: lib: sie: don't reenter SIE on pgm int

At the moment, when a PGM int occurs while in SIE, we will just reenter
SIE after the interrupt handler was called.

This is because sie() has a loop which checks icptcode and re-enters SIE
if it is zero.

However, this behaviour is quite undesirable for SIE tests, since it
doesn't give the host the chance to assert on the PGM int. Instead, we
will just re-enter SIE, on nullifing conditions even causing the
exception again.

In sie(), check whether a pgm int code is set in lowcore. If it has,
exit the loop so the test can react to the interrupt. Add a new function
read_pgm_int_code() to obtain the interrupt code.

Note that this introduces a slight oddity with sie and pgm int in
certain cases: If a PGM int occurs between a expect_pgm_int() and sie(),
we will now never enter SIE until the pgm_int_code is cleared by e.g.
clear_pgm_int().

Also add missing include of facility.h to mem.h.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Link: https://lore.kernel.org/r/20231106163738.1116942-6-nrb@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

4e8880d606-Nov-2023 Nico Boehr <nrb@linux.ibm.com>

s390x: sie: switch to home space mode before entering SIE

This is to prepare for running guests without MSO/MSL, which is
currently not possible.

We already have code in sie64a to setup a guest pri

s390x: sie: switch to home space mode before entering SIE

This is to prepare for running guests without MSO/MSL, which is
currently not possible.

We already have code in sie64a to setup a guest primary ASCE before
entering SIE, so we can in theory switch to the page tables which
translate gpa to hpa.

But the host is running in primary space mode already, so changing the
primary ASCE before entering SIE will also affect the host's code and
data.

To make this switch useful, the host should run in a different address
space mode. Hence, set up and change to home address space mode before
installing the guest ASCE.

The home space ASCE is just copied over from the primary space ASCE, so
no functional change is intended, also for tests that want to use
MSO/MSL. If a test intends to use a different primary space ASCE, it can
now just set the guest.asce in the save_area.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20231106163738.1116942-4-nrb@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

fedfd11206-Nov-2023 Nico Boehr <nrb@linux.ibm.com>

s390x: add function to set DAT mode for all interrupts

When toggling DAT or switch address space modes, it is likely that
interrupts should be handled in the same DAT or address space mode.

Add a f

s390x: add function to set DAT mode for all interrupts

When toggling DAT or switch address space modes, it is likely that
interrupts should be handled in the same DAT or address space mode.

Add a function which toggles DAT and address space mode for all
interruptions, except restart interrupts.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20231106163738.1116942-3-nrb@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

f072106006-Nov-2023 Nico Boehr <nrb@linux.ibm.com>

lib: s390x: introduce bitfield for PSW mask

Changing the PSW mask is currently little clumsy, since there is only the
PSW_MASK_* defines. This makes it hard to change e.g. only the address
space in

lib: s390x: introduce bitfield for PSW mask

Changing the PSW mask is currently little clumsy, since there is only the
PSW_MASK_* defines. This makes it hard to change e.g. only the address
space in the current PSW without a lot of bit fiddling.

Introduce a bitfield for the PSW mask. This makes this kind of
modifications much simpler and easier to read.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Link: https://lore.kernel.org/r/20231106163738.1116942-2-nrb@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...


/kvm-unit-tests/MAINTAINERS
/kvm-unit-tests/Makefile
/kvm-unit-tests/arm/Makefile.common
/kvm-unit-tests/arm/micro-bench.c
/kvm-unit-tests/lib/arm64/asm/sysreg.h
arch_def.h
/kvm-unit-tests/lib/s390x/hardware.c
/kvm-unit-tests/lib/s390x/sclp-console.c
/kvm-unit-tests/lib/s390x/sclp.c
/kvm-unit-tests/lib/s390x/sclp.h
/kvm-unit-tests/lib/s390x/sie.c
/kvm-unit-tests/lib/s390x/sie.h
/kvm-unit-tests/lib/s390x/snippet.h
/kvm-unit-tests/lib/s390x/stsi.h
/kvm-unit-tests/lib/util.h
/kvm-unit-tests/lib/x86/apic.c
/kvm-unit-tests/lib/x86/apic.h
/kvm-unit-tests/lib/x86/desc.c
/kvm-unit-tests/lib/x86/desc.h
/kvm-unit-tests/lib/x86/fault_test.c
/kvm-unit-tests/lib/x86/msr.h
/kvm-unit-tests/lib/x86/processor.h
/kvm-unit-tests/lib/x86/smp.c
/kvm-unit-tests/lib/x86/usermode.c
/kvm-unit-tests/powerpc/Makefile.common
/kvm-unit-tests/run_tests.sh
/kvm-unit-tests/s390x/Makefile
/kvm-unit-tests/s390x/flat.lds.S
/kvm-unit-tests/s390x/mvpg-sie.c
/kvm-unit-tests/s390x/run
/kvm-unit-tests/s390x/selftest.c
/kvm-unit-tests/s390x/sie.c
/kvm-unit-tests/s390x/spec_ex-sie.c
/kvm-unit-tests/s390x/spec_ex.c
/kvm-unit-tests/s390x/topology.c
/kvm-unit-tests/s390x/unittests.cfg
/kvm-unit-tests/s390x/uv-host.c
/kvm-unit-tests/scripts/arch-run.bash
/kvm-unit-tests/scripts/common.bash
/kvm-unit-tests/scripts/runtime.bash
/kvm-unit-tests/x86/Makefile.common
/kvm-unit-tests/x86/access.c
/kvm-unit-tests/x86/apic.c
/kvm-unit-tests/x86/asyncpf.c
/kvm-unit-tests/x86/cet.c
/kvm-unit-tests/x86/cmpxchg8b.c
/kvm-unit-tests/x86/emulator.c
/kvm-unit-tests/x86/emulator64.c
/kvm-unit-tests/x86/eventinj.c
/kvm-unit-tests/x86/hyperv_connections.c
/kvm-unit-tests/x86/hyperv_stimer.c
/kvm-unit-tests/x86/hyperv_synic.c
/kvm-unit-tests/x86/intel-iommu.c
/kvm-unit-tests/x86/ioapic.c
/kvm-unit-tests/x86/memory.c
/kvm-unit-tests/x86/pcid.c
/kvm-unit-tests/x86/pmu.c
/kvm-unit-tests/x86/pmu_pebs.c
/kvm-unit-tests/x86/svm.c
/kvm-unit-tests/x86/svm.h
/kvm-unit-tests/x86/svm_tests.c
/kvm-unit-tests/x86/taskswitch2.c
/kvm-unit-tests/x86/tscdeadline_latency.c
/kvm-unit-tests/x86/unittests.cfg
/kvm-unit-tests/x86/vmexit.c
/kvm-unit-tests/x86/vmx.h
/kvm-unit-tests/x86/vmx_tests.c
/kvm-unit-tests/x86/xsave.c
484ab8dc22-Jun-2023 Janosch Frank <frankja@linux.ibm.com>

s390x: uv-host: Properly handle config creation errors

If the first bit is set on a error rc, the hypervisor will need to
destroy the config before trying again. Let's properly handle those
cases so

s390x: uv-host: Properly handle config creation errors

If the first bit is set on a error rc, the hypervisor will need to
destroy the config before trying again. Let's properly handle those
cases so we're not using stale data.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Nico Boehr <nrb@linux.ibm.com>
Link: https://lore.kernel.org/r/20230622075054.3190-7-frankja@linux.ibm.com
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>

show more ...


/kvm-unit-tests/.gitignore
/kvm-unit-tests/.gitlab-ci.yml
/kvm-unit-tests/COPYRIGHT
/kvm-unit-tests/LICENSE
/kvm-unit-tests/MAINTAINERS
/kvm-unit-tests/Makefile
/kvm-unit-tests/arm/Makefile.arm
/kvm-unit-tests/arm/Makefile.arm64
/kvm-unit-tests/arm/Makefile.common
/kvm-unit-tests/arm/cstart.S
/kvm-unit-tests/arm/cstart64.S
/kvm-unit-tests/arm/debug.c
/kvm-unit-tests/arm/dummy.c
/kvm-unit-tests/arm/efi/crt0-efi-aarch64.S
/kvm-unit-tests/arm/efi/elf_aarch64_efi.lds
/kvm-unit-tests/arm/efi/reloc_aarch64.c
/kvm-unit-tests/arm/efi/run
/kvm-unit-tests/arm/flat.lds
/kvm-unit-tests/arm/micro-bench.c
/kvm-unit-tests/arm/pl031.c
/kvm-unit-tests/arm/pmu.c
/kvm-unit-tests/arm/run
/kvm-unit-tests/arm/timer.c
/kvm-unit-tests/arm/unittests.cfg
/kvm-unit-tests/ci/cirrus-ci-fedora.yml
/kvm-unit-tests/ci/cirrus-ci-macos-i386.yml
/kvm-unit-tests/ci/cirrus-ci-macos-x86-64.yml
/kvm-unit-tests/configure
/kvm-unit-tests/lib/acpi.c
/kvm-unit-tests/lib/acpi.h
/kvm-unit-tests/lib/argv.c
/kvm-unit-tests/lib/argv.h
/kvm-unit-tests/lib/arm/asm/setup.h
/kvm-unit-tests/lib/arm/asm/timer.h
/kvm-unit-tests/lib/arm/gic.c
/kvm-unit-tests/lib/arm/io.c
/kvm-unit-tests/lib/arm/mmu.c
/kvm-unit-tests/lib/arm/psci.c
/kvm-unit-tests/lib/arm/setup.c
/kvm-unit-tests/lib/arm/timer.c
/kvm-unit-tests/lib/arm64/asm-offsets.c
/kvm-unit-tests/lib/arm64/asm/stack.h
/kvm-unit-tests/lib/arm64/processor.c
/kvm-unit-tests/lib/arm64/stack.c
/kvm-unit-tests/lib/devicetree.c
/kvm-unit-tests/lib/efi.c
/kvm-unit-tests/lib/efi.h
/kvm-unit-tests/lib/elf.h
/kvm-unit-tests/lib/libcflat.h
/kvm-unit-tests/lib/linux/compiler.h
/kvm-unit-tests/lib/linux/const.h
/kvm-unit-tests/lib/linux/efi.h
/kvm-unit-tests/lib/powerpc/asm/handlers.h
/kvm-unit-tests/lib/powerpc/asm/hcall.h
/kvm-unit-tests/lib/powerpc/asm/ppc_asm.h
/kvm-unit-tests/lib/powerpc/asm/processor.h
/kvm-unit-tests/lib/powerpc/handlers.c
/kvm-unit-tests/lib/powerpc/processor.c
/kvm-unit-tests/lib/ppc64/asm/vpa.h
/kvm-unit-tests/lib/printf.c
/kvm-unit-tests/lib/s390x/asm-offsets.c
uv.h
/kvm-unit-tests/lib/s390x/interrupt.c
/kvm-unit-tests/lib/s390x/mmu.h
/kvm-unit-tests/lib/s390x/pv_icptdata.h
/kvm-unit-tests/lib/s390x/sie.c
/kvm-unit-tests/lib/s390x/sie.h
/kvm-unit-tests/lib/s390x/snippet.h
/kvm-unit-tests/lib/s390x/stack.c
/kvm-unit-tests/lib/s390x/uv.c
/kvm-unit-tests/lib/s390x/uv.h
/kvm-unit-tests/lib/stack.c
/kvm-unit-tests/lib/string.h
/kvm-unit-tests/lib/x86/apic.h
/kvm-unit-tests/lib/x86/asm/setup.h
/kvm-unit-tests/lib/x86/msr.h
/kvm-unit-tests/lib/x86/processor.h
/kvm-unit-tests/lib/x86/setup.c
/kvm-unit-tests/powerpc/Makefile.ppc64
/kvm-unit-tests/powerpc/run
/kvm-unit-tests/powerpc/spapr_hcall.c
/kvm-unit-tests/powerpc/spapr_vpa.c
/kvm-unit-tests/powerpc/sprs.c
/kvm-unit-tests/powerpc/tm.c
/kvm-unit-tests/powerpc/unittests.cfg
/kvm-unit-tests/run_tests.sh
/kvm-unit-tests/s390x/Makefile
/kvm-unit-tests/s390x/adtl-status.c
/kvm-unit-tests/s390x/cpu.S
/kvm-unit-tests/s390x/cstart64.S
/kvm-unit-tests/s390x/ex.c
/kvm-unit-tests/s390x/firq.c
/kvm-unit-tests/s390x/flat.lds.S
/kvm-unit-tests/s390x/gs.c
/kvm-unit-tests/s390x/intercept.c
/kvm-unit-tests/s390x/macros.S
/kvm-unit-tests/s390x/migration-skey.c
/kvm-unit-tests/s390x/migration.c
/kvm-unit-tests/s390x/mvpg-sie.c
/kvm-unit-tests/s390x/pv-diags.c
/kvm-unit-tests/s390x/pv-icptcode.c
/kvm-unit-tests/s390x/pv-ipl.c
/kvm-unit-tests/s390x/run
/kvm-unit-tests/s390x/sie.c
/kvm-unit-tests/s390x/skrf.c
/kvm-unit-tests/s390x/smp.c
/kvm-unit-tests/s390x/snippets/asm/flat.lds.S
/kvm-unit-tests/s390x/snippets/asm/icpt-loop.S
/kvm-unit-tests/s390x/snippets/asm/loop.S
/kvm-unit-tests/s390x/snippets/asm/macros.S
/kvm-unit-tests/s390x/snippets/asm/pv-diag-288.S
/kvm-unit-tests/s390x/snippets/asm/pv-diag-308.S
/kvm-unit-tests/s390x/snippets/asm/pv-diag-500.S
/kvm-unit-tests/s390x/snippets/asm/pv-diag-yield.S
/kvm-unit-tests/s390x/snippets/asm/pv-icpt-112.S
/kvm-unit-tests/s390x/snippets/asm/pv-icpt-vir-timing.S
/kvm-unit-tests/s390x/snippets/c/cstart.S
/kvm-unit-tests/s390x/snippets/c/flat.lds.S
/kvm-unit-tests/s390x/spec_ex.c
/kvm-unit-tests/s390x/unittests.cfg
/kvm-unit-tests/s390x/uv-host.c
/kvm-unit-tests/scripts/arch-run.bash
/kvm-unit-tests/scripts/pretty_print_stacks.py
/kvm-unit-tests/scripts/runtime.bash
/kvm-unit-tests/x86/Makefile.common
/kvm-unit-tests/x86/Makefile.x86_64
/kvm-unit-tests/x86/access.c
/kvm-unit-tests/x86/access.h
/kvm-unit-tests/x86/access_test.c
/kvm-unit-tests/x86/debug.c
/kvm-unit-tests/x86/efi/run
/kvm-unit-tests/x86/emulator64.c
/kvm-unit-tests/x86/flat.lds
/kvm-unit-tests/x86/memory.c
/kvm-unit-tests/x86/msr.c
/kvm-unit-tests/x86/pks.c
/kvm-unit-tests/x86/pku.c
/kvm-unit-tests/x86/run
/kvm-unit-tests/x86/s3.c
/kvm-unit-tests/x86/syscall.c
/kvm-unit-tests/x86/tsc.c
/kvm-unit-tests/x86/unittests.cfg
/kvm-unit-tests/x86/vmexit.c
/kvm-unit-tests/x86/vmx_tests.c
03dca0b530-Nov-2022 Claudio Imbrenda <imbrenda@linux.ibm.com>

lib: s390x: add PSW and PSW_WITH_CUR_MASK macros

Since a lot of code starts new CPUs using the current PSW mask, add two
macros to streamline the creation of generic PSWs and PSWs with the
current p

lib: s390x: add PSW and PSW_WITH_CUR_MASK macros

Since a lot of code starts new CPUs using the current PSW mask, add two
macros to streamline the creation of generic PSWs and PSWs with the
current program mask.

Reviewed-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Link: https://lore.kernel.org/r/20221130154038.70492-2-imbrenda@linux.ibm.com
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20221130154038.70492-2-imbrenda@linux.ibm.com>

show more ...


/kvm-unit-tests/.gitlab-ci.yml
/kvm-unit-tests/MAINTAINERS
/kvm-unit-tests/arm/Makefile.common
/kvm-unit-tests/arm/debug.c
/kvm-unit-tests/arm/gic.c
/kvm-unit-tests/arm/pmu.c
/kvm-unit-tests/arm/psci.c
/kvm-unit-tests/ci/cirrus-ci-macos-i386.yml
/kvm-unit-tests/ci/cirrus-ci-macos-x86-64.yml
/kvm-unit-tests/configure
/kvm-unit-tests/lib/arm/asm/mmu-api.h
/kvm-unit-tests/lib/arm/asm/smp.h
/kvm-unit-tests/lib/arm/mmu.c
/kvm-unit-tests/lib/arm/smp.c
/kvm-unit-tests/lib/errata.h
/kvm-unit-tests/lib/migrate.c
/kvm-unit-tests/lib/migrate.h
/kvm-unit-tests/lib/powerpc/asm/ppc_asm.h
/kvm-unit-tests/lib/s390x/asm-offsets.c
arch_def.h
/kvm-unit-tests/lib/s390x/sie.c
/kvm-unit-tests/lib/s390x/sie.h
/kvm-unit-tests/lib/s390x/uv.c
/kvm-unit-tests/lib/s390x/uv.h
/kvm-unit-tests/lib/x86/asm/setup.h
/kvm-unit-tests/lib/x86/desc.c
/kvm-unit-tests/lib/x86/msr.h
/kvm-unit-tests/lib/x86/pmu.c
/kvm-unit-tests/lib/x86/pmu.h
/kvm-unit-tests/lib/x86/processor.h
/kvm-unit-tests/lib/x86/setup.c
/kvm-unit-tests/powerpc/Makefile.common
/kvm-unit-tests/powerpc/cstart64.S
/kvm-unit-tests/powerpc/sprs.c
/kvm-unit-tests/s390x/Makefile
/kvm-unit-tests/s390x/cpu.S
/kvm-unit-tests/s390x/migration-cmm.c
/kvm-unit-tests/s390x/migration-sck.c
/kvm-unit-tests/s390x/migration-skey.c
/kvm-unit-tests/s390x/migration.c
/kvm-unit-tests/s390x/skey.c
/kvm-unit-tests/s390x/snippets/asm/macros.S
/kvm-unit-tests/s390x/snippets/asm/snippet-pv-diag-288.S
/kvm-unit-tests/s390x/snippets/asm/snippet-pv-diag-500.S
/kvm-unit-tests/s390x/uv-host.c
/kvm-unit-tests/scripts/runtime.bash
/kvm-unit-tests/scripts/s390x/func.bash
/kvm-unit-tests/x86/Makefile.common
/kvm-unit-tests/x86/Makefile.x86_64
/kvm-unit-tests/x86/apic.c
/kvm-unit-tests/x86/cstart.S
/kvm-unit-tests/x86/cstart64.S
/kvm-unit-tests/x86/emulator.c
/kvm-unit-tests/x86/emulator64.c
/kvm-unit-tests/x86/pmu.c
/kvm-unit-tests/x86/pmu_lbr.c
/kvm-unit-tests/x86/pmu_pebs.c
/kvm-unit-tests/x86/svm_tests.c
/kvm-unit-tests/x86/unittests.cfg
/kvm-unit-tests/x86/vmx.c
/kvm-unit-tests/x86/vmx_tests.c
89ce509528-Sep-2022 Claudio Imbrenda <imbrenda@linux.ibm.com>

lib: s390x: terminate if PGM interrupt in interrupt handler

If a program interrupt is received while in an interrupt handler,
terminate immediately, stopping all CPUs and leaving the last CPU in
dis

lib: s390x: terminate if PGM interrupt in interrupt handler

If a program interrupt is received while in an interrupt handler,
terminate immediately, stopping all CPUs and leaving the last CPU in
disabled wait with a specific PSW code.

This will aid debugging by not cluttering the output, avoiding further
interrupts (that would be needed to write to the output), and providing
an indication of the cause of the termination.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20221020123143.213778-2-imbrenda@linux.ibm.com>
Reviewed-by: Nico Boehr <nrb@linux.ibm.com>

show more ...

282f2efa11-Oct-2022 Nico Boehr <nrb@linux.ibm.com>

lib/s390x: move TOD clock related functions to library

The TOD-clock related functions can be useful for other tests beside the
sck test, hence move them to the library.

While at it, add a wrapper

lib/s390x: move TOD clock related functions to library

The TOD-clock related functions can be useful for other tests beside the
sck test, hence move them to the library.

While at it, add a wrapper for stckf, express get_clock_us() with
stck() and remove an unneeded memory clobber.

Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20221011170024.972135-2-nrb@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>

show more ...

fb95507501-Oct-2021 Janis Schoetterl-Glausch <scgl@linux.ibm.com>

s390x: Test specification exceptions during transaction

Program interruptions during transactional execution cause other
interruption codes.
Check that we see the expected code for (some) specificat

s390x: Test specification exceptions during transaction

Program interruptions during transactional execution cause other
interruption codes.
Check that we see the expected code for (some) specification exceptions.

Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Reviewed-by: Nico Boehr <nrb@linux.ibm.com>
Acked-by: Janosch Frank <frankja@linux.ibm.com>
Message-Id: <20220928201710.3185449-3-scgl@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>

show more ...

e08c4f5e30-Jun-2021 Janis Schoetterl-Glausch <scgl@linux.ibm.com>

s390x: Add specification exception test

Generate specification exceptions and check that they occur.

Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Reviewed-by: Nico Boehr <nrb@linux.

s390x: Add specification exception test

Generate specification exceptions and check that they occur.

Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Reviewed-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Message-Id: <20220928201710.3185449-2-scgl@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>

show more ...

08a584f723-Aug-2022 Nico Boehr <nrb@linux.ibm.com>

lib/s390x: add CPU timer related defines and functions

Upcoming changes will make use of the CPU timer, so add some defines and
functions to work with the CPU timer.

Since shifts for both CPU timer

lib/s390x: add CPU timer related defines and functions

Upcoming changes will make use of the CPU timer, so add some defines and
functions to work with the CPU timer.

Since shifts for both CPU timer and TOD clock are the same, introduce a
new constant S390_CLOCK_SHIFT_US for this value. The respective shifts
for CPU timer and TOD clock reference it, so the semantic difference
between the two defines is kept.

Also add a constant for the CPU timer subclass mask.

Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Link: https://lore.kernel.org/r/20220823103833.156942-3-nrb@linux.ibm.com
Message-Id: <20220823103833.156942-3-nrb@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>

show more ...

4e5dd75821-Feb-2022 Claudio Imbrenda <imbrenda@linux.ibm.com>

lib: s390x: better smp interrupt checks

Use per-CPU flags and callbacks for Program and Extern interrupts,
instead of global variables.

This allows for more accurate error handling; a CPU waiting f

lib: s390x: better smp interrupt checks

Use per-CPU flags and callbacks for Program and Extern interrupts,
instead of global variables.

This allows for more accurate error handling; a CPU waiting for an
interrupt will not have it "stolen" by a different CPU that was not
supposed to wait for one, and now two CPUs can wait for interrupts at
the same time.

This will significantly improve error reporting and debugging when
things go wrong.

Both program interrupts and external interrupts are now CPU-bound, even
though some external interrupts are floating (notably, the SCLP
interrupt). In those cases, the testcases should mask interrupts and/or
expect them appropriately according to need.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>

show more ...

086985a323-Jun-2022 Claudio Imbrenda <imbrenda@linux.ibm.com>

lib: s390x: add functions to set and clear PSW bits

Add some functions to set and/or clear bits in the PSW.

Also introduce PSW_MASK_KEY and re-order the PSW_MASK_* constants so
they are descending

lib: s390x: add functions to set and clear PSW bits

Add some functions to set and/or clear bits in the PSW.

Also introduce PSW_MASK_KEY and re-order the PSW_MASK_* constants so
they are descending in value.

This should improve code readability.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>

show more ...

c2c1663a21-Jun-2022 Janis Schoetterl-Glausch <scgl@linux.ibm.com>

s390x: Rework TEID decoding and usage

The translation-exception identification (TEID) contains information to
identify the cause of certain program exceptions, including translation
exceptions occur

s390x: Rework TEID decoding and usage

The translation-exception identification (TEID) contains information to
identify the cause of certain program exceptions, including translation
exceptions occurring during dynamic address translation, as well as
protection exceptions.
The meaning of fields in the TEID is complex, depending on the exception
occurring and various potentially installed facilities.

Rework the type describing the TEID, in order to ease decoding.
Change the existing code interpreting the TEID and extend it to take the
installed suppression-on-protection facility into account.

Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Message-Id: <20220621143015.748290-4-scgl@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>

show more ...

12345