All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timur Tabi <timur@freescale.com>
To: Anton Altaparmakov <aia21@cam.ac.uk>
Cc: Jan Engelhardt <jengelh@computergmbh.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: __LITTLE_ENDIAN vs. __LITTLE_ENDIAN_BITFIELD
Date: Fri, 05 Oct 2007 16:10:26 -0500	[thread overview]
Message-ID: <4706A842.9030507@freescale.com> (raw)
In-Reply-To: <AECA61F9-0EF6-4883-9D37-004C00C57417@cam.ac.uk>

Anton Altaparmakov wrote:

>> ---LSB-- ---2SB-- ---3SB-- ---MSB-- [bytes] LITTLE_ENDIAN
>> L234567M L234567M L234567M L234567M  [bits] LITTLE_ENDIAN_BITFIELD
> 
> No it is not.  That makes no sense. 

Why not?  I honestly don't know what x86 does, but I would think that if I 
write a 32-bit value to a memory location, that when I examine that memory 
location, all 32 bits will be in order.

> The whole point of little endian is 
> that you store LSB, then 2SB, then 3SB, then MSB and then when the CPU 

You're talking about byte endian.  I'm talking about bit endian -- the order 
of bits within a byte.  Software cannot know what the bit endian is, but 
external devices that have memory-mapped registers can know.

> reads this as a 32-bit word it rotates them all around so that in the 
> CPU register you have:
> 
> MSB_3SB_2SB_LSB
> M765432L_M765432L_M765432L_M765432L
> 
> That is what little endian means and that is how shift operations can 
> work fine on the CPU.

The CPU shift operation, yes.  I'm talking about shift operations on external 
memory-mapped devices.

-- 
Timur Tabi
Linux Kernel Developer @ Freescale

  reply	other threads:[~2007-10-05 21:10 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-05 18:27 __LITTLE_ENDIAN vs. __LITTLE_ENDIAN_BITFIELD Timur Tabi
2007-10-05 18:35 ` Jan Engelhardt
2007-10-05 19:35   ` Timur Tabi
2007-10-05 19:43     ` Jan Engelhardt
2007-10-05 19:47       ` Timur Tabi
2007-10-05 20:04         ` Andreas Schwab
2007-10-05 20:07           ` Timur Tabi
2007-10-05 20:34             ` linux-os (Dick Johnson)
2007-10-05 20:37               ` Timur Tabi
2007-10-05 23:27                 ` Benjamin Herrenschmidt
2007-10-05 21:17             ` Andreas Schwab
2007-10-05 21:06     ` Anton Altaparmakov
2007-10-05 21:10       ` Timur Tabi [this message]
2007-10-05 21:29         ` Andreas Schwab
2007-10-05 21:32           ` Timur Tabi
2007-10-05 23:17             ` Andreas Schwab
2007-10-09 17:46         ` Lennart Sorensen
2007-10-09 17:56           ` Timur Tabi
2007-10-09 18:34             ` Lennart Sorensen
2007-10-09 18:50             ` Krzysztof Halasa
2007-10-09 18:57               ` Timur Tabi
2007-10-09 19:37                 ` Krzysztof Halasa
2007-10-09 19:44                   ` Timur Tabi
2007-10-09 22:11                     ` Krzysztof Halasa
2007-10-09 19:11               ` Jeremy Fitzhardinge
2007-10-09 19:39                 ` Krzysztof Halasa
2007-10-09 21:40                   ` Jeremy Fitzhardinge
2007-10-09 22:34                     ` Krzysztof Halasa
2007-10-10 12:05                       ` linux-os (Dick Johnson)

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=4706A842.9030507@freescale.com \
    --to=timur@freescale.com \
    --cc=aia21@cam.ac.uk \
    --cc=jengelh@computergmbh.de \
    --cc=linux-kernel@vger.kernel.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.