All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: "Andreas Färber" <andreas.faerber@web.de>,
	"Alexander Graf" <agraf@suse.de>,
	"QEMU-devel Developers" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH 01/15] exec: introduce endianness swapped mmio
Date: Sat, 27 Nov 2010 10:24:00 +0000	[thread overview]
Message-ID: <201011271024.01876.paul@codesourcery.com> (raw)
In-Reply-To: <AANLkTik6G2ja=d-nG3wixsvza-Jfm6cB5NQwWbT-_RLu@mail.gmail.com>

> > Switching endianness of a CPU generally does not effect the endianness of
> > the CPU/peripheral busses.  It makes the CPU byteswap accesses before
> > they are seen by either memory or devices.
> > 
> > In theory it might be possible to avoid redundant byteswaps if you're
> > really clever.  In practice you still have to handle the fact that your
> > devices are a different endianness to RAM, so it probably doesn't gain
> > you a whole lot.
> 
> Sparc64 MMU can also perform byte swapping, there is also a byte
> swapping CPU mode and byte swapping access instructions. I think only
> the instructions are used (for PCI).

Right, but that is (to a large extent) a separate problem from memory mapped 
peripherals.  You still have to handle the case where a single TLB entry 
covers both ram and a cross-endian device.

Paul

  reply	other threads:[~2010-11-27 10:26 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-25  7:35 [Qemu-devel] [PATCH 00/15] [RFC] MMIO endianness cleanup Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 01/15] exec: introduce endianness swapped mmio Alexander Graf
2010-11-26 23:00   ` Andreas Färber
2010-11-26 23:06     ` Alexander Graf
2010-11-26 23:18     ` Peter Maydell
2010-11-26 23:47     ` Paul Brook
2010-11-27 10:05       ` Blue Swirl
2010-11-27 10:24         ` Paul Brook [this message]
2010-11-28  8:12   ` Gleb Natapov
2010-11-28 11:05     ` Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 02/15] Add endianness as io mem parameter Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 03/15] Make simple io mem handler endian aware Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 04/15] dbdma: Make little endian Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 05/15] pci-host: Delegate bswap to mmio layer Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 06/15] uninorth: Get rid of bswap Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 07/15] e1000: Make little endian Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 08/15] prep: Declare as " Alexander Graf
2010-11-26 21:58   ` Andreas Färber
2010-11-26 22:06     ` Alexander Graf
2010-11-27  0:08       ` Benjamin Herrenschmidt
2010-11-25  7:35 ` [Qemu-devel] [PATCH 09/15] versatile_pci: " Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 10/15] ppc4xx_pci: " Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 11/15] openpic: Replace explicit byte swap with endian hints Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 12/15] rtl8139: Declare as little endian Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 13/15] heathrow_pic: " Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 14/15] isa_mmio: Always use " Alexander Graf
2010-11-25  7:35 ` [Qemu-devel] [PATCH 15/15] usb_ohci: " Alexander Graf
2010-11-25 10:18 ` [Qemu-devel] [PATCH 00/15] [RFC] MMIO endianness cleanup Gerd Hoffmann
2010-11-25 10:23   ` Alexander Graf
2010-11-25 10:42   ` Gleb Natapov
2010-11-25 12:14 ` [Qemu-devel] " Paul Brook
2010-11-26 18:44 ` Blue Swirl
2010-11-26 18:49   ` Alexander Graf
2010-11-27 10:09     ` Avi Kivity
  -- strict thread matches above, loose matches on Subject: below --
2010-11-30 14:35 [Qemu-devel] [PATCH 00/15] [PATCH] MMIO endianness cleanup v1 Alexander Graf
2010-11-30 14:35 ` [Qemu-devel] [PATCH 01/15] exec: introduce endianness swapped mmio Alexander Graf
2010-12-08 11:05 [Qemu-devel] [PATCH 00/15] MMIO endianness cleanup v2 Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 01/15] exec: introduce endianness swapped mmio Alexander Graf

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=201011271024.01876.paul@codesourcery.com \
    --to=paul@codesourcery.com \
    --cc=agraf@suse.de \
    --cc=andreas.faerber@web.de \
    --cc=blauwirbel@gmail.com \
    --cc=qemu-devel@nongnu.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.