[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL 09/11] target/arm: add support for PMUv3 64-bit PMCCNTR in AAr
|
From: |
Alex Bennée |
|
Subject: |
Re: [PULL 09/11] target/arm: add support for PMUv3 64-bit PMCCNTR in AArch32 mode |
|
Date: |
Mon, 12 Aug 2024 12:10:00 +0100 |
Peter Maydell <peter.maydell@linaro.org> writes:
> On Sun, 11 Aug 2024 at 22:36, Richard Henderson
> <richard.henderson@linaro.org> wrote:
>>
>> On 8/10/24 04:08, Peter Maydell wrote:
>> > From: Alex Richardson <alexrichardson@google.com>
>> > diff --git a/target/arm/helper.c b/target/arm/helper.c
>> > index 8fb4b474e83..94900667c33 100644
>> > --- a/target/arm/helper.c
>> > +++ b/target/arm/helper.c
>> > @@ -5952,6 +5952,12 @@ static const ARMCPRegInfo v8_cp_reginfo[] = {
>> > .access = PL1_RW, .accessfn = access_trap_aa32s_el1,
>> > .writefn = sdcr_write,
>> > .fieldoffset = offsetoflow32(CPUARMState, cp15.mdcr_el3) },
>> > + { .name = "PMCCNTR", .state = ARM_CP_STATE_AA32,
>> > + .type = ARM_CP_ALIAS | ARM_CP_IO | ARM_CP_64BIT,
>> > + .cp = 15, .crm = 9, .opc1 = 0,
>> > + .access = PL0_RW, .resetvalue = 0, .fgt = FGT_PMCCNTR_EL0,
>> > + .readfn = pmccntr_read, .writefn = pmccntr_write,
>> > + .accessfn = pmreg_access_ccntr },
>> > };
>> >
>> > /* These are present only when EL1 supports AArch32 */
>>
>> This fails testing:
>>
>> https://gitlab.com/qemu-project/qemu/-/jobs/7551982466
>>
>> FAIL: duplicate register {'name': 'PMCCNTR', 'regnum': 96} vs {'name':
>> 'PMCCNTR',
>> 'regnum': 79}
>> FAIL: counted all 219 registers in XML
>> FAIL: PMCCNTR 96 == 79 (xml)
>
> Hmm, not sure why that didn't get caught by my local testing
> or by my gitlab run -- does it only get run on an aarch64 host?
It will depend what your local GDB is like - a modern gdb-multiarch
should be fine but we do test for a minimum version to be able to probe
the supported architectures.
> Anyway, the registers do architecturally have the same name
> (they're the same register, just accessible via different
> pathways). What is our practice for this? Do we just give
> one of them a non-standard name?
>
> -- PMM
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
- [PULL 03/11] docs/specs/rocker.txt: Convert to rST, (continued)
- [PULL 03/11] docs/specs/rocker.txt: Convert to rST, Peter Maydell, 2024/08/09
- [PULL 04/11] docs/interop/nbd.txt: Convert to rST, Peter Maydell, 2024/08/09
- [PULL 05/11] docs/interop/parallels.txt: Convert to rST, Peter Maydell, 2024/08/09
- [PULL 06/11] docs/interop/prl-xml.txt: Convert to rST, Peter Maydell, 2024/08/09
- [PULL 07/11] docs/interop/prl-xml.rst: Fix minor grammar nits, Peter Maydell, 2024/08/09
- [PULL 08/11] docs: Typo fix in live disk backup, Peter Maydell, 2024/08/09
- [PULL 09/11] target/arm: add support for PMUv3 64-bit PMCCNTR in AArch32 mode, Peter Maydell, 2024/08/09
[PULL 10/11] hw/core/ptimer: fix timer zero period condition for freq > 1GHz, Peter Maydell, 2024/08/09
[PULL 11/11] arm/virt: place power button pin number on a define, Peter Maydell, 2024/08/09