[PATCH v4 03/12] KVM: arm64: guest debug, define API headers
Alex Bennée
alex.bennee at linaro.org
Fri May 15 09:19:03 PDT 2015
Mark Rutland <mark.rutland at arm.com> writes:
> On Fri, May 15, 2015 at 04:17:46PM +0100, Peter Maydell wrote:
>> On 15 May 2015 at 16:14, Alex Bennée <alex.bennee at linaro.org> wrote:
>> >
>> > Mark Rutland <mark.rutland at arm.com> writes:
>> >
>> >> On Fri, May 15, 2015 at 03:27:06PM +0100, Alex Bennée wrote:
>> >>> +/*
>> >>> + * See v8 ARM ARM D7.3: Debug Registers
>> >>> + *
>> >>> + * The control registers are architecturally defined as 32 bits but are
>> >>> + * stored as 64 bit values alongside the value registers. This is done
>> >>
>> >> Stale comment? They're stored as __u32 below.
>> >
>> > Gah yes it is.
>> >
>> >> It's possible that the registers could grow in future as happened in the
>> >> case of CLIDR_EL1, so it might be worth treating system registers
>> >> generally as u64 values.
>> >
>> > Really? I mean the existing debug *control* registers have reserved bits
>> > 24-31 so there is space for expansion.
>>
>> Other places in the userspace ABI which deal with sysregs (notably
>> ONE_REG) consistently define them all as 64-bit
>
> Also for pt_regs.pstate.
>
> I just spotted that in user_hwdebug_state in ptrace.h we seem to expose
> the debug control regsiters as __u32 already, aalong with some other
> registers.
I thought those where ptrace specific fields which then get munged into
the final values inside the kernel?
>
> So we're already inconsistent w.r.t. how we expose those registers, and
> I'm not sure what we'd do elsewhere if any registers got expanded. :/
>
> Mark.
--
Alex Bennée
More information about the linux-arm-kernel
mailing list