public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* Re: pekka-vm and kvm documentation
       [not found] <4BAB1CCB.3070800@redhat.com>
@ 2010-03-25 20:23 ` Pekka Enberg
  2010-03-25 20:57   ` Avi Kivity
  0 siblings, 1 reply; 2+ messages in thread
From: Pekka Enberg @ 2010-03-25 20:23 UTC (permalink / raw)
  To: Avi Kivity, kvm

Hi Avi,

Avi Kivity wrote:
> When you come up against something that is undocumented or badly 
> described, please complain on kvm@.  We will then update the documentation.

So one thing I'm wondering is in what mode do we enter the guest? Is 
that entirely specified with KVM_SET_REGS and KVM_SET_SREGS?

I assume we're entering real mode as per how I set up "rflags" but for 
some reason I'm seeing "cs" base being zeroed out before first 
instruction is executed with my simple kvm program which could mean that 
it's trying to use GDT (which is not set up at that point).

			Pekka

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: pekka-vm and kvm documentation
  2010-03-25 20:23 ` pekka-vm and kvm documentation Pekka Enberg
@ 2010-03-25 20:57   ` Avi Kivity
  0 siblings, 0 replies; 2+ messages in thread
From: Avi Kivity @ 2010-03-25 20:57 UTC (permalink / raw)
  To: Pekka Enberg; +Cc: kvm

On 03/25/2010 10:23 PM, Pekka Enberg wrote:
> Hi Avi,
>
> Avi Kivity wrote:
>> When you come up against something that is undocumented or badly 
>> described, please complain on kvm@.  We will then update the 
>> documentation.
>
> So one thing I'm wondering is in what mode do we enter the guest? Is 
> that entirely specified with KVM_SET_REGS and KVM_SET_SREGS?

Yes.  cr0.pe = real/protected, eflags.vm = vm86 mode, cs.d = 
prot16/prot32, efer.lme/efer.lma/cs.l = longmode.

>
> I assume we're entering real mode as per how I set up "rflags" but for 
> some reason I'm seeing "cs" base being zeroed out before first 
> instruction is executed with my simple kvm program which could mean 
> that it's trying to use GDT (which is not set up at that point).

I see you set up the cpu as if after reset (cs:ip = f000:fff0) but just 
dumped a kernel there.  That won't work, you need real code.

Try poking 'e9 fd ff' at your entry point (ffff0) and see the cpu pegged 
at 100% (1: jmp 1b) (this is probably the largest possible kernel that 
is bug-free).

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-03-25 20:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <4BAB1CCB.3070800@redhat.com>
2010-03-25 20:23 ` pekka-vm and kvm documentation Pekka Enberg
2010-03-25 20:57   ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox