- Subject: [kvmarm] [PATCH 09/17] ARM: KVM: Create specific per-target register tables.
- From: rusty.russell at linaro.org (Rusty Russell)
- Date: Fri, 13 Jul 2012 10:36:41 +0930
- In-reply-to: <CAFEAcA8xgSZJ-f8uFGLDot+5Nf+MQK1ExpTK+QYNV_rAF=AYaw@mail.gmail.com>
- References: <1342072501-24758-1-git-send-email-rusty.russell@linaro.org> <1342072501-24758-10-git-send-email-rusty.russell@linaro.org> <CAFEAcA8xgSZJ-f8uFGLDot+5Nf+MQK1ExpTK+QYNV_rAF=AYaw@mail.gmail.com>
Hi Peter!
This is a jumbo all-in-one response:
On Thu, 12 Jul 2012 14:59:16 +0100, Peter Maydell <peter.maydell at linaro.org> wrote:
> On 12 July 2012 06:54, Rusty Russell <rusty.russell at linaro.org> wrote:
> > +
> > +/* A15-specific CP15 registers. */
> > +static const struct coproc_reg cp15_cortex_a15_regs[] = {
> > + /*
> > + * ACTRL access:
>
> "ACTLR". (These comments are verging on the edge of "add one to i" territory
> given that the data structure is now nearly self-documenting...)
In fact this patch just moved the erroneous comment. The documentation
patch then reduces it to one line:
/* ACTLR: trapped by HCR.TAC bit. */
> > These registers are defined to be WO, meaning reads are unpredicable.
>
> "unpredictable".
>
> > Unless some actual guest breaks, it's most friendly to fall though and
>
> "through".
Thanks, fixed.
> > + *
> > + * Therefore we tell the guest we have 0 counters. Unfortunately, we
> > + * must always support PMCCNTR (the cycle counter): we just WI/RAZ for
>
> "RAZ/WI" is the term preferred in the ARM ARM.
Indeed, fixed.
> > functions. We also rename the table from 'struct coproc_emulate
> > coproc_emulate' to 'struct coproc_reg coproc_regs', to reflect the more
> > generic role.
>
> This is not quite the rename the patch performs:
Well spotted. Here's the new description:
This means we fold the read and write functionality into the accessor
functions. We rename struct coproc_emulate to struct coproc_reg
to reflect the more generic role, and the coproc_emulate[] table to
the more precise 'cp15_regs[]'.
> > This means we generate the value at reset time. ACTLR already had a spot
> > in the cp15 array (unused), by L2CTLR needs a new one.
>
> "but".
Thanks, fixed.
And re-pushed.
What do you want to do about the API breakage? Should we just insist on
a lockstep qemu/kernel update, or some temporary bandaid in qemu? The
latter should be possible, but is it worth the hassle?
Cheers,
Rusty.
[Spice Development]
[Libvirt]
[Libvirt Users]
[Linux USB Devel]
[Video for Linux]
[Linux Audio Users]
[Photo]
[Yosemite News]
[Yosemite Photos]
[POF Sucks]
[Linux Kernel]
[Linux SCSI]
[XFree86]