From patchwork Mon Jul 22 13:54:14 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 260723 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id A5BE02C00A3 for ; Tue, 23 Jul 2013 00:09:00 +1000 (EST) Received: from localhost ([::1]:49572 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V1GnJ-0002jG-PH for incoming@patchwork.ozlabs.org; Mon, 22 Jul 2013 10:08:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51083) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V1Gf8-0007l5-Ii for qemu-devel@nongnu.org; Mon, 22 Jul 2013 10:00:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V1Gf7-0008D3-3j for qemu-devel@nongnu.org; Mon, 22 Jul 2013 10:00:30 -0400 Received: from mail-ee0-x22d.google.com ([2a00:1450:4013:c00::22d]:58656) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V1GZk-0005Ip-Sv for qemu-devel@nongnu.org; Mon, 22 Jul 2013 09:54:57 -0400 Received: by mail-ee0-f45.google.com with SMTP id c1so3852896eek.18 for ; Mon, 22 Jul 2013 06:54:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=TIAWV3rJgfNaaU+/IB92CbxmN7pOuUJvhLR/HfMuGps=; b=s75gjmTdNmWrCTroko72xB4CRfe7mOFetX+itwi594f5U833pNWM78whtxoyDd0jdp AvZciZjyPB91trG2zR3FdHp32qv79+yNoqLmcjNwxKdnx01U9sKGSPSPkZr0Pm0SvaO2 7X3N1IKimM/8iaqGitHkkTH3fhFzGSsMLGDfaaqFSQdYgwXzFfKOZT2d0WWIXm/40OFu M1IkSib2FQzUFwfgllicRF8yX7ohU9J0uPWD4bM+vSHCDrOySSY0CL78pCUX4Cx04RIl eF9MU6lmE1T4ZD1CbnVTufGevI362bndGVuFVIIwBcGCKi1eC82ELcb/bQawasv4+p+n y+ww== X-Received: by 10.15.32.194 with SMTP id a42mr28171108eev.43.1374501296040; Mon, 22 Jul 2013 06:54:56 -0700 (PDT) Received: from playground.station (net-2-39-8-162.cust.dsl.vodafone.it. [2.39.8.162]) by mx.google.com with ESMTPSA id n42sm50902100eeh.15.2013.07.22.06.54.52 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 22 Jul 2013 06:54:54 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 22 Jul 2013 15:54:14 +0200 Message-Id: <1374501278-31549-5-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1374501278-31549-1-git-send-email-pbonzini@redhat.com> References: <1374501278-31549-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4013:c00::22d Cc: aliguori@us.ibm.com, aik@ozlabs.ru, agraf@suse.de, hpoussin@reactos.org, jan.kiszka@siemens.com, aurelien@aurel32.net Subject: [Qemu-devel] [PATCH 04/28] spapr_pci: remove indirection for I/O port access X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Alexey Kardashevskiy This fixes endianness bugs in I/O port access. Signed-off-by: Alexey Kardashevskiy Signed-off-by: Paolo Bonzini --- hw/ppc/spapr_pci.c | 41 ++--------------------------------------- 1 file changed, 2 insertions(+), 39 deletions(-) diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 318bc9d..c880a75 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -440,43 +440,6 @@ static void pci_spapr_set_irq(void *opaque, int irq_num, int level) qemu_set_irq(spapr_phb_lsi_qirq(phb, irq_num), level); } -static uint64_t spapr_io_read(void *opaque, hwaddr addr, - unsigned size) -{ - switch (size) { - case 1: - return cpu_inb(addr); - case 2: - return cpu_inw(addr); - case 4: - return cpu_inl(addr); - } - g_assert_not_reached(); -} - -static void spapr_io_write(void *opaque, hwaddr addr, - uint64_t data, unsigned size) -{ - switch (size) { - case 1: - cpu_outb(addr, data); - return; - case 2: - cpu_outw(addr, data); - return; - case 4: - cpu_outl(addr, data); - return; - } - g_assert_not_reached(); -} - -static const MemoryRegionOps spapr_io_ops = { - .endianness = DEVICE_LITTLE_ENDIAN, - .read = spapr_io_read, - .write = spapr_io_write -}; - /* * MSI/MSIX memory region implementation. * The handler handles both MSI and MSIX. @@ -605,8 +568,8 @@ static int spapr_phb_init(SysBusDevice *s) memory_region_add_subregion(get_system_io(), 0, &sphb->iospace); sprintf(namebuf, "%s.io-alias", sphb->dtbusname); - memory_region_init_io(&sphb->iowindow, OBJECT(sphb), &spapr_io_ops, sphb, - namebuf, SPAPR_PCI_IO_WIN_SIZE); + memory_region_init_alias(&sphb->iowindow, OBJECT(sphb), namebuf, + get_system_io(), 0, SPAPR_PCI_IO_WIN_SIZE); memory_region_add_subregion(get_system_memory(), sphb->io_win_addr, &sphb->iowindow);