[Top] [All Lists]

Re: [PATCH v2 00/18] KVM for MIPS32 Processors

To: Sanjay Lal <>, Ralf Baechle <>
Subject: Re: [PATCH v2 00/18] KVM for MIPS32 Processors
From: David Daney <>
Date: Mon, 26 Nov 2012 10:53:52 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=kGiVQDu8QtdYvEIRCj4qFSpmseQRs/CfP7+9WmCsusM=; b=tAJFPd15vH37tjK/K4YdfNkDmRMO21NTcvJCDkMVdbPzzTmVw6w+zDBxgzWo/mJnkJ cbJUwZMTgS7tVl1CFdvVWvVhPZI7+25gcvKoAZx+oE71gqdts8bs5R5eEqIKEkMUSUeR sWfIFBZWkrTAG4YNsSyjH4mT/8gpBPXqSycdcDYWueVokfgQdCcJBjXEjAhjQtvMJYHl JtJ9QhXi17/0SxXAK8QVv5PIhTOR9GPUcXTZ/gj3nnah779CwiQ8Mgv4Smgxn0aYpDzB zVKX14NAou66MAntLtqgDw3zLaxOpbG3DJLpn4WPEpjBdZK6NRiCY08R3GPegB8etsEm Y98A==
In-reply-to: <>
List-archive: <>
List-help: <>
List-id: linux-mips <>
List-owner: <>
List-post: <>
List-software: Ecartis version 1.0.0
List-subscribe: <>
List-unsubscribe: <>
References: <>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121029 Thunderbird/16.0.2

I have several general questions about this patch...

On 11/21/2012 06:33 PM, Sanjay Lal wrote:
The following patchset implements KVM support for MIPS32R2 processors,
using Trap & Emulate, with basic runtime binary translation to improve
performance.  The goal has been to keep the Guest kernel changes to a

What is the point of minimizing guest kernel changes?

Because you are using an invented memory map, instead of the architecturally defined map, there is no hope of running a single kernel image both natively and as a guest. So why do you care about how many changes there are.

The patch is against Linux 3.7-rc6.  This is Version 2 of the patch set.

There is a companion patchset for QEMU that adds KVM support for the
MIPS target.

KVM/MIPS should support MIPS32-R2 processors and beyond.
It has been tested on the following platforms:
  - Malta Board with FPGA based 34K (Little Endian).
  - Sigma Designs TangoX board with a 24K based 8654 SoC (Little Endian).
  - Malta Board with 74K @ 1GHz (Little Endian).
  - OVPSim MIPS simulator from Imperas emulating a Malta board with
    24Kc and 1074Kc cores (Little Endian).

Unlike x86, there is no concept of a canonical MIPS system for you to implement. So the choice of emulating a Malta or one of the SigmaDesigns boards doesn't seem to me to give you anything.

Why not just define the guest system to be exactly the facilities provided by the VirtIO drivers?


Perhaps it is obvious from the patches, but I wasn't able to figure out how you solve the problem of the Root/Host kernel clobbering the K0 and K1 registers in its exception handlers. These registers are also used by the Guest kernel (aren't they)?

David Daney

<Prev in Thread] Current Thread [Next in Thread>