Re: [PATCH 0/3] KVM_VCPU_GET_REG_LIST API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 22, 2012 at 04:09:06AM +0100, Rusty Russell wrote:
> Christoffer Dall <c.dall@xxxxxxxxxxxxxxxxxxxxxx> writes:
> > On Fri, Oct 19, 2012 at 2:19 AM, Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:
> >> Wait, what?  kvm/arm isn't in kvm-next?
> >> Christoffer, is there anything I can help with?
> >
> > Specifically there are worries about the instruction decoding for the
> > mmio instructions. My cycles are unfortunately too limited to change
> > this right now and I'm also not sure I agree things will turn out
> > nicer by unifying all decoding into a large complicated space ship,
> > but it would be great if you could take a look. This discussion seems
> > to be a good place to start:
> >
> > https://lists.cs.columbia.edu/pipermail/kvmarm/2012-September/003447.html
> 
> They're still asking you to boil that ocean??
> 
> I could create a struct and do simple decode into it for limited cases
> (ie. for kvm).  Will, do you want to see that?

Yes, I think that would be great! Basically, I'd like the code to be
reusable so that other subsystems (including uprobes as of last week) can
plug into if it possible. The actual plugging in of those subsystems is
obviously not up to you.

Dave posted an idea here:

  http://lists.infradead.org/pipermail/linux-arm-kernel/2012-October/123464.html

which could form a basic starting block for something like load/store
decoding. It looks like Christoffer has actually done a bunch of this for
v3.

> But unifying them all is a much larger task, and only when that's all
> done can you judge whether it was worthwhile.  I've spend half an hour
> looking and each case is subtly different, and the conversion has to be
> incredibly careful not to break them.  And converting opcodes.c is just
> ideology; it's great as it is.

opcodes.c may be where this stuff ultimately ends up. In the meantime, you
could try moving what you have for v3 into common ARM code so that other
people can try to use it. In fact, if you don't even want to do that, just
put it in its own file under arch/arm/kvm/ so that the interface to
emulate.c doesn't make it too hard to move around in future.

> I'm interested in the 64-bit ARM kvm, because it would be nice to unify
> the two implementations.  But the ABI will be different anyway (64 bit
> regs get their own id space even if nothing else changes).

Assumedly you'll need a wrapper around the 32-bit ABI in order to run 32-bit
guests under a 64-bit kernel, so unification is definitely a good idea.

Will
--
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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux