##############################################################################
# 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]
file = pmu.flat
groups = pmu

# Test PMU support (TCG) with -icount IPC=1
#[pmu-tcg-icount-1]
#file = pmu.flat
#extra_params = -icount 0 -append '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 '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

[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

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