On Sep 1, 2012, at 6:25 AM, Peter Maydell <peter.maydell@xxxxxxxxxx> wrote: > On 1 September 2012 10:16, Avi Kivity <avi@xxxxxxxxxx> wrote: >> On 08/29/2012 11:21 AM, Rusty Russell wrote: >>>>> + /* Coprocessor 0 means we want a core register. */ >>>>> + if ((u32)reg->id >> KVM_REG_ARM_COPROC_START == 0) >>>>> + return set_core_reg(vcpu, reg); >>>> >>>> ...but if we do go this path, you can't use coprocessor 0 >>>> to mean core register -- cp0 could be a valid coprocessor >>>> (the ARM ARM reserves cp0..cp7 for "vendor specific features"). >>>> Use something outside 0..15. >>> >>> OK, changed that too (16). > >> And tomorrow they will add 16. > > Not possible in the instruction encoding :-) We haven't used > anywhere near all the coprocessors (even given we've let the > vendors have 0..7, ARM itself uses only 10 and 11 for the FPU, > 14 for debug/perf and 15 for system control (and 14 and 15 still > have lots of spare space). > Yeah, but folding core registers under coprocessors feels just too fishy, so I think we should have a separate field. -Christoffer-- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html