[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [kvm-unit-tests PATCH v2 06/16] arm/arm64: ITS: Test BASER
From: |
Auger Eric |
Subject: |
Re: [kvm-unit-tests PATCH v2 06/16] arm/arm64: ITS: Test BASER |
Date: |
Wed, 15 Jan 2020 18:16:05 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
Hi,
On 1/13/20 6:21 PM, Andrew Jones wrote:
> On Fri, Jan 10, 2020 at 03:54:02PM +0100, Eric Auger wrote:
>> Add helper routines to parse and set up BASER registers.
>> Add a new test dedicated to BASER<n> accesses.
>>
>> Signed-off-by: Eric Auger <address@hidden>
>>
>> ---
>>
>> v2 -> v3:
>> - remove everything related to memory attributes
>> - s/dev_baser/coll_baser/ in report_info
>> - add extra line
>> - removed index filed in its_baser
>> ---
>> arm/gic.c | 21 ++++++++++-
>> arm/unittests.cfg | 6 +++
>> lib/arm/asm/gic-v3-its.h | 14 +++++++
>> lib/arm/gic-v3-its.c | 80 ++++++++++++++++++++++++++++++++++++++++
>> 4 files changed, 120 insertions(+), 1 deletion(-)
>>
>> diff --git a/arm/gic.c b/arm/gic.c
>> index adeb981..3597ac3 100644
>> --- a/arm/gic.c
>> +++ b/arm/gic.c
>> @@ -531,11 +531,26 @@ static void test_its_introspection(void)
>> typer->collid_bits);
>> report(typer->eventid_bits && typer->deviceid_bits &&
>> typer->collid_bits, "ID spaces");
>> - report(!typer->hw_collections, "collections only in ext memory");
>> report_info("Target address format %s",
>> typer->pta ? "Redist basse address" : "PE #");
>> }
>>
>> +static void test_its_baser(void)
>> +{
>> + struct its_baser *dev_baser, *coll_baser;
>> +
>> + if (!gicv3_its_base()) {
>> + report_skip("No ITS, skip ...");
>> + return;
>> + }
>> +
>> + dev_baser = its_lookup_baser(GITS_BASER_TYPE_DEVICE);
>> + coll_baser = its_lookup_baser(GITS_BASER_TYPE_COLLECTION);
>> + report(dev_baser && coll_baser, "detect device and collection BASER");
>> + report_info("device baser entry_size = 0x%x", dev_baser->esz);
>> + report_info("collection baser entry_size = 0x%x", coll_baser->esz);
>> +}
>> +
>> int main(int argc, char **argv)
>> {
>> if (!gic_init()) {
>> @@ -571,6 +586,10 @@ int main(int argc, char **argv)
>> report_prefix_push(argv[1]);
>> test_its_introspection();
>> report_prefix_pop();
>> + } else if (strcmp(argv[1], "its-baser") == 0) {
>> + report_prefix_push(argv[1]);
>> + test_its_baser();
>> + report_prefix_pop();
>> } else {
>> report_abort("Unknown subtest '%s'", argv[1]);
>> }
>> diff --git a/arm/unittests.cfg b/arm/unittests.cfg
>> index bd20460..2234a0f 100644
>> --- a/arm/unittests.cfg
>> +++ b/arm/unittests.cfg
>> @@ -128,6 +128,12 @@ smp = $MAX_SMP
>> extra_params = -machine gic-version=3 -append 'its-introspection'
>> groups = its
>>
>> +[its-baser]
>> +file = gic.flat
>> +smp = $MAX_SMP
>> +extra_params = -machine gic-version=3 -append 'its-baser'
>> +groups = its
>
> Do these tests need to be run separately from the its-introspection tests
> for some reason? If not, then I'd combine them.
Not really. To me it is easier to debug and analyze when the fail
though. I will merge both.
Thanks
Eric
>
> Thanks,
> drew
>
- [kvm-unit-tests PATCH v2 01/16] libcflat: Add other size defines, (continued)
- [kvm-unit-tests PATCH v2 01/16] libcflat: Add other size defines, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 02/16] arm: gic: Provide per-IRQ helper functions, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 03/16] arm/arm64: gic: Introduce setup_irq() helper, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 04/16] arm/arm64: gicv3: Add some re-distributor defines, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 05/16] arm/arm64: ITS: Introspection tests, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 06/16] arm/arm64: ITS: Test BASER, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 07/16] arm/arm64: ITS: Set the LPI config and pending tables, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 08/16] arm/arm64: ITS: Init the command queue, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 09/16] arm/arm64: ITS: Enable/Disable LPIs at re-distributor level, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 10/16] arm/arm64: ITS: its_enable_defaults, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 11/16] arm/arm64: ITS: Device and collection Initialization, Eric Auger, 2020/01/10
- [kvm-unit-tests PATCH v2 12/16] arm/arm64: ITS: commands, Eric Auger, 2020/01/10