All of lore.kernel.org
 help / color / mirror / Atom feed
From: rusty@rustcorp.com.au (Rusty Russell)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 03/14] KVM: ARM: Initial skeleton to compile KVM support
Date: Thu, 17 Jan 2013 12:41:52 +1030	[thread overview]
Message-ID: <87hamgy2vr.fsf@rustcorp.com.au> (raw)
In-Reply-To: <20130116094444.GP23505@n2100.arm.linux.org.uk>

Russell King - ARM Linux <linux@arm.linux.org.uk> writes:
> On Wed, Jan 16, 2013 at 01:26:01PM +1030, Rusty Russell wrote:
>> Christoffer Dall <c.dall@virtualopensystems.com> writes:
>> 
>> > On Mon, Jan 14, 2013 at 11:24 AM, Russell King - ARM Linux
>> > <linux@arm.linux.org.uk> wrote:
>> >> On Tue, Jan 08, 2013 at 01:38:55PM -0500, Christoffer Dall wrote:
>> >>> +     /* -ENOENT for unknown features, -EINVAL for invalid combinations. */
>> >>> +     for (i = 0; i < sizeof(init->features)*8; i++) {
>> >>> +             if (init->features[i / 32] & (1 << (i % 32))) {
>> >>
>> >> Isn't this an open-coded version of test_bit() ?
>> >
>> > indeed, nicely spotted:
>> 
>> BTW, I wrote it that was out of excessive paranoia: it's a userspace
>> API, and test_bit() won't be right on 64 bit BE systems.
>
> So why is this a concern for 32-bit systems (which are, by definition,
> only in arch/arm) ?

Because this feature bitmap system is the same code which other archs
*should* be using for specifying kvm cpus :)

Cheers,
Rusty.

WARNING: multiple messages have this Message-ID (diff)
From: Rusty Russell <rusty@rustcorp.com.au>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Christoffer Dall <c.dall@virtualopensystems.com>,
	kvm@vger.kernel.org, Marc Zyngier <marc.zyngier@arm.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Rusty Russell <rusty.russell@linaro.org>,
	kvmarm@lists.cs.columbia.edu,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 03/14] KVM: ARM: Initial skeleton to compile KVM support
Date: Thu, 17 Jan 2013 12:41:52 +1030	[thread overview]
Message-ID: <87hamgy2vr.fsf@rustcorp.com.au> (raw)
In-Reply-To: <20130116094444.GP23505@n2100.arm.linux.org.uk>

Russell King - ARM Linux <linux@arm.linux.org.uk> writes:
> On Wed, Jan 16, 2013 at 01:26:01PM +1030, Rusty Russell wrote:
>> Christoffer Dall <c.dall@virtualopensystems.com> writes:
>> 
>> > On Mon, Jan 14, 2013 at 11:24 AM, Russell King - ARM Linux
>> > <linux@arm.linux.org.uk> wrote:
>> >> On Tue, Jan 08, 2013 at 01:38:55PM -0500, Christoffer Dall wrote:
>> >>> +     /* -ENOENT for unknown features, -EINVAL for invalid combinations. */
>> >>> +     for (i = 0; i < sizeof(init->features)*8; i++) {
>> >>> +             if (init->features[i / 32] & (1 << (i % 32))) {
>> >>
>> >> Isn't this an open-coded version of test_bit() ?
>> >
>> > indeed, nicely spotted:
>> 
>> BTW, I wrote it that was out of excessive paranoia: it's a userspace
>> API, and test_bit() won't be right on 64 bit BE systems.
>
> So why is this a concern for 32-bit systems (which are, by definition,
> only in arch/arm) ?

Because this feature bitmap system is the same code which other archs
*should* be using for specifying kvm cpus :)

Cheers,
Rusty.



  reply	other threads:[~2013-01-17  2:11 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-08 18:38 [PATCH v5 00/14] KVM/ARM Implementation Christoffer Dall
2013-01-08 18:38 ` Christoffer Dall
2013-01-08 18:38 ` [PATCH v5 01/14] ARM: Add page table and page defines needed by KVM Christoffer Dall
2013-01-08 18:38   ` Christoffer Dall
2013-01-08 18:38 ` [PATCH v5 02/14] ARM: Section based HYP idmap Christoffer Dall
2013-01-08 18:38   ` Christoffer Dall
2013-01-14 10:27   ` Gleb Natapov
2013-01-14 10:27     ` Gleb Natapov
2013-01-14 10:49     ` Will Deacon
2013-01-14 10:49       ` Will Deacon
2013-01-14 11:07       ` Gleb Natapov
2013-01-14 11:07         ` Gleb Natapov
2013-01-14 13:07         ` Russell King - ARM Linux
2013-01-14 13:07           ` Russell King - ARM Linux
2013-01-14 16:13   ` Russell King - ARM Linux
2013-01-14 16:13     ` Russell King - ARM Linux
2013-01-14 17:09     ` Christoffer Dall
2013-01-14 17:09       ` Christoffer Dall
2013-01-08 18:38 ` [PATCH v5 03/14] KVM: ARM: Initial skeleton to compile KVM support Christoffer Dall
2013-01-08 18:38   ` Christoffer Dall
2013-01-14 15:09   ` Will Deacon
2013-01-14 15:09     ` Will Deacon
2013-01-14 15:40     ` Christoffer Dall
2013-01-14 15:40       ` Christoffer Dall
2013-01-14 16:24   ` Russell King - ARM Linux
2013-01-14 16:24     ` Russell King - ARM Linux
2013-01-14 17:33     ` Christoffer Dall
2013-01-14 17:33       ` Christoffer Dall
2013-01-16  2:56       ` Rusty Russell
2013-01-16  2:56         ` Rusty Russell
2013-01-16  9:44         ` Russell King - ARM Linux
2013-01-16  9:44           ` Russell King - ARM Linux
2013-01-17  2:11           ` Rusty Russell [this message]
2013-01-17  2:11             ` Rusty Russell
2013-01-14 18:49   ` Gleb Natapov
2013-01-14 18:49     ` Gleb Natapov
2013-01-14 22:17     ` Christoffer Dall
2013-01-14 22:17       ` Christoffer Dall
2013-01-15 13:32       ` Gleb Natapov
2013-01-15 13:32         ` Gleb Natapov
2013-01-15 13:43         ` [kvmarm] " Alexander Graf
2013-01-15 13:43           ` Alexander Graf
2013-01-15 15:35           ` Gleb Natapov
2013-01-15 15:35             ` Gleb Natapov
2013-01-15 16:21             ` Alexander Graf
2013-01-15 16:21               ` Alexander Graf
2013-01-08 18:39 ` [PATCH v5 04/14] KVM: ARM: Hypervisor initialization Christoffer Dall
2013-01-08 18:39   ` Christoffer Dall
2013-01-14 15:11   ` Will Deacon
2013-01-14 15:11     ` Will Deacon
2013-01-14 16:35     ` Christoffer Dall
2013-01-14 16:35       ` Christoffer Dall
2013-01-08 18:39 ` [PATCH v5 05/14] KVM: ARM: Memory virtualization setup Christoffer Dall
2013-01-08 18:39   ` Christoffer Dall
2013-01-08 18:39 ` [PATCH v5 06/14] KVM: ARM: Inject IRQs and FIQs from userspace Christoffer Dall
2013-01-08 18:39   ` Christoffer Dall
2013-01-15  9:56   ` Gleb Natapov
2013-01-15  9:56     ` Gleb Natapov
2013-01-15 12:15     ` [kvmarm] " Peter Maydell
2013-01-15 12:15       ` Peter Maydell
2013-01-15 12:52       ` Gleb Natapov
2013-01-15 12:52         ` Gleb Natapov
2013-01-15 14:04         ` Peter Maydell
2013-01-15 14:04           ` Peter Maydell
2013-01-15 14:40           ` Christoffer Dall
2013-01-15 14:40             ` Christoffer Dall
2013-01-15 15:17           ` Gleb Natapov
2013-01-15 15:17             ` Gleb Natapov
2013-01-15 16:25             ` Alexander Graf
2013-01-15 16:25               ` Alexander Graf
2013-01-16 10:40               ` Gleb Natapov
2013-01-16 10:40                 ` Gleb Natapov
2013-01-08 18:39 ` [PATCH v5 07/14] KVM: ARM: World-switch implementation Christoffer Dall
2013-01-08 18:39   ` Christoffer Dall
2013-01-15  9:43   ` Gleb Natapov
2013-01-15  9:43     ` Gleb Natapov
2013-01-16  2:08     ` Christoffer Dall
2013-01-16  2:08       ` Christoffer Dall
2013-01-16  4:08       ` Christoffer Dall
2013-01-16  4:08         ` Christoffer Dall
2013-01-16 12:57         ` Gleb Natapov
2013-01-16 12:57           ` Gleb Natapov
2013-01-16 15:40           ` Christoffer Dall
2013-01-16 15:40             ` Christoffer Dall
2013-01-16 16:17             ` Gleb Natapov
2013-01-16 16:17               ` Gleb Natapov
2013-01-16 12:12       ` Gleb Natapov
2013-01-16 12:12         ` Gleb Natapov
2013-01-16 13:14         ` Russell King - ARM Linux
2013-01-16 13:14           ` Russell King - ARM Linux
2013-01-16 15:42         ` Christoffer Dall
2013-01-16 15:42           ` Christoffer Dall
2013-01-16 15:52           ` Gleb Natapov
2013-01-16 15:52             ` Gleb Natapov
2013-01-16 16:17             ` Christoffer Dall
2013-01-16 16:17               ` Christoffer Dall
2013-01-16 16:21               ` Gleb Natapov
2013-01-16 16:21                 ` Gleb Natapov
2013-01-08 18:39 ` [PATCH v5 08/14] KVM: ARM: Emulation framework and CP15 emulation Christoffer Dall
2013-01-08 18:39   ` Christoffer Dall
2013-01-14 16:36   ` Russell King - ARM Linux
2013-01-14 16:36     ` Russell King - ARM Linux
2013-01-14 17:38     ` Christoffer Dall
2013-01-14 17:38       ` Christoffer Dall
2013-01-14 18:33       ` Russell King - ARM Linux
2013-01-14 18:33         ` Russell King - ARM Linux
2013-01-08 18:39 ` [PATCH v5 09/14] KVM: ARM: User space API for getting/setting co-proc registers Christoffer Dall
2013-01-08 18:39   ` Christoffer Dall
2013-01-08 18:39 ` [PATCH v5 10/14] KVM: ARM: Demux CCSIDR in the userspace API Christoffer Dall
2013-01-08 18:39   ` Christoffer Dall
2013-01-08 18:39 ` [PATCH v5 11/14] KVM: ARM: VFP userspace interface Christoffer Dall
2013-01-08 18:39   ` Christoffer Dall
2013-01-08 18:39 ` [PATCH v5 12/14] KVM: ARM: Handle guest faults in KVM Christoffer Dall
2013-01-08 18:39   ` Christoffer Dall
2013-01-08 18:40 ` [PATCH v5 13/14] KVM: ARM: Handle I/O aborts Christoffer Dall
2013-01-08 18:40   ` Christoffer Dall
2013-01-14 16:43   ` Russell King - ARM Linux
2013-01-14 16:43     ` Russell King - ARM Linux
2013-01-14 18:25     ` Christoffer Dall
2013-01-14 18:25       ` Christoffer Dall
2013-01-14 18:43       ` Russell King - ARM Linux
2013-01-14 18:43         ` Russell King - ARM Linux
2013-01-14 18:50         ` Will Deacon
2013-01-14 18:50           ` Will Deacon
2013-01-14 18:53           ` [kvmarm] " Alexander Graf
2013-01-14 18:53             ` Alexander Graf
2013-01-14 18:56             ` Christoffer Dall
2013-01-14 18:56               ` Christoffer Dall
2013-01-14 19:00             ` Will Deacon
2013-01-14 19:00               ` Will Deacon
2013-01-14 19:12               ` Christoffer Dall
2013-01-14 19:12                 ` Christoffer Dall
2013-01-14 22:36                 ` Will Deacon
2013-01-14 22:36                   ` Will Deacon
2013-01-14 22:51                   ` Christoffer Dall
2013-01-14 22:51                     ` Christoffer Dall
2013-01-15  7:00                   ` Gleb Natapov
2013-01-15  7:00                     ` Gleb Natapov
2013-01-15 13:18   ` Gleb Natapov
2013-01-15 13:18     ` Gleb Natapov
2013-01-15 13:29     ` Marc Zyngier
2013-01-15 13:29       ` Marc Zyngier
2013-01-15 13:34       ` Gleb Natapov
2013-01-15 13:34         ` Gleb Natapov
2013-01-15 13:46         ` Marc Zyngier
2013-01-15 13:46           ` Marc Zyngier
2013-01-15 14:27           ` Gleb Natapov
2013-01-15 14:27             ` Gleb Natapov
2013-01-15 14:42             ` Christoffer Dall
2013-01-15 14:42               ` Christoffer Dall
2013-01-15 14:48             ` Marc Zyngier
2013-01-15 14:48               ` Marc Zyngier
2013-01-15 15:31               ` Gleb Natapov
2013-01-15 15:31                 ` Gleb Natapov
2013-01-08 18:40 ` [PATCH v5 14/14] KVM: ARM: Add maintainer entry for KVM/ARM Christoffer Dall
2013-01-08 18:40   ` Christoffer Dall
2013-01-14 16:00 ` [PATCH v5 00/14] KVM/ARM Implementation Will Deacon
2013-01-14 16:00   ` Will Deacon
2013-01-14 22:31   ` Christoffer Dall
2013-01-14 22:31     ` Christoffer Dall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87hamgy2vr.fsf@rustcorp.com.au \
    --to=rusty@rustcorp.com.au \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.