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

Re: [Xen-devel] [PATCH] fix xenctl_cpumap translation to handle bitops accessed like arrays

  • To: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <keir@xxxxxxxxxxxxx>
  • Date: Mon, 18 Dec 2006 09:26:07 +0000
  • Delivery-date: Mon, 18 Dec 2006 01:25:41 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AccihovQyhVfZo55Edui4wANk04WTA==
  • Thread-topic: [Xen-devel] [PATCH] fix xenctl_cpumap translation to handle bitops accessed like arrays

On 17/12/06 5:53 pm, "Jimi Xenidis" <jimix@xxxxxxxxxxxxxx> wrote:

> On PowerPC (and other big endian and/or RISC architectures) bit
> offsets in a bitmap are actually represented by a bit-offset from an
> element in an array rather than a bit-offset from the base memory
> pointer,  see xen/include/asm-powerpc/bitops.h for a complete
> explanation.
> This complicates the conversion of cpumask_t from/to xenctl_cpumap.
> The following patch allows an architecture to declare that bitops are
> "by long" rather than "by bit" and use an alternate scheme for
> encoding.

If the array-element type matters on big-endian systems then the tools
really need fixing: one libxc operation passes down a uint32_t unit; another
a uint64_t. Perhaps we should fix so they pass down 8-bit units (as the type
of xenctl_cpumap_t would suggest) and then we could have byte_to_long_bitmap
and long_to_byte_bitmap in Xen (which might encourage us to pull proper
endianness headers into Xen).

 -- Keir

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.