Re: KVM for Sparc?

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

 



From: "Blue Swirl" <blauwirbel@xxxxxxxxx>
Date: Tue, 23 Sep 2008 18:28:06 +0300

> On 9/22/08, David Miller <davem@xxxxxxxxxxxxx> wrote:
> > As he mentioned, the V8 rett instruction causes problems on V9 chips.
> >
> >  An opcode which was a V8 privileged instruction, "rett", got reused as
> >  a non-privileged instruction in V9, for "return".
> 
> There are others: rdtbr/flushw and stdfq/stqf. Also any ASI >0x80
> accesses are unprivileged on V9, though that shouldn't be a problem
> since all ASIs used on V8 were <0x80. And of course MMUs are
> incompatible.

Thanks for the list.  I sent a message to someone who I think might
have been responsible for these architectual design decisions, letting
them know what problems it is causing :-)

> >  So booting a 32-bit kernel on a 64-bit cpu is going to be challenging,
> >  at best.
> 
> Maybe it would be possible to run V8 userspace with full speed
> acceleration on V9 and use translation only for kernel code?

Yes, that should work.

BTW, there is another area related the ASIs.  Trap numbers.

Even through V9, traps only up to 0x7f are valid.  But sun4v extended
V9 to allow trap numbers >= 0x80, mostly these are used for hypervisor
calls.

The trap number field of the instruction is just extended one more
bit higher to accomodate this.

It turns out that binutils's assembler didn't range check the trap
number field value, so binutils needed no changes to support this :-)
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux