From: Alexander Graf <agraf@suse.de>
To: QEMU-devel Developers <qemu-devel@nongnu.org>
Cc: Blue Swirl <blauwirbel@gmail.com>, Paul Brook <paul@codesourcery.com>
Subject: [Qemu-devel] [PATCH 07/15] e1000: Make little endian
Date: Wed, 8 Dec 2010 12:05:42 +0100 [thread overview]
Message-ID: <1291806350-9646-8-git-send-email-agraf@suse.de> (raw)
In-Reply-To: <1291806350-9646-1-git-send-email-agraf@suse.de>
The e1000 has compatibility code to handle big endianness which makes it
mandatory to be recompiled on different targets.
With the generic mmio endianness solution, there's no need for that anymore.
We just declare all mmio to be little endian and call it a day.
Because we don't depend on the target endianness anymore, we can also
move the driver over to Makefile.objs.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
Makefile.objs | 1 +
Makefile.target | 1 -
hw/e1000.c | 11 ++---------
3 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/Makefile.objs b/Makefile.objs
index 04625eb..29b1ede 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -224,6 +224,7 @@ hw-obj-$(CONFIG_NE2000_PCI) += ne2000.o
hw-obj-$(CONFIG_EEPRO100_PCI) += eepro100.o
hw-obj-$(CONFIG_PCNET_PCI) += pcnet-pci.o
hw-obj-$(CONFIG_PCNET_COMMON) += pcnet.o
+hw-obj-$(CONFIG_E1000_PCI) += e1000.o
hw-obj-$(CONFIG_SMC91C111) += smc91c111.o
hw-obj-$(CONFIG_LAN9118) += lan9118.o
diff --git a/Makefile.target b/Makefile.target
index 5784844..39d8df9 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -211,7 +211,6 @@ obj-$(CONFIG_USB_OHCI) += usb-ohci.o
# PCI network cards
obj-$(CONFIG_RTL8139_PCI) += rtl8139.o
-obj-$(CONFIG_E1000_PCI) += e1000.o
# Inter-VM PCI shared memory
obj-$(CONFIG_KVM) += ivshmem.o
diff --git a/hw/e1000.c b/hw/e1000.c
index bf3f2d3..a697abd 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -857,9 +857,6 @@ e1000_mmio_writel(void *opaque, target_phys_addr_t addr, uint32_t val)
E1000State *s = opaque;
unsigned int index = (addr & 0x1ffff) >> 2;
-#ifdef TARGET_WORDS_BIGENDIAN
- val = bswap32(val);
-#endif
if (index < NWRITEOPS && macreg_writeops[index]) {
macreg_writeops[index](s, index, val);
} else if (index < NREADOPS && macreg_readops[index]) {
@@ -894,11 +891,7 @@ e1000_mmio_readl(void *opaque, target_phys_addr_t addr)
if (index < NREADOPS && macreg_readops[index])
{
- uint32_t val = macreg_readops[index](s, index);
-#ifdef TARGET_WORDS_BIGENDIAN
- val = bswap32(val);
-#endif
- return val;
+ return macreg_readops[index](s, index);
}
DBGOUT(UNKNOWN, "MMIO unknown read addr=0x%08x\n", index<<2);
return 0;
@@ -1131,7 +1124,7 @@ static int pci_e1000_init(PCIDevice *pci_dev)
pci_conf[PCI_INTERRUPT_PIN] = 1; // interrupt pin 0
d->mmio_index = cpu_register_io_memory(e1000_mmio_read,
- e1000_mmio_write, d, DEVICE_NATIVE_ENDIAN);
+ e1000_mmio_write, d, DEVICE_LITTLE_ENDIAN);
pci_register_bar(&d->dev, 0, PNPMMIO_SIZE,
PCI_BASE_ADDRESS_SPACE_MEMORY, e1000_mmio_map);
--
1.6.0.2
next prev parent reply other threads:[~2010-12-08 11:06 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
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
2010-12-08 11:05 ` [Qemu-devel] [PATCH 02/15] Add endianness as io mem parameter Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 03/15] Make simple io mem handler endian aware Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 04/15] dbdma: Make little endian Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 05/15] pci-host: Delegate bswap to mmio layer Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 06/15] uninorth: Get rid of bswap Alexander Graf
2010-12-08 11:05 ` Alexander Graf [this message]
2010-12-08 11:05 ` [Qemu-devel] [PATCH 08/15] prep: Declare as little endian Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 09/15] versatile_pci: " Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 10/15] ppc4xx_pci: " Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 11/15] openpic: Replace explicit byte swap with endian hints Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 12/15] rtl8139: Declare as little endian Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 13/15] heathrow_pic: " Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 14/15] isa_mmio: Always use " Alexander Graf
2010-12-08 11:05 ` [Qemu-devel] [PATCH 15/15] usb_ohci: " Alexander Graf
2010-12-11 18:02 ` [Qemu-devel] Re: [PATCH 00/15] MMIO endianness cleanup v2 Blue Swirl
-- 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 07/15] e1000: Make little endian Alexander Graf
2010-11-25 7:35 [Qemu-devel] [PATCH 00/15] [RFC] MMIO endianness cleanup Alexander Graf
2010-11-25 7:35 ` [Qemu-devel] [PATCH 07/15] e1000: Make little endian 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=1291806350-9646-8-git-send-email-agraf@suse.de \
--to=agraf@suse.de \
--cc=blauwirbel@gmail.com \
--cc=paul@codesourcery.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).