18849e9cbSAndrew Jones############################################################################## 28849e9cbSAndrew Jones# unittest configuration 38849e9cbSAndrew Jones# 44cdd2731SNicholas Piggin# arm specifics: 54cdd2731SNicholas Piggin# 64cdd2731SNicholas Piggin# file = <name>.flat # arm uses .flat files 74cdd2731SNicholas Piggin# arch = arm|arm64 88849e9cbSAndrew Jones############################################################################## 95e61cba0SAndrew Jones 105e61cba0SAndrew Jones# 115e61cba0SAndrew Jones# Test that the configured number of processors (smp = <num>), and 125e61cba0SAndrew Jones# that the configured amount of memory (-m <MB>) are correctly setup 135e61cba0SAndrew Jones# by the framework. 145e61cba0SAndrew Jones# 1590b91265SAndrew Jones[selftest-setup] 165e61cba0SAndrew Jonesfile = selftest.flat 170415feeaSAndrew Jonessmp = 2 180415feeaSAndrew Jonesextra_params = -m 256 -append 'setup smp=2 mem=256' 195e61cba0SAndrew Jonesgroups = selftest 202edfe428SAndrew Jones 21f052fea1SAndrew Jones# Test vector setup and exception handling (kernel mode). 2290b91265SAndrew Jones[selftest-vectors-kernel] 232edfe428SAndrew Jonesfile = selftest.flat 24f052fea1SAndrew Jonesextra_params = -append 'vectors-kernel' 252edfe428SAndrew Jonesgroups = selftest 262edfe428SAndrew Jones 27f052fea1SAndrew Jones# Test vector setup and exception handling (user mode). 2890b91265SAndrew Jones[selftest-vectors-user] 292edfe428SAndrew Jonesfile = selftest.flat 30f052fea1SAndrew Jonesextra_params = -append 'vectors-user' 312edfe428SAndrew Jonesgroups = selftest 320415feeaSAndrew Jones 330415feeaSAndrew Jones# Test SMP support 3490b91265SAndrew Jones[selftest-smp] 350415feeaSAndrew Jonesfile = selftest.flat 365e78b70dSAndrew Jonessmp = $MAX_SMP 370415feeaSAndrew Jonesextra_params = -append 'smp' 380415feeaSAndrew Jonesgroups = selftest 39f7f81c6aSAlexander Gordeev 40ac4a67b6SAndrew Jones# Test PCI emulation 41f7f81c6aSAlexander Gordeev[pci-test] 42f7f81c6aSAlexander Gordeevfile = pci-test.flat 43f7f81c6aSAlexander Gordeevgroups = pci 444244065bSChristopher Covington 454244065bSChristopher Covington# Test PMU support 4657ec1086SEric Auger[pmu-cycle-counter] 474244065bSChristopher Covingtonfile = pmu.flat 484244065bSChristopher Covingtongroups = pmu 4957ec1086SEric Augerextra_params = -append 'cycle-counter 0' 508f76a347SChristopher Covington 514870738cSEric Auger[pmu-event-introspection] 524870738cSEric Augerfile = pmu.flat 534870738cSEric Augergroups = pmu 544870738cSEric Augerarch = arm64 554870738cSEric Augerextra_params = -append 'pmu-event-introspection' 564870738cSEric Auger 574ce2a804SEric Auger[pmu-event-counter-config] 584ce2a804SEric Augerfile = pmu.flat 594ce2a804SEric Augergroups = pmu 604ce2a804SEric Augerarch = arm64 614ce2a804SEric Augerextra_params = -append 'pmu-event-counter-config' 624ce2a804SEric Auger 634ce2a804SEric Auger[pmu-basic-event-count] 644ce2a804SEric Augerfile = pmu.flat 654ce2a804SEric Augergroups = pmu 664ce2a804SEric Augerarch = arm64 674ce2a804SEric Augerextra_params = -append 'pmu-basic-event-count' 684ce2a804SEric Auger 694ce2a804SEric Auger[pmu-mem-access] 704ce2a804SEric Augerfile = pmu.flat 714ce2a804SEric Augergroups = pmu 724ce2a804SEric Augerarch = arm64 734ce2a804SEric Augerextra_params = -append 'pmu-mem-access' 744ce2a804SEric Auger 753c23bf40SEric Auger[pmu-mem-access-reliability] 763c23bf40SEric Augerfile = pmu.flat 773c23bf40SEric Augergroups = pmu 783c23bf40SEric Augerarch = arm64 793c23bf40SEric Augerextra_params = -append 'pmu-mem-access-reliability' 803c23bf40SEric Auger 81bb9a5adcSEric Auger[pmu-sw-incr] 82bb9a5adcSEric Augerfile = pmu.flat 83bb9a5adcSEric Augergroups = pmu 84bb9a5adcSEric Augerarch = arm64 85bb9a5adcSEric Augerextra_params = -append 'pmu-sw-incr' 86bb9a5adcSEric Auger 8766fee034SEric Auger[pmu-chained-counters] 8866fee034SEric Augerfile = pmu.flat 8966fee034SEric Augergroups = pmu 9066fee034SEric Augerarch = arm64 9166fee034SEric Augerextra_params = -append 'pmu-chained-counters' 9266fee034SEric Auger 9366fee034SEric Auger[pmu-chained-sw-incr] 9466fee034SEric Augerfile = pmu.flat 9566fee034SEric Augergroups = pmu 9666fee034SEric Augerarch = arm64 9766fee034SEric Augerextra_params = -append 'pmu-chained-sw-incr' 9866fee034SEric Auger 99ca42f29aSEric Auger[pmu-chain-promotion] 100ca42f29aSEric Augerfile = pmu.flat 101ca42f29aSEric Augergroups = pmu 102ca42f29aSEric Augerarch = arm64 103ca42f29aSEric Augerextra_params = -append 'pmu-chain-promotion' 104ca42f29aSEric Auger 1054f5ef94fSEric Auger[pmu-overflow-interrupt] 1064f5ef94fSEric Augerfile = pmu.flat 1074f5ef94fSEric Augergroups = pmu 1084f5ef94fSEric Augerarch = arm64 1094f5ef94fSEric Augerextra_params = -append 'pmu-overflow-interrupt' 1104f5ef94fSEric Auger 1118f76a347SChristopher Covington# Test PMU support (TCG) with -icount IPC=1 1125d01d087SAndrew Jones#[pmu-tcg-icount-1] 1135d01d087SAndrew Jones#file = pmu.flat 11457ec1086SEric Auger#extra_params = -icount 0 -append 'cycle-counter 1' 1155d01d087SAndrew Jones#groups = pmu 1165d01d087SAndrew Jones#accel = tcg 1178f76a347SChristopher Covington 1188f76a347SChristopher Covington# Test PMU support (TCG) with -icount IPC=256 1195d01d087SAndrew Jones#[pmu-tcg-icount-256] 1205d01d087SAndrew Jones#file = pmu.flat 12157ec1086SEric Auger#extra_params = -icount 8 -append 'cycle-counter 256' 1225d01d087SAndrew Jones#groups = pmu 1235d01d087SAndrew Jones#accel = tcg 124ac4a67b6SAndrew Jones 125ac4a67b6SAndrew Jones# Test GIC emulation 126ac4a67b6SAndrew Jones[gicv2-ipi] 127ac4a67b6SAndrew Jonesfile = gic.flat 128ac4a67b6SAndrew Jonessmp = $((($MAX_SMP < 8)?$MAX_SMP:8)) 129ac4a67b6SAndrew Jonesextra_params = -machine gic-version=2 -append 'ipi' 130ac4a67b6SAndrew Jonesgroups = gic 1312e2d471dSAndrew Jones 13278ad7e95SAndre Przywara[gicv2-mmio] 13378ad7e95SAndre Przywarafile = gic.flat 13478ad7e95SAndre Przywarasmp = $((($MAX_SMP < 8)?$MAX_SMP:8)) 13578ad7e95SAndre Przywaraextra_params = -machine gic-version=2 -append 'mmio' 13678ad7e95SAndre Przywaragroups = gic 13778ad7e95SAndre Przywara 13878ad7e95SAndre Przywara[gicv2-mmio-up] 13978ad7e95SAndre Przywarafile = gic.flat 14078ad7e95SAndre Przywarasmp = 1 14178ad7e95SAndre Przywaraextra_params = -machine gic-version=2 -append 'mmio' 14278ad7e95SAndre Przywaragroups = gic 14378ad7e95SAndre Przywara 14478ad7e95SAndre Przywara[gicv2-mmio-3p] 14578ad7e95SAndre Przywarafile = gic.flat 14678ad7e95SAndre Przywarasmp = $((($MAX_SMP < 3)?$MAX_SMP:3)) 14778ad7e95SAndre Przywaraextra_params = -machine gic-version=2 -append 'mmio' 14878ad7e95SAndre Przywaragroups = gic 14978ad7e95SAndre Przywara 1502e2d471dSAndrew Jones[gicv3-ipi] 1512e2d471dSAndrew Jonesfile = gic.flat 1522e2d471dSAndrew Jonessmp = $MAX_SMP 1532e2d471dSAndrew Jonesextra_params = -machine gic-version=3 -append 'ipi' 1542e2d471dSAndrew Jonesgroups = gic 155bec58c1cSLevente Kurusa 156c152d8bcSChristoffer Dall[gicv2-active] 157c152d8bcSChristoffer Dallfile = gic.flat 158c152d8bcSChristoffer Dallsmp = $((($MAX_SMP < 8)?$MAX_SMP:8)) 159c152d8bcSChristoffer Dallextra_params = -machine gic-version=2 -append 'active' 160c152d8bcSChristoffer Dallgroups = gic 161c152d8bcSChristoffer Dall 162c152d8bcSChristoffer Dall[gicv3-active] 163c152d8bcSChristoffer Dallfile = gic.flat 164c152d8bcSChristoffer Dallsmp = $MAX_SMP 165c152d8bcSChristoffer Dallextra_params = -machine gic-version=3 -append 'active' 166c152d8bcSChristoffer Dallgroups = gic 167c152d8bcSChristoffer Dall 168ba74b106SEric Auger[its-introspection] 169ba74b106SEric Augerfile = gic.flat 170ba74b106SEric Augersmp = $MAX_SMP 171ba74b106SEric Augerextra_params = -machine gic-version=3 -append 'its-introspection' 172ba74b106SEric Augergroups = its 173ba74b106SEric Augerarch = arm64 174ba74b106SEric Auger 1750ef02cd6SEric Auger[its-trigger] 1760ef02cd6SEric Augerfile = gic.flat 1770ef02cd6SEric Augersmp = $MAX_SMP 1780ef02cd6SEric Augerextra_params = -machine gic-version=3 -append 'its-trigger' 1790ef02cd6SEric Augergroups = its 1800ef02cd6SEric Augerarch = arm64 1810ef02cd6SEric Auger 18264260a5fSEric Auger[its-migration] 18364260a5fSEric Augerfile = gic.flat 18464260a5fSEric Augersmp = $MAX_SMP 18564260a5fSEric Augerextra_params = -machine gic-version=3 -append 'its-migration' 18664260a5fSEric Augergroups = its migration 18764260a5fSEric Augerarch = arm64 18864260a5fSEric Auger 189de582149SEric Auger[its-pending-migration] 190de582149SEric Augerfile = gic.flat 191de582149SEric Augersmp = $MAX_SMP 192de582149SEric Augerextra_params = -machine gic-version=3 -append 'its-pending-migration' 193de582149SEric Augergroups = its migration 194de582149SEric Augerarch = arm64 195de582149SEric Auger 196de582149SEric Auger[its-migrate-unmapped-collection] 197de582149SEric Augerfile = gic.flat 198de582149SEric Augersmp = $MAX_SMP 199de582149SEric Augerextra_params = -machine gic-version=3 -append 'its-migrate-unmapped-collection' 200de582149SEric Augergroups = its migration 201de582149SEric Augerarch = arm64 202de582149SEric Auger 203bec58c1cSLevente Kurusa# Test PSCI emulation 204bec58c1cSLevente Kurusa[psci] 205bec58c1cSLevente Kurusafile = psci.flat 206bec58c1cSLevente Kurusasmp = $MAX_SMP 207f082e37fSAndrew Jonesgroups = psci 208f2f220deSAlexander Graf 209f2f220deSAlexander Graf# Timer tests 2109e5e817bSAndrew Jones[timer] 211f2f220deSAlexander Graffile = timer.flat 212f2f220deSAlexander Grafgroups = timer 21324dd2adaSAlexandru Eliseitimeout = 10s 2145d9e5a90SAndrew Jonesarch = arm64 215090e1532SShih-Wei Li 216090e1532SShih-Wei Li# Exit tests 217090e1532SShih-Wei Li[micro-bench] 218090e1532SShih-Wei Lifile = micro-bench.flat 219090e1532SShih-Wei Lismp = 2 220e36a9d05SAndrew Jonesgroups = nodefault micro-bench 221090e1532SShih-Wei Liaccel = kvm 222090e1532SShih-Wei Liarch = arm64 2232861c740SAlexandru Elisei 2242861c740SAlexandru Elisei# Cache emulation tests 2252861c740SAlexandru Elisei[cache] 2262861c740SAlexandru Eliseifile = cache.flat 2272861c740SAlexandru Eliseiarch = arm64 2282861c740SAlexandru Eliseigroups = cache 22969de9b31SRicardo Koller 23069de9b31SRicardo Koller# Debug tests 23169de9b31SRicardo Koller[debug-bp] 23269de9b31SRicardo Kollerfile = debug.flat 23369de9b31SRicardo Kollerarch = arm64 23469de9b31SRicardo Kollerextra_params = -append 'bp' 23569de9b31SRicardo Kollergroups = debug 23669de9b31SRicardo Koller 23769de9b31SRicardo Koller[debug-bp-migration] 23869de9b31SRicardo Kollerfile = debug.flat 23969de9b31SRicardo Kollerarch = arm64 24069de9b31SRicardo Kollerextra_params = -append 'bp-migration' 24169de9b31SRicardo Kollergroups = debug migration 242843fa9e2SRicardo Koller 243843fa9e2SRicardo Koller[debug-wp] 244843fa9e2SRicardo Kollerfile = debug.flat 245843fa9e2SRicardo Kollerarch = arm64 246843fa9e2SRicardo Kollerextra_params = -append 'wp' 247843fa9e2SRicardo Kollergroups = debug 248843fa9e2SRicardo Koller 249843fa9e2SRicardo Koller[debug-wp-migration] 250843fa9e2SRicardo Kollerfile = debug.flat 251843fa9e2SRicardo Kollerarch = arm64 252843fa9e2SRicardo Kollerextra_params = -append 'wp-migration' 253843fa9e2SRicardo Kollergroups = debug migration 254ac97ac81SRicardo Koller 255ac97ac81SRicardo Koller[debug-sstep] 256ac97ac81SRicardo Kollerfile = debug.flat 257ac97ac81SRicardo Kollerarch = arm64 258ac97ac81SRicardo Kollerextra_params = -append 'ss' 259ac97ac81SRicardo Kollergroups = debug 260ac97ac81SRicardo Koller 261ac97ac81SRicardo Koller[debug-sstep-migration] 262ac97ac81SRicardo Kollerfile = debug.flat 263ac97ac81SRicardo Kollerarch = arm64 264ac97ac81SRicardo Kollerextra_params = -append 'ss-migration' 265ac97ac81SRicardo Kollergroups = debug migration 266d47d370cSSubhasish Ghosh 267d47d370cSSubhasish Ghosh# FPU/SIMD test 268d47d370cSSubhasish Ghosh[fpu-context] 269d47d370cSSubhasish Ghoshfile = fpu.flat 270d47d370cSSubhasish Ghoshsmp = 2 271d47d370cSSubhasish Ghoshgroups = nodefault 272d47d370cSSubhasish Ghoshaccel = kvm 273d47d370cSSubhasish Ghosharch = arm64 274*1b59c632SVladimir Murzin 275*1b59c632SVladimir Murzin# MTE tests 276*1b59c632SVladimir Murzin[mte-sync] 277*1b59c632SVladimir Murzinfile = mte.flat 278*1b59c632SVladimir Murzingroups = mte 279*1b59c632SVladimir Murzinextra_params = -machine mte=on -append 'sync' 280*1b59c632SVladimir Murzinarch = arm64 281*1b59c632SVladimir Murzin 282*1b59c632SVladimir Murzin[mte-async] 283*1b59c632SVladimir Murzinfile = mte.flat 284*1b59c632SVladimir Murzingroups = mte 285*1b59c632SVladimir Murzinextra_params = -machine mte=on -append 'async' 286*1b59c632SVladimir Murzinarch = arm64 287*1b59c632SVladimir Murzin 288*1b59c632SVladimir Murzin[mte-asymm] 289*1b59c632SVladimir Murzinfile = mte.flat 290*1b59c632SVladimir Murzingroups = mte 291*1b59c632SVladimir Murzinextra_params = -machine mte=on -append 'asymm' 292*1b59c632SVladimir Murzinarch = arm64 293