[Top] [All Lists]

Re: [PATCH 4/4] KVM/MIPS32: Bring in patch from David Daney with new 64

To: Gleb Natapov <>
Subject: Re: [PATCH 4/4] KVM/MIPS32: Bring in patch from David Daney with new 64 bit compatible ABI.
From: David Daney <>
Date: Sun, 19 May 2013 14:17:33 -0700
Cc: Sanjay Lal <>,,,,, David Daney <>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=J1Em+WJ16uuviAyLMz4YYEhIW4lbo4wvlyAsXVVKJfk=; b=LKk714X3W3gNYuOUeEX9b5vQn8m9jDGXVfhVclX2kg17yL3ViGVPhi3FVR+3hoN1eT huEwbSdGWdU6xbawb3JwEShFsaMEvo1UTauWU+O2qRhOQAtrPtp0sr6SWPiD3yEniZXt yqlEM3eLTgIq9ZVK6C4BepdjEUSp4+N/ie9wWd+iK1xi8/Gu+5N05sSsdM4BJWtm6hF9 FgJHCT2FATbVrbGpeGPfR3FR9j60wzXz3XYeSPUy4/ccg1Y+ctvRtrInWbKw0OI98fYT s8aRCjT3oM96P5Pw60SS0xgDgNN3gRTxA7uVi5Ku3e8Gn/1OSdcpLtwKTr5JJrFqNfpA exYw==
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: <>
Original-recipient: rfc822;
References: <n> <> <> <>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4
On 05/19/2013 07:17 AM, Gleb Natapov wrote:
On Sat, May 18, 2013 at 06:54:26AM -0700, Sanjay Lal wrote:
From: David Daney <>

There are several parts to this:

o All registers are 64-bits wide, 32-bit guests use the least
   significant portion of the register storage fields.

o FPU register formats are defined.

o CP0 Registers are manipulated via the KVM_GET_MSRS/KVM_SET_MSRS

The vcpu_ioctl_get_regs and vcpu_ioctl_set_regs function pointers
become unused so they were removed.

Some IOCTL functions were moved to kvm_trap_emul because the
implementations are only for that flavor of KVM host.  In the future, if
hardware based virtualization is added, they can be hidden behind
function pointers as appropriate.

David, can you please divide this one big patch to smaller patches
with each one having only one of the changes listed above?

Expanding the registers to 64 bits changes only four lines. Defining the FPU registers is an additional seven lines. The rest really has to be an atomic change.

The point here is that we change the ABI. Any userspace tools have to change too. So is it better to have a multi-part patch set where the interface is unusable in the intermediate patches? Or is it preferable to do an 'atomic' switch?

It wasn't out of laziness that I chose to do it this way, it was because I thought it was cleaner.

So to directly answer your question: I prefer not to split this up, and would want to have a better reason than an orthodox interpretation of SubmittingPatches sec. 3.

David Daney

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