From patchwork Tue Nov 30 14:35:53 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 73727 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 6EB58B70AA for ; Wed, 1 Dec 2010 17:57:51 +1100 (EST) Received: from localhost ([127.0.0.1]:60533 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PNgdP-0004EQ-Co for incoming@patchwork.ozlabs.org; Wed, 01 Dec 2010 01:57:47 -0500 Received: from [140.186.70.92] (port=53568 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PNeVM-0002Nz-Vg for qemu-devel@nongnu.org; Tue, 30 Nov 2010 23:41:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PNRJX-0001J4-Qf for qemu-devel@nongnu.org; Tue, 30 Nov 2010 09:36:17 -0500 Received: from cantor.suse.de ([195.135.220.2]:55553 helo=mx1.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PNRJX-0000zJ-F8 for qemu-devel@nongnu.org; Tue, 30 Nov 2010 09:36:15 -0500 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.221.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 855119428F; Tue, 30 Nov 2010 15:36:02 +0100 (CET) From: Alexander Graf To: QEMU-devel Developers Date: Tue, 30 Nov 2010 15:35:53 +0100 Message-Id: <1291127761-16501-8-git-send-email-agraf@suse.de> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1291127761-16501-1-git-send-email-agraf@suse.de> References: <1291127761-16501-1-git-send-email-agraf@suse.de> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 Cc: Blue Swirl , Paul Brook Subject: [Qemu-devel] [PATCH 07/15] e1000: Make little endian X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org 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 --- 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 23b17ce..37d4a10 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -215,6 +215,7 @@ hw-obj-y += msix.o msi.o hw-obj-y += ne2000.o hw-obj-y += eepro100.o hw-obj-y += pcnet.o +hw-obj-y += e1000.o hw-obj-$(CONFIG_SMC91C111) += smc91c111.o hw-obj-$(CONFIG_LAN9118) += lan9118.o diff --git a/Makefile.target b/Makefile.target index 2800f47..02a7a66 100644 --- a/Makefile.target +++ b/Makefile.target @@ -211,7 +211,6 @@ obj-$(CONFIG_USB_OHCI) += usb-ohci.o # PCI network cards obj-y += rtl8139.o -obj-y += e1000.o # Inter-VM PCI shared memory obj-$(CONFIG_KVM) += ivshmem.o diff --git a/hw/e1000.c b/hw/e1000.c index a3795c5..0c6b433 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((PCIDevice *)d, 0, PNPMMIO_SIZE, PCI_BASE_ADDRESS_SPACE_MEMORY, e1000_mmio_map);