[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [kvm-unit-tests PATCH v7 08/13] arm/arm64: ITS: Device and collectio
From: |
Auger Eric |
Subject: |
Re: [kvm-unit-tests PATCH v7 08/13] arm/arm64: ITS: Device and collection Initialization |
Date: |
Wed, 25 Mar 2020 22:20:43 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
Hi Zenghui,
On 3/25/20 9:10 AM, Zenghui Yu wrote:
> Hi Eric,
>
> On 2020/3/20 17:24, Eric Auger wrote:
>> Introduce an helper functions to register
>> - a new device, characterized by its device id and the
>> max number of event IDs that dimension its ITT (Interrupt
>> Translation Table). The function allocates the ITT.
>>
>> - a new collection, characterized by its ID and the
>> target processing engine (PE).
>>
>> Signed-off-by: Eric Auger <address@hidden>
>>
>> ---
>>
>> v3 -> v4:
>> - remove unused its_baser variable from its_create_device()
>> - use get_order()
>> - device->itt becomes a GVA instead of GPA
>>
>> v2 -> v3:
>> - s/report_abort/assert
>>
>> v1 -> v2:
>> - s/nb_/nr_
>> ---
>> lib/arm64/asm/gic-v3-its.h | 19 +++++++++++++++++++
>> lib/arm64/gic-v3-its.c | 38 ++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 57 insertions(+)
>>
>> diff --git a/lib/arm64/asm/gic-v3-its.h b/lib/arm64/asm/gic-v3-its.h
>> index 4683011..adcb642 100644
>> --- a/lib/arm64/asm/gic-v3-its.h
>> +++ b/lib/arm64/asm/gic-v3-its.h
>> @@ -31,6 +31,19 @@ struct its_baser {
>> };
>> #define GITS_BASER_NR_REGS 8
>> +#define GITS_MAX_DEVICES 8
>> +#define GITS_MAX_COLLECTIONS 8
>> +
>> +struct its_device {
>> + u32 device_id; /* device ID */
>> + u32 nr_ites; /* Max Interrupt Translation Entries */
>> + void *itt; /* Interrupt Translation Table GVA */
>> +};
>> +
>> +struct its_collection {
>> + u64 target_address;
>> + u16 col_id;
>> +};
>> struct its_data {
>> void *base;
>> @@ -39,6 +52,10 @@ struct its_data {
>> struct its_baser coll_baser;
>> struct its_cmd_block *cmd_base;
>> struct its_cmd_block *cmd_write;
>> + struct its_device devices[GITS_MAX_DEVICES];
>> + u32 nr_devices; /* Allocated Devices */
>> + struct its_collection collections[GITS_MAX_COLLECTIONS];
>> + u32 nr_collections; /* Allocated Collections */
>> };
>> extern struct its_data its_data;
>> @@ -93,5 +110,7 @@ extern void its_parse_typer(void);
>> extern void its_init(void);
>> extern int its_baser_lookup(int i, struct its_baser *baser);
>> extern void its_enable_defaults(void);
>> +extern struct its_device *its_create_device(u32 dev_id, int nr_ites);
>> +extern struct its_collection *its_create_collection(u32 col_id, u32
>> target_pe);
>
> Maybe use 'u16 col_id'?
fair enough. At this point, not sure this is worth a respin though ;-)
>
> Besides,
> Reviewed-by: Zenghui Yu <address@hidden>
Thanks!
Eric
>
>
> Thanks
>
>
- Re: [kvm-unit-tests PATCH v7 06/13] arm/arm64: ITS: Introspection tests, (continued)
- Re: [kvm-unit-tests PATCH v7 06/13] arm/arm64: ITS: Introspection tests, Zenghui Yu, 2020/03/30
- Re: [kvm-unit-tests PATCH v7 06/13] arm/arm64: ITS: Introspection tests, Auger Eric, 2020/03/30
- Re: [kvm-unit-tests PATCH v7 06/13] arm/arm64: ITS: Introspection tests, Andrew Jones, 2020/03/30
- Re: [kvm-unit-tests PATCH v7 06/13] arm/arm64: ITS: Introspection tests, Auger Eric, 2020/03/30
- Re: [kvm-unit-tests PATCH v7 06/13] arm/arm64: ITS: Introspection tests, Andrew Jones, 2020/03/30
- Re: [kvm-unit-tests PATCH v7 06/13] arm/arm64: ITS: Introspection tests, Auger Eric, 2020/03/30
- Re: [kvm-unit-tests PATCH v7 06/13] arm/arm64: ITS: Introspection tests, Zenghui Yu, 2020/03/30
[kvm-unit-tests PATCH v7 07/13] arm/arm64: ITS: its_enable_defaults, Eric Auger, 2020/03/20
[kvm-unit-tests PATCH v7 08/13] arm/arm64: ITS: Device and collection Initialization, Eric Auger, 2020/03/20
[kvm-unit-tests PATCH v7 09/13] arm/arm64: ITS: Commands, Eric Auger, 2020/03/20
[kvm-unit-tests PATCH v7 10/13] arm/arm64: ITS: INT functional tests, Eric Auger, 2020/03/20
[kvm-unit-tests PATCH v7 11/13] arm/run: Allow Migration tests, Eric Auger, 2020/03/20
[kvm-unit-tests PATCH v7 12/13] arm/arm64: ITS: migration tests, Eric Auger, 2020/03/20
[kvm-unit-tests PATCH v7 13/13] arm/arm64: ITS: pending table migration test, Eric Auger, 2020/03/20