18849e9cbSAndrew Jones############################################################################## 28849e9cbSAndrew Jones# unittest configuration 38849e9cbSAndrew Jones# 45e61cba0SAndrew Jones# [unittest_name] 58849e9cbSAndrew Jones# file = <name>.flat # Name of the flat file to be used. 68849e9cbSAndrew Jones# smp = <num> # Number of processors the VM will use 78849e9cbSAndrew Jones# # during this test. Use $MAX_SMP to use 88849e9cbSAndrew Jones# # the maximum the host supports. Defaults 98849e9cbSAndrew Jones# # to one. 108849e9cbSAndrew Jones# extra_params = -append <params...> # Additional parameters used. 118849e9cbSAndrew Jones# arch = arm|arm64 # Select one if the test case is 128849e9cbSAndrew Jones# # specific to only one. 138849e9cbSAndrew Jones# groups = <group_name1> <group_name2> ... # Used to identify test cases 148849e9cbSAndrew Jones# # with run_tests -g ... 159a008986SSuraj Jitindar Singh# # Specify group_name=nodefault 169a008986SSuraj Jitindar Singh# # to have test not run by 179a008986SSuraj Jitindar Singh# # default 188849e9cbSAndrew Jones# accel = kvm|tcg # Optionally specify if test must run with 198849e9cbSAndrew Jones# # kvm or tcg. If not specified, then kvm will 208849e9cbSAndrew Jones# # be used when available. 21fd149358SAndrew Jones# timeout = <duration> # Optionally specify a timeout. 227019e650SLaurent Vivier# check = <path>=<value> # check a file for a particular value before running 237019e650SLaurent Vivier# # a test. The check line can contain multiple files 247019e650SLaurent Vivier# # to check separated by a space but each check 257019e650SLaurent Vivier# # parameter needs to be of the form <path>=<value> 268849e9cbSAndrew Jones############################################################################## 275e61cba0SAndrew Jones 285e61cba0SAndrew Jones# 295e61cba0SAndrew Jones# Test that the configured number of processors (smp = <num>), and 305e61cba0SAndrew Jones# that the configured amount of memory (-m <MB>) are correctly setup 315e61cba0SAndrew Jones# by the framework. 325e61cba0SAndrew Jones# 3390b91265SAndrew Jones[selftest-setup] 345e61cba0SAndrew Jonesfile = selftest.flat 350415feeaSAndrew Jonessmp = 2 360415feeaSAndrew Jonesextra_params = -m 256 -append 'setup smp=2 mem=256' 375e61cba0SAndrew Jonesgroups = selftest 382edfe428SAndrew Jones 39f052fea1SAndrew Jones# Test vector setup and exception handling (kernel mode). 4090b91265SAndrew Jones[selftest-vectors-kernel] 412edfe428SAndrew Jonesfile = selftest.flat 42f052fea1SAndrew Jonesextra_params = -append 'vectors-kernel' 432edfe428SAndrew Jonesgroups = selftest 442edfe428SAndrew Jones 45f052fea1SAndrew Jones# Test vector setup and exception handling (user mode). 4690b91265SAndrew Jones[selftest-vectors-user] 472edfe428SAndrew Jonesfile = selftest.flat 48f052fea1SAndrew Jonesextra_params = -append 'vectors-user' 492edfe428SAndrew Jonesgroups = selftest 500415feeaSAndrew Jones 510415feeaSAndrew Jones# Test SMP support 5290b91265SAndrew Jones[selftest-smp] 530415feeaSAndrew Jonesfile = selftest.flat 545e78b70dSAndrew Jonessmp = $MAX_SMP 550415feeaSAndrew Jonesextra_params = -append 'smp' 560415feeaSAndrew Jonesgroups = selftest 57f7f81c6aSAlexander Gordeev 58ac4a67b6SAndrew Jones# Test PCI emulation 59f7f81c6aSAlexander Gordeev[pci-test] 60f7f81c6aSAlexander Gordeevfile = pci-test.flat 61f7f81c6aSAlexander Gordeevgroups = pci 624244065bSChristopher Covington 634244065bSChristopher Covington# Test PMU support 6457ec1086SEric Auger[pmu-cycle-counter] 654244065bSChristopher Covingtonfile = pmu.flat 664244065bSChristopher Covingtongroups = pmu 6757ec1086SEric Augerextra_params = -append 'cycle-counter 0' 688f76a347SChristopher Covington 694870738cSEric Auger[pmu-event-introspection] 704870738cSEric Augerfile = pmu.flat 714870738cSEric Augergroups = pmu 724870738cSEric Augerarch = arm64 734870738cSEric Augerextra_params = -append 'pmu-event-introspection' 744870738cSEric Auger 754ce2a804SEric Auger[pmu-event-counter-config] 764ce2a804SEric Augerfile = pmu.flat 774ce2a804SEric Augergroups = pmu 784ce2a804SEric Augerarch = arm64 794ce2a804SEric Augerextra_params = -append 'pmu-event-counter-config' 804ce2a804SEric Auger 814ce2a804SEric Auger[pmu-basic-event-count] 824ce2a804SEric Augerfile = pmu.flat 834ce2a804SEric Augergroups = pmu 844ce2a804SEric Augerarch = arm64 854ce2a804SEric Augerextra_params = -append 'pmu-basic-event-count' 864ce2a804SEric Auger 874ce2a804SEric Auger[pmu-mem-access] 884ce2a804SEric Augerfile = pmu.flat 894ce2a804SEric Augergroups = pmu 904ce2a804SEric Augerarch = arm64 914ce2a804SEric Augerextra_params = -append 'pmu-mem-access' 924ce2a804SEric Auger 93bb9a5adcSEric Auger[pmu-sw-incr] 94bb9a5adcSEric Augerfile = pmu.flat 95bb9a5adcSEric Augergroups = pmu 96bb9a5adcSEric Augerarch = arm64 97bb9a5adcSEric Augerextra_params = -append 'pmu-sw-incr' 98bb9a5adcSEric Auger 9966fee034SEric Auger[pmu-chained-counters] 10066fee034SEric Augerfile = pmu.flat 10166fee034SEric Augergroups = pmu 10266fee034SEric Augerarch = arm64 10366fee034SEric Augerextra_params = -append 'pmu-chained-counters' 10466fee034SEric Auger 10566fee034SEric Auger[pmu-chained-sw-incr] 10666fee034SEric Augerfile = pmu.flat 10766fee034SEric Augergroups = pmu 10866fee034SEric Augerarch = arm64 10966fee034SEric Augerextra_params = -append 'pmu-chained-sw-incr' 11066fee034SEric Auger 111ca42f29aSEric Auger[pmu-chain-promotion] 112ca42f29aSEric Augerfile = pmu.flat 113ca42f29aSEric Augergroups = pmu 114ca42f29aSEric Augerarch = arm64 115ca42f29aSEric Augerextra_params = -append 'pmu-chain-promotion' 116ca42f29aSEric Auger 1174f5ef94fSEric Auger[pmu-overflow-interrupt] 1184f5ef94fSEric Augerfile = pmu.flat 1194f5ef94fSEric Augergroups = pmu 1204f5ef94fSEric Augerarch = arm64 1214f5ef94fSEric Augerextra_params = -append 'pmu-overflow-interrupt' 1224f5ef94fSEric Auger 1238f76a347SChristopher Covington# Test PMU support (TCG) with -icount IPC=1 1245d01d087SAndrew Jones#[pmu-tcg-icount-1] 1255d01d087SAndrew Jones#file = pmu.flat 12657ec1086SEric Auger#extra_params = -icount 0 -append 'cycle-counter 1' 1275d01d087SAndrew Jones#groups = pmu 1285d01d087SAndrew Jones#accel = tcg 1298f76a347SChristopher Covington 1308f76a347SChristopher Covington# Test PMU support (TCG) with -icount IPC=256 1315d01d087SAndrew Jones#[pmu-tcg-icount-256] 1325d01d087SAndrew Jones#file = pmu.flat 13357ec1086SEric Auger#extra_params = -icount 8 -append 'cycle-counter 256' 1345d01d087SAndrew Jones#groups = pmu 1355d01d087SAndrew Jones#accel = tcg 136ac4a67b6SAndrew Jones 137ac4a67b6SAndrew Jones# Test GIC emulation 138ac4a67b6SAndrew Jones[gicv2-ipi] 139ac4a67b6SAndrew Jonesfile = gic.flat 140ac4a67b6SAndrew Jonessmp = $((($MAX_SMP < 8)?$MAX_SMP:8)) 141ac4a67b6SAndrew Jonesextra_params = -machine gic-version=2 -append 'ipi' 142ac4a67b6SAndrew Jonesgroups = gic 1432e2d471dSAndrew Jones 14478ad7e95SAndre Przywara[gicv2-mmio] 14578ad7e95SAndre Przywarafile = gic.flat 14678ad7e95SAndre Przywarasmp = $((($MAX_SMP < 8)?$MAX_SMP:8)) 14778ad7e95SAndre Przywaraextra_params = -machine gic-version=2 -append 'mmio' 14878ad7e95SAndre Przywaragroups = gic 14978ad7e95SAndre Przywara 15078ad7e95SAndre Przywara[gicv2-mmio-up] 15178ad7e95SAndre Przywarafile = gic.flat 15278ad7e95SAndre Przywarasmp = 1 15378ad7e95SAndre Przywaraextra_params = -machine gic-version=2 -append 'mmio' 15478ad7e95SAndre Przywaragroups = gic 15578ad7e95SAndre Przywara 15678ad7e95SAndre Przywara[gicv2-mmio-3p] 15778ad7e95SAndre Przywarafile = gic.flat 15878ad7e95SAndre Przywarasmp = $((($MAX_SMP < 3)?$MAX_SMP:3)) 15978ad7e95SAndre Przywaraextra_params = -machine gic-version=2 -append 'mmio' 16078ad7e95SAndre Przywaragroups = gic 16178ad7e95SAndre Przywara 1622e2d471dSAndrew Jones[gicv3-ipi] 1632e2d471dSAndrew Jonesfile = gic.flat 1642e2d471dSAndrew Jonessmp = $MAX_SMP 1652e2d471dSAndrew Jonesextra_params = -machine gic-version=3 -append 'ipi' 1662e2d471dSAndrew Jonesgroups = gic 167bec58c1cSLevente Kurusa 168c152d8bcSChristoffer Dall[gicv2-active] 169c152d8bcSChristoffer Dallfile = gic.flat 170c152d8bcSChristoffer Dallsmp = $((($MAX_SMP < 8)?$MAX_SMP:8)) 171c152d8bcSChristoffer Dallextra_params = -machine gic-version=2 -append 'active' 172c152d8bcSChristoffer Dallgroups = gic 173c152d8bcSChristoffer Dall 174c152d8bcSChristoffer Dall[gicv3-active] 175c152d8bcSChristoffer Dallfile = gic.flat 176c152d8bcSChristoffer Dallsmp = $MAX_SMP 177c152d8bcSChristoffer Dallextra_params = -machine gic-version=3 -append 'active' 178c152d8bcSChristoffer Dallgroups = gic 179c152d8bcSChristoffer Dall 180*ba74b106SEric Auger[its-introspection] 181*ba74b106SEric Augerfile = gic.flat 182*ba74b106SEric Augersmp = $MAX_SMP 183*ba74b106SEric Augerextra_params = -machine gic-version=3 -append 'its-introspection' 184*ba74b106SEric Augergroups = its 185*ba74b106SEric Augerarch = arm64 186*ba74b106SEric Auger 187bec58c1cSLevente Kurusa# Test PSCI emulation 188bec58c1cSLevente Kurusa[psci] 189bec58c1cSLevente Kurusafile = psci.flat 190bec58c1cSLevente Kurusasmp = $MAX_SMP 191f082e37fSAndrew Jonesgroups = psci 192f2f220deSAlexander Graf 193f2f220deSAlexander Graf# Timer tests 1949e5e817bSAndrew Jones[timer] 195f2f220deSAlexander Graffile = timer.flat 196f2f220deSAlexander Grafgroups = timer 19724dd2adaSAlexandru Eliseitimeout = 10s 1985d9e5a90SAndrew Jonesarch = arm64 199090e1532SShih-Wei Li 200090e1532SShih-Wei Li# Exit tests 201090e1532SShih-Wei Li[micro-bench] 202090e1532SShih-Wei Lifile = micro-bench.flat 203090e1532SShih-Wei Lismp = 2 204090e1532SShih-Wei Ligroups = nodefault,micro-bench 205090e1532SShih-Wei Liaccel = kvm 206090e1532SShih-Wei Liarch = arm64 2072861c740SAlexandru Elisei 2082861c740SAlexandru Elisei# Cache emulation tests 2092861c740SAlexandru Elisei[cache] 2102861c740SAlexandru Eliseifile = cache.flat 2112861c740SAlexandru Eliseiarch = arm64 2122861c740SAlexandru Eliseigroups = cache 213