/kvm-unit-tests/ |
H A D | README | 3 See http://www.linux-kvm.org/page/KVM-unit-tests for a high-level 9 This directory contains sources for a KVM test suite. 18 NOTE: GCC cross-compiler is required for [build on macOS](README.macOS.md). 22 A cross compiler may be configured by specifying a cross prefix. For example, 23 for arm64 35 clang may also be used with cross binutils when cross-compiling. For example, 36 for riscv64 68 By default the runner script searches for a suitable QEMU binary in the system. 74 To select an accelerator, for example "kvm", "hvf" or "tcg", specify the 79 For running tests that involve migration from one QEMU instance to another [all …]
|
H A D | README.md | 3 See http://www.linux-kvm.org/page/KVM-unit-tests for a high-level 9 This directory contains sources for a KVM test suite. 18 NOTE: GCC cross-compiler is required for [build on macOS](README.macOS.md). 22 A cross compiler may be configured by specifying a cross prefix. For example, 23 for arm64 35 clang may also be used with cross binutils when cross-compiling. For example, 36 for riscv64 68 By default the runner script searches for a suitable QEMU binary in the system. 74 To select an accelerator, for example "kvm", "hvf" or "tcg", specify the 79 For running tests that involve migration from one QEMU instance to another [all …]
|
H A D | LICENSE | 11 The licenses for most software are designed to take away your 14 software--to make sure the software is free for all its users. This 23 have the freedom to distribute copies of free software (and charge for 30 These restrictions translate to certain responsibilities for you if you 33 For example, if you distribute copies of such a program, whether 34 gratis or for a fee, you must give the recipients all the rights that 43 Also, for each author's protection and ours, we want to make certain 44 that everyone understands that there is no warranty for this free 54 patent must be licensed for everyone's free use or not licensed at all. 56 The precise terms and conditions for copying, distribution and [all …]
|
H A D | .shellcheckrc | 17 # Disable SC2086 for now, double quote to prevent globbing and word 18 # splitting. There are lots of places that use it for word splitting 20 # more consistent approach for this (perhaps use arrays for such cases) 21 # but for now disable.
|
H A D | COPYRIGHT | 2 Copyright (C) 2007-2023 by various contributors (see source files for details) 6 as published by the Free Software Foundation. See the file LICENSE for details. 10 the individual files for details.
|
/kvm-unit-tests/lib/s390x/ |
H A D | mmu.h | 26 * @level 3 (for 2GB pud), 4 (for 1 MB pmd) or 5 (for 4KB pages) 36 * @level 3 (for 2GB pud), 4 (for 1MB pmd) or 5 (for 4KB pages) 46 * @level 3 (for 2GB pud), 4 (for 1MB pmd) or 5 (for 4kB pages) 69 * for the given page tables, using 1MB large pages. 78 * for the given page tables, using 2GB huge pages.
|
H A D | mmu.c | 50 * Get the pud (region 3) DAT table entry for the given address and root, 63 * Get the pmd (segment) DAT table entry for the given address and pud, 77 * Get the pte (page) DAT table entry for the given address and pmd, 105 for (i = 0; i < PAGE_TABLE_ENTRIES; i++) in split_pmd() 127 for (i = 0; i < SEGMENT_TABLE_ENTRIES; i++) in split_pud() 186 * Get the DAT table entry of the given level for the given address, 191 * @level 3 (for 2GB pud), 4 (for 1MB pmd) or 5 (for 4kB pages) 235 for (i = 0; i < SEGMENT_TABLE_ENTRIES; i++) in cleanup_pud() 242 * Set the DAT entry for the given level of the given virtual address. If a 247 * @val the new value for the DAT table entry [all …]
|
/kvm-unit-tests/lib/s390x/asm/ |
H A D | cpacf.h | 3 * CP Assist for Cryptographic Functions (CPACF) 18 * Instruction opcodes for the CPACF instructions 40 * Function codes for the KM (CIPHER MESSAGE) instruction 58 * Function codes for the KMC (CIPHER MESSAGE WITH CHAINING) 74 * Function codes for the KMCTR (CIPHER MESSAGE WITH COUNTER) 89 * Function codes for the KIMD (COMPUTE INTERMEDIATE MESSAGE DIGEST) 99 * Function codes for the KLMD (COMPUTE LAST MESSAGE DIGEST) 108 * function codes for the KMAC (COMPUTE MESSAGE AUTHENTICATION CODE) 117 * Function codes for the PCKMO (PERFORM CRYPTOGRAPHIC KEY MANAGEMENT) 129 * Function codes for the PRNO (PERFORM RANDOM NUMBER OPERATION) [all …]
|
/kvm-unit-tests/s390x/ |
H A D | sclp.c | 25 static uint8_t pagebuf[LC_SIZE] __attribute__((aligned(LC_SIZE))); /* scratch pages used for some t… 26 static uint8_t prefix_buf[LC_SIZE] __attribute__((aligned(LC_SIZE))); /* temporary lowcore for test… 33 static uint32_t valid_code; /* valid command code for READ SCP INFO */ 56 * checking for the expected program interrupts and return codes. 100 * Wrapper for test_one_sccb to be used when the template should not be 109 * Wrapper for test_one_sccb to set up a simple SCCB template. 134 for (len = 0; len < 8; len++) in test_sccb_too_short() 148 for (offset = 1; offset < 8; offset++) in test_sccb_unaligned() 184 for (offset = 0; offset < LC_SIZE; offset += 8) in test_sccb_prefix() 194 for (offset = 0; offset < LC_SIZE; offset += 8) in test_sccb_prefix() [all …]
|
H A D | migration.c | 3 * Migration Test for s390x 80 for (i = 0; i < VEC_REGISTER_NUM; i++) { in test_func() 91 * Otherwise, the compiler is allowed to re-use the registers for in test_func() 93 * For this very reason, this also runs on a second CPU, so all the in test_func() 95 * just need to wait for it to set the flag. in test_func() 104 /* wait for migration to finish */ in test_func() 166 report_skip("need at least 2 cpus for this test"); in main() 174 /* wait for thread setup */ in main() 183 /* wait for thread to complete assertions */ in main()
|
H A D | flat.lds.S | 7 * Initial short psw for disk boot, with 31 bit addressing for 15 /* Restart new PSW for booting via PSW restart. */ 44 /* Reserve 64K for the stack */
|
H A D | sieve.c | 9 for (i = 0; i < size; ++i) in sieve() 14 for (i = 2; i < size; ++i) in sieve() 17 for (j = i*2; j < size; j += i) in sieve() 46 for (i = 0; i < 3; ++i) { in main()
|
H A D | topology.c | 82 for (i = 4; i < 255; i++) { in check_specifications() 93 for (i = 8, error = 0; i < 64; i++) { in check_specifications() 182 for (i = 0, n = 1; i < CPU_TOPOLOGY_MAX_LEVEL; i++) in stsi_check_maxcpus() 211 * in the SCLP info, so we skip here for now. in stsi_check_header() 222 for (i = 0; i < max_nested_lvl; i++) in stsi_check_header() 230 for (; i < CPU_TOPOLOGY_MAX_LEVEL; i++) in stsi_check_header() 301 for (i = 0; (void *)&child[i] < last && child[i].nl == 0; prev_cpu = &child[i++]) { in check_child_cpus() 305 report_info("Incorrect ordering wrt type for child %d", i); in check_child_cpus() 311 report_info("Incorrect ordering wrt polarization for child %d", i); in check_child_cpus() 317 report_info("Incorrect ordering wrt dedication for child %d", i); in check_child_cpus() [all …]
|
/kvm-unit-tests/arm/efi/ |
H A D | crt0-efi-aarch64.S | 2 * crt0-efi-aarch64.S - PE/COFF header for AArch64 EFI applications 22 * Magic "MZ" signature for PE/COFF 94 .long 0 // PointerToRelocations (0 for executables) 95 .long 0 // PointerToLineNumbers (0 for executables) 96 .short 0 // NumberOfRelocations (0 for executables) 97 .short 0 // NumberOfLineNumbers (0 for executables) 106 .long 0 // PointerToRelocations (0 for executables) 107 .long 0 // PointerToLineNumbers (0 for executables) 108 .short 0 // NumberOfRelocations (0 for executables) 109 .short 0 // NumberOfLineNumbers (0 for executables)
|
/kvm-unit-tests/x86/ |
H A D | README | 2 Tests for the x86 architecture are run as kernel images for qemu that support 6 test device, named testdev, for services like printing, exiting, querying 7 memory size, etc. See file docs/testdev.txt for more details. 29 msr: write to msr (only KERNEL_GS_BASE for now) 37 vmexit: long loops for each: cpuid, vmcall, mov_from_cr8, mov_to_cr8,
|
H A D | sieve.c | 9 for (i = 0; i < size; ++i) in sieve() 14 for (i = 2; i < size; ++i) in sieve() 17 for (j = i*2; j < size; j += i) in sieve() 46 for (i = 0; i < 3; ++i) { in main()
|
H A D | hyperv_synic.c | 57 for (i = 0; i < HV_SYNIC_SINT_COUNT; i++) { in synic_prepare_sint_vecs() 69 for (i = 0; i < HV_SYNIC_SINT_COUNT; i++) { in synic_sints_prepare() 88 for (i = 0; i < HV_SYNIC_SINT_COUNT; i++) { in synic_test_prepare() 111 for (i = 0; i < HV_SYNIC_SINT_COUNT; i++) { in synic_sints_test() 133 for (i = 0; i < HV_SYNIC_SINT_COUNT; i++) { in synic_test_cleanup() 165 for (i = 0; i < ncpus; i++) { in main() 176 for (i = 0; i < ncpus; ++i) { in main()
|
H A D | pmu_lbr.c | 25 for (i = 0; i < 200000000; i++) { in lbr_test() 52 report_skip("PMU_LBR test is for intel CPU's only"); in main() 74 /* Look for LBR from and to MSRs */ in main() 89 for (max = 0; max < MAX_NUM_LBR_ENTRY; max++) { in main() 101 for (i = 0; i < max; ++i) { in main()
|
/kvm-unit-tests/docs/ |
H A D | unittests.txt | 6 directory, and how to run it. This way, for example, a single file can 41 For <arch>/ directories that support multiple architectures, this restricts 47 For those architectures that support multiple machine types, this restricts 63 be added, for example: 71 Used to group the test cases for the `run_tests.sh -g ...` run group 72 option. The group name is arbitrary, except for these special groups: 97 Check a file for a particular value before running a test. The check line
|
/kvm-unit-tests/powerpc/ |
H A D | sieve.c | 9 for (i = 0; i < size; ++i) in sieve() 14 for (i = 2; i < size; ++i) in sieve() 17 for (j = i*2; j < size; j += i) in sieve() 46 for (i = 0; i < 3; ++i) { in main()
|
/kvm-unit-tests/common/ |
H A D | sieve.c | 9 for (i = 0; i < size; ++i) in sieve() 14 for (i = 2; i < size; ++i) in sieve() 17 for (j = i*2; j < size; j += i) in sieve() 46 for (i = 0; i < 3; ++i) { in main()
|
/kvm-unit-tests/arm/ |
H A D | sieve.c | 9 for (i = 0; i < size; ++i) in sieve() 14 for (i = 2; i < size; ++i) in sieve() 17 for (j = i*2; j < size; j += i) in sieve() 46 for (i = 0; i < 3; ++i) { in main()
|
/kvm-unit-tests/riscv/ |
H A D | sieve.c | 9 for (i = 0; i < size; ++i) in sieve() 14 for (i = 2; i < size; ++i) in sieve() 17 for (j = i*2; j < size; j += i) in sieve() 46 for (i = 0; i < 3; ++i) { in main()
|
/kvm-unit-tests/lib/ |
H A D | alloc_page.c | 47 /* One freelist for each possible block size, up to NLISTS */ 51 /* Descriptors for each possible area */ 115 /* update the block size for each page in the block */ in split() 116 for (i = 0; i < BIT(order); i++) { in split() 158 /* search all free lists for some memory */ in page_memalign_order() 159 for ( ; order <= a->max_order; order++) { in page_memalign_order() 178 for (; order > sz; order--) in page_memalign_order() 199 for (i = 0; i < MAX_AREAS; i++) in get_area() 241 for (i = 0; i < (2ull << order); i++) { in coalesce() 288 /* ensure that the block is aligned properly for its size */ in _free_pages() [all …]
|
/kvm-unit-tests/lib/x86/ |
H A D | smp.c | 93 for (;;) in ap_online() 132 for (cpu = cpu_count() - 1; cpu >= 0; --cpu) in on_cpus() 154 for (i = 1; i < cpu_count(); ++i) in smp_init() 170 for (i = 1; i < cpu_count(); ++i) in smp_reset_apic() 196 * | <GDT used for 16-bit -> 32-bit trasition> in setup_rm_gdt() 198 * | <GDT descriptor for ap_rm_gdt> in setup_rm_gdt() 235 * an intermediate trampoline since $label must still be within 0 - 0xFFFF for in setup_rm_gdt() 238 * Using a call gate allows for an easier 16-bit -> 32-bit transition via `lcall`. in setup_rm_gdt() 248 * This layout is only used for reaching 32-bit mode. APs load a 64-bit GDT in setup_rm_gdt() 287 printf("smp: waiting for %d APs\n", _cpu_count - 1); in bringup_aps()
|