[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [kvm-unit-tests RFC 00/15] arm/arm64: add IT
From: |
Andre Przywara |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [kvm-unit-tests RFC 00/15] arm/arm64: add ITS framework |
Date: |
Tue, 6 Dec 2016 11:14:41 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
Hi,
On 06/12/16 09:48, Andrew Jones wrote:
> On Mon, Dec 05, 2016 at 10:46:31PM +0100, Eric Auger wrote:
>> This series proposes a framework to test the virtual ITS.
>> This is based on Drew's v7 series [1]. The last patch tests
>> several ITS commands (collection/device mapping, interrupt
>> translation service entry creation and LPI trigger through INT
>> command). At this point we don't use any external PCIe device
>> to write into the GITS_TRANSLATER register.
>>
>> The bulk of the code derives from the ITS driver code so all
>> the credit is due to Marc.
>>
>> Many other ITS commands could be tested. Also existing MMIO
>> accesses could be enhanced into standalone tests. Current focus
>> was to make it functional.
>>
>> The code deserves more cleanup with respect to cacheability
>> attributes in general.
>>
>> Tested on Cavium ThunderX [2].
>>
>> Best Regards
>>
>> Eric
>>
>> [1] [kvm-unit-tests PATCH v7 00/11] arm/arm64: add gic framework
>>
>> [2] sample command line:
>>
>> $QEMU -machine virt,accel=kvm -cpu host \
>> -device virtio-serial-device \
>> -device virtconsole,chardev=ctd -chardev testdev,id=ctd \
>> -display none -serial stdio \
>> -kernel arm/gic.flat \
>> -smp 8 -machine gic-version=3 -append 'its'
>>
>> Eric Auger (15):
>> libcflat: Add other size defines
>> arm/arm64: gicv3: Add some re-distributor defines
>> arm/arm64: ITS skeleton
>> arm/arm64: ITS: BASER parsing and setup
>> arm/arm64: GICv3: add cpu count
>> arm/arm64: ITS: Set the LPI config and pending tables
>> arm/arm64: ITS: Init the command queue
>> arm/arm64: ITS: enable LPIs at re-distributor level
>> arm/arm64: ITS: Parse the typer register
>> arm/arm64: ITS: its_enable_defaults
>> arm/arm64: ITS: create device
>> arm/arm64: ITS: create collection
>> arm/arm64: ITS: commands
>> arm/arm64: gic: Generalize ipi_enable()
>> arm/arm64: ITS test
>>
>> arm/Makefile.common | 1 +
>> arm/gic.c | 101 +++++++++++-
>> lib/arm/asm/gic-v3-its.h | 238 +++++++++++++++++++++++++++
>> lib/arm/asm/gic-v3.h | 84 ++++++++++
>> lib/arm/asm/gic.h | 1 +
>> lib/arm/gic-v3-its-cmd.c | 399
>> +++++++++++++++++++++++++++++++++++++++++++++
>> lib/arm/gic-v3-its.c | 305 ++++++++++++++++++++++++++++++++++
>> lib/arm/gic-v3.c | 2 +
>> lib/arm/gic.c | 30 +++-
>> lib/arm64/asm/gic-v3-its.h | 1 +
>> lib/libcflat.h | 3 +
>> 11 files changed, 1154 insertions(+), 11 deletions(-)
>> create mode 100644 lib/arm/asm/gic-v3-its.h
>> create mode 100644 lib/arm/gic-v3-its-cmd.c
>> create mode 100644 lib/arm/gic-v3-its.c
>> create mode 100644 lib/arm64/asm/gic-v3-its.h
>>
>> --
>> 2.5.5
>>
>>
>
> Thanks for this Eric! I'm glad to see we're getting more GIC test
> coverage written, even before v8 of the gic series is posted :-)
> v8 will be rebased on some sysreg stuff Wei is doing for the PMU
> series,
Are you planning on a v8 post any time soon?
> that's why it's held up. I'll need to set plenty of time
> aside to learn enough in order to review all the 'ITS:' patches
> in this series.
Are you sure you want to really taint yourself with this stuff? You
wouldn't be the first who risks his mental health by understanding the
ITS ;-)
That being said, I will take a look, I am in ITS land anyway for Xen ...
Cheers,
Andre.
> Apologies if I can't get to it right away.
>
> Thanks again,
> drew
>
- [Qemu-arm] [kvm-unit-tests RFC 07/15] arm/arm64: ITS: Init the command queue, (continued)
- [Qemu-arm] [kvm-unit-tests RFC 07/15] arm/arm64: ITS: Init the command queue, Eric Auger, 2016/12/05
- [Qemu-arm] [kvm-unit-tests RFC 08/15] arm/arm64: ITS: enable LPIs at re-distributor level, Eric Auger, 2016/12/05
- [Qemu-arm] [kvm-unit-tests RFC 09/15] arm/arm64: ITS: Parse the typer register, Eric Auger, 2016/12/05
- [Qemu-arm] [kvm-unit-tests RFC 10/15] arm/arm64: ITS: its_enable_defaults, Eric Auger, 2016/12/05
- [Qemu-arm] [kvm-unit-tests RFC 11/15] arm/arm64: ITS: create device, Eric Auger, 2016/12/05
- [Qemu-arm] [kvm-unit-tests RFC 12/15] arm/arm64: ITS: create collection, Eric Auger, 2016/12/05
- [Qemu-arm] [kvm-unit-tests RFC 13/15] arm/arm64: ITS: commands, Eric Auger, 2016/12/05
- [Qemu-arm] [kvm-unit-tests RFC 14/15] arm/arm64: gic: Generalize ipi_enable(), Eric Auger, 2016/12/05
- [Qemu-arm] [kvm-unit-tests RFC 15/15] arm/arm64: ITS test, Eric Auger, 2016/12/05
- Re: [Qemu-arm] [Qemu-devel] [kvm-unit-tests RFC 00/15] arm/arm64: add ITS framework, Andrew Jones, 2016/12/06
- Re: [Qemu-arm] [Qemu-devel] [kvm-unit-tests RFC 00/15] arm/arm64: add ITS framework,
Andre Przywara <=