##############################################################################
# unittest configuration
#
# [unittest_name]
# file = <name>.flat		# Name of the flat file to be used.
# smp  = <num>			# Number of processors the VM will use
#				# during this test. Use $MAX_SMP to use
#				# the maximum the host supports. Defaults
#				# to one.
# extra_params = -append <params...>	# Additional parameters used.
# arch = arm|arm64			# Select one if the test case is
#					# specific to only one.
# groups = <group_name1> <group_name2> ...	# Used to identify test cases
#						# with run_tests -g ...
#						# Specify group_name=nodefault
#						# to have test not run by
#						# default
# accel = kvm|tcg		# Optionally specify if test must run with
#				# kvm or tcg. If not specified, then kvm will
#				# be used when available.
# timeout = <duration>		# Optionally specify a timeout.
# check = <path>=<value> # check a file for a particular value before running
#                        # a test. The check line can contain multiple files
#                        # to check separated by a space but each check
#                        # parameter needs to be of the form <path>=<value>
##############################################################################

#
# Test that the configured number of processors (smp = <num>), and
# that the configured amount of memory (-m <MB>) are correctly setup
# by the framework.
#
[selftest-setup]
file = selftest.flat
smp = 2
extra_params = -m 256 -append 'setup smp=2 mem=256'
groups = selftest

# Test vector setup and exception handling (kernel mode).
[selftest-vectors-kernel]
file = selftest.flat
extra_params = -append 'vectors-kernel'
groups = selftest

# Test vector setup and exception handling (user mode).
[selftest-vectors-user]
file = selftest.flat
extra_params = -append 'vectors-user'
groups = selftest

# Test SMP support
[selftest-smp]
file = selftest.flat
smp = $MAX_SMP
extra_params = -append 'smp'
groups = selftest

# Test PCI emulation
[pci-test]
file = pci-test.flat
groups = pci

# Test PMU support
[pmu-cycle-counter]
file = pmu.flat
groups = pmu
extra_params = -append 'cycle-counter 0'

[pmu-event-introspection]
file = pmu.flat
groups = pmu
arch = arm64
extra_params = -append 'pmu-event-introspection'

[pmu-event-counter-config]
file = pmu.flat
groups = pmu
arch = arm64
extra_params = -append 'pmu-event-counter-config'

[pmu-basic-event-count]
file = pmu.flat
groups = pmu
arch = arm64
extra_params = -append 'pmu-basic-event-count'

[pmu-mem-access]
file = pmu.flat
groups = pmu
arch = arm64
extra_params = -append 'pmu-mem-access'

[pmu-sw-incr]
file = pmu.flat
groups = pmu
arch = arm64
extra_params = -append 'pmu-sw-incr'

[pmu-chained-counters]
file = pmu.flat
groups = pmu
arch = arm64
extra_params = -append 'pmu-chained-counters'

[pmu-chained-sw-incr]
file = pmu.flat
groups = pmu
arch = arm64
extra_params = -append 'pmu-chained-sw-incr'

[pmu-chain-promotion]
file = pmu.flat
groups = pmu
arch = arm64
extra_params = -append 'pmu-chain-promotion'

[pmu-overflow-interrupt]
file = pmu.flat
groups = pmu
arch = arm64
extra_params = -append 'pmu-overflow-interrupt'

# Test PMU support (TCG) with -icount IPC=1
#[pmu-tcg-icount-1]
#file = pmu.flat
#extra_params = -icount 0 -append 'cycle-counter 1'
#groups = pmu
#accel = tcg

# Test PMU support (TCG) with -icount IPC=256
#[pmu-tcg-icount-256]
#file = pmu.flat
#extra_params = -icount 8 -append 'cycle-counter 256'
#groups = pmu
#accel = tcg

# Test GIC emulation
[gicv2-ipi]
file = gic.flat
smp = $((($MAX_SMP < 8)?$MAX_SMP:8))
extra_params = -machine gic-version=2 -append 'ipi'
groups = gic

[gicv2-mmio]
file = gic.flat
smp = $((($MAX_SMP < 8)?$MAX_SMP:8))
extra_params = -machine gic-version=2 -append 'mmio'
groups = gic

[gicv2-mmio-up]
file = gic.flat
smp = 1
extra_params = -machine gic-version=2 -append 'mmio'
groups = gic

[gicv2-mmio-3p]
file = gic.flat
smp = $((($MAX_SMP < 3)?$MAX_SMP:3))
extra_params = -machine gic-version=2 -append 'mmio'
groups = gic

[gicv3-ipi]
file = gic.flat
smp = $MAX_SMP
extra_params = -machine gic-version=3 -append 'ipi'
groups = gic

[gicv2-active]
file = gic.flat
smp = $((($MAX_SMP < 8)?$MAX_SMP:8))
extra_params = -machine gic-version=2 -append 'active'
groups = gic

[gicv3-active]
file = gic.flat
smp = $MAX_SMP
extra_params = -machine gic-version=3 -append 'active'
groups = gic

[its-introspection]
file = gic.flat
smp = $MAX_SMP
extra_params = -machine gic-version=3 -append 'its-introspection'
groups = its
arch = arm64

[its-trigger]
file = gic.flat
smp = $MAX_SMP
extra_params = -machine gic-version=3 -append 'its-trigger'
groups = its
arch = arm64

[its-migration]
file = gic.flat
smp = $MAX_SMP
accel = kvm
extra_params = -machine gic-version=3 -append 'its-migration'
groups = its migration
arch = arm64

[its-pending-migration]
file = gic.flat
smp = $MAX_SMP
accel = kvm
extra_params = -machine gic-version=3 -append 'its-pending-migration'
groups = its migration
arch = arm64

[its-migrate-unmapped-collection]
file = gic.flat
smp = $MAX_SMP
accel = kvm
extra_params = -machine gic-version=3 -append 'its-migrate-unmapped-collection'
groups = its migration
arch = arm64

# Test PSCI emulation
[psci]
file = psci.flat
smp = $MAX_SMP
groups = psci

# Timer tests
[timer]
file = timer.flat
groups = timer
timeout = 10s
arch = arm64

# Exit tests
[micro-bench]
file = micro-bench.flat
smp = 2
groups = nodefault,micro-bench
accel = kvm
arch = arm64

# Cache emulation tests
[cache]
file = cache.flat
arch = arm64
groups = cache
