Subject: [PATCH v4 03/12] KVM: arm64: guest debug, define API headers

From: [email-masked] (Mark Rutland)
Date: Fri, 15 May 2015 16:43:24 +0100

On Fri, May 15, 2015 at 04:17:46PM +0100, Peter Maydell wrote:
> On 15 May 2015 at 16:14, Alex Benn?e <[email-masked]> wrote:
> >
> > Mark Rutland <[email-masked]> 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.

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.