From patchwork Thu Aug 11 23:07:14 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 109709 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [140.186.70.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id F008FB6F64 for ; Fri, 12 Aug 2011 09:08:34 +1000 (EST) Received: from localhost ([::1]:42284 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QreMX-0006Bz-3s for incoming@patchwork.ozlabs.org; Thu, 11 Aug 2011 19:08:29 -0400 Received: from eggs.gnu.org ([140.186.70.92]:59495) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QreMF-0005nU-9T for qemu-devel@nongnu.org; Thu, 11 Aug 2011 19:08:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QreM9-0004hx-3N for qemu-devel@nongnu.org; Thu, 11 Aug 2011 19:08:11 -0400 Received: from mail-qy0-f173.google.com ([209.85.216.173]:53690) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QreM8-0004hr-SC for qemu-devel@nongnu.org; Thu, 11 Aug 2011 19:08:04 -0400 Received: by qyk31 with SMTP id 31so52592qyk.4 for ; Thu, 11 Aug 2011 16:08:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=7h8KWpBrB+iwwfHtEZbSGHlzM1+9F/mibFvkvMC4obw=; b=oONr5NEvIxntvPVj0PdhFoGfVh8nSb3cgNnpCuQMpUvQwJl/9lulbycvtcmUreSm/B UFoiitpF5S02Z7rCX+RVhE6X/QoUNbYvOOS9SPObigJf1XNAvAxFpNb7zeEf55mobGPb 9q2fRlikh25MQf2vSfuYbVOWfXm6KYaFfJ3e0= Received: by 10.224.9.135 with SMTP id l7mr159219qal.249.1313104084485; Thu, 11 Aug 2011 16:08:04 -0700 (PDT) Received: from localhost.localdomain (c-71-227-161-214.hsd1.wa.comcast.net [71.227.161.214]) by mx.google.com with ESMTPS id r3sm1904723qct.3.2011.08.11.16.08.03 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 11 Aug 2011 16:08:04 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Thu, 11 Aug 2011 16:07:14 -0700 Message-Id: <1313104041-1641-3-git-send-email-rth@twiddle.net> X-Mailer: git-send-email 1.7.6 In-Reply-To: <1313104041-1641-1-git-send-email-rth@twiddle.net> References: <1313104041-1641-1-git-send-email-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.216.173 Cc: avi@redhat.com Subject: [Qemu-devel] [PATCH 2/9] serial: Use enum device_endian in serial_mm_init parameter. 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 The use of DEVICE_NATIVE_ENDIAN cleans up lots of ifdefs in many of the callers. Signed-off-by: Richard Henderson --- hw/mips_jazz.c | 14 ++++---------- hw/mips_malta.c | 7 ++----- hw/musicpal.c | 14 ++------------ hw/omap_uart.c | 17 ++--------------- hw/pc.h | 2 +- hw/petalogix_ml605_mmu.c | 2 +- hw/ppc405_uc.c | 8 ++++---- hw/ppc440.c | 4 ++-- hw/ppce500_mpc8544ds.c | 4 ++-- hw/pxa2xx.c | 33 +++++++++++++-------------------- hw/serial.c | 4 +--- hw/sm501.c | 8 +------- hw/sun4u.c | 2 +- hw/virtex_ml507.c | 3 ++- 14 files changed, 38 insertions(+), 84 deletions(-) diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c index 1abab70..8287ca4 100644 --- a/hw/mips_jazz.c +++ b/hw/mips_jazz.c @@ -252,18 +252,12 @@ static void mips_jazz_init(MemoryRegion *address_space, /* Serial ports */ if (serial_hds[0]) { -#ifdef TARGET_WORDS_BIGENDIAN - serial_mm_init(0x80006000, 0, rc4030[8], 8000000/16, serial_hds[0], 1, 1); -#else - serial_mm_init(0x80006000, 0, rc4030[8], 8000000/16, serial_hds[0], 1, 0); -#endif + serial_mm_init(0x80006000, 0, rc4030[8], 8000000/16, serial_hds[0], + 1, DEVICE_NATIVE_ENDIAN); } if (serial_hds[1]) { -#ifdef TARGET_WORDS_BIGENDIAN - serial_mm_init(0x80007000, 0, rc4030[9], 8000000/16, serial_hds[1], 1, 1); -#else - serial_mm_init(0x80007000, 0, rc4030[9], 8000000/16, serial_hds[1], 1, 0); -#endif + serial_mm_init(0x80007000, 0, rc4030[9], 8000000/16, serial_hds[1], + 1, DEVICE_NATIVE_ENDIAN); } /* Parallel port */ diff --git a/hw/mips_malta.c b/hw/mips_malta.c index dd84992..2851f8c 100644 --- a/hw/mips_malta.c +++ b/hw/mips_malta.c @@ -446,11 +446,8 @@ static MaltaFPGAState *malta_fpga_init(MemoryRegion *address_space, s->display = qemu_chr_open("fpga", "vc:320x200", malta_fpga_led_init); -#ifdef TARGET_WORDS_BIGENDIAN - s->uart = serial_mm_init(base + 0x900, 3, uart_irq, 230400, uart_chr, 1, 1); -#else - s->uart = serial_mm_init(base + 0x900, 3, uart_irq, 230400, uart_chr, 1, 0); -#endif + s->uart = serial_mm_init(base + 0x900, 3, uart_irq, 230400, uart_chr, + 1, DEVICE_NATIVE_ENDIAN); malta_fpga_reset(s); qemu_register_reset(malta_fpga_reset, s); diff --git a/hw/musicpal.c b/hw/musicpal.c index 627e0c1..d33e880 100644 --- a/hw/musicpal.c +++ b/hw/musicpal.c @@ -1488,22 +1488,12 @@ static void musicpal_init(MemoryRegion *address_space_mem, pic[MP_TIMER4_IRQ], NULL); if (serial_hds[0]) { -#ifdef TARGET_WORDS_BIGENDIAN - serial_mm_init(MP_UART1_BASE, 2, pic[MP_UART1_IRQ], 1825000, - serial_hds[0], 1, 1); -#else serial_mm_init(MP_UART1_BASE, 2, pic[MP_UART1_IRQ], 1825000, - serial_hds[0], 1, 0); -#endif + serial_hds[0], 1, DEVICE_NATIVE_ENDIAN); } if (serial_hds[1]) { -#ifdef TARGET_WORDS_BIGENDIAN - serial_mm_init(MP_UART2_BASE, 2, pic[MP_UART2_IRQ], 1825000, - serial_hds[1], 1, 1); -#else serial_mm_init(MP_UART2_BASE, 2, pic[MP_UART2_IRQ], 1825000, - serial_hds[1], 1, 0); -#endif + serial_hds[1], 1, DEVICE_NATIVE_ENDIAN); } /* Register flash */ diff --git a/hw/omap_uart.c b/hw/omap_uart.c index 9cee81d..64b2085 100644 --- a/hw/omap_uart.c +++ b/hw/omap_uart.c @@ -60,15 +60,9 @@ struct omap_uart_s *omap_uart_init(target_phys_addr_t base, s->base = base; s->fclk = fclk; s->irq = irq; -#ifdef TARGET_WORDS_BIGENDIAN s->serial = serial_mm_init(base, 2, irq, omap_clk_getrate(fclk)/16, chr ?: qemu_chr_open(label, "null", NULL), 1, - 1); -#else - s->serial = serial_mm_init(base, 2, irq, omap_clk_getrate(fclk)/16, - chr ?: qemu_chr_open(label, "null", NULL), 1, - 0); -#endif + DEVICE_NATIVE_ENDIAN); return s; } @@ -182,15 +176,8 @@ struct omap_uart_s *omap2_uart_init(struct omap_target_agent_s *ta, void omap_uart_attach(struct omap_uart_s *s, CharDriverState *chr) { /* TODO: Should reuse or destroy current s->serial */ -#ifdef TARGET_WORDS_BIGENDIAN - s->serial = serial_mm_init(s->base, 2, s->irq, - omap_clk_getrate(s->fclk) / 16, - chr ?: qemu_chr_open("null", "null", NULL), 1, - 1); -#else s->serial = serial_mm_init(s->base, 2, s->irq, omap_clk_getrate(s->fclk) / 16, chr ?: qemu_chr_open("null", "null", NULL), 1, - 0); -#endif + DEVICE_NATIVE_ENDIAN); } diff --git a/hw/pc.h b/hw/pc.h index 28ed210..b7323fc 100644 --- a/hw/pc.h +++ b/hw/pc.h @@ -18,7 +18,7 @@ SerialState *serial_init(int base, qemu_irq irq, int baudbase, SerialState *serial_mm_init (target_phys_addr_t base, int it_shift, qemu_irq irq, int baudbase, CharDriverState *chr, int ioregister, - int be); + enum device_endian); static inline bool serial_isa_init(int index, CharDriverState *chr) { ISADevice *dev; diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c index 2108193..2ae5c43 100644 --- a/hw/petalogix_ml605_mmu.c +++ b/hw/petalogix_ml605_mmu.c @@ -189,7 +189,7 @@ petalogix_ml605_init(MemoryRegion *address_space_mem, } serial_mm_init(UART16550_BASEADDR + 0x1000, 2, irq[5], 115200, - serial_hds[0], 1, 0); + serial_hds[0], 1, DEVICE_LITTLE_ENDIAN); /* 2 timers at irq 2 @ 100 Mhz. */ xilinx_timer_create(TIMER_BASEADDR, irq[2], 2, 100 * 1000000); diff --git a/hw/ppc405_uc.c b/hw/ppc405_uc.c index efdf37d..fb36c07 100644 --- a/hw/ppc405_uc.c +++ b/hw/ppc405_uc.c @@ -2150,11 +2150,11 @@ CPUState *ppc405cr_init (MemoryRegion ram_memories[4], /* Serial ports */ if (serial_hds[0] != NULL) { serial_mm_init(0xef600300, 0, pic[0], PPC_SERIAL_MM_BAUDBASE, - serial_hds[0], 1, 1); + serial_hds[0], 1, DEVICE_BIG_ENDIAN); } if (serial_hds[1] != NULL) { serial_mm_init(0xef600400, 0, pic[1], PPC_SERIAL_MM_BAUDBASE, - serial_hds[1], 1, 1); + serial_hds[1], 1, DEVICE_BIG_ENDIAN); } /* IIC controller */ ppc405_i2c_init(0xef600500, pic[2]); @@ -2505,11 +2505,11 @@ CPUState *ppc405ep_init (MemoryRegion ram_memories[2], /* Serial ports */ if (serial_hds[0] != NULL) { serial_mm_init(0xef600300, 0, pic[0], PPC_SERIAL_MM_BAUDBASE, - serial_hds[0], 1, 1); + serial_hds[0], 1, DEVICE_BIG_ENDIAN); } if (serial_hds[1] != NULL) { serial_mm_init(0xef600400, 0, pic[1], PPC_SERIAL_MM_BAUDBASE, - serial_hds[1], 1, 1); + serial_hds[1], 1, DEVICE_BIG_ENDIAN); } /* OCM */ ppc405_ocm_init(env); diff --git a/hw/ppc440.c b/hw/ppc440.c index f34d68d..b5391d4 100644 --- a/hw/ppc440.c +++ b/hw/ppc440.c @@ -93,11 +93,11 @@ CPUState *ppc440ep_init(ram_addr_t *ram_size, PCIBus **pcip, if (serial_hds[0] != NULL) { serial_mm_init(0xef600300, 0, pic[0], PPC_SERIAL_MM_BAUDBASE, - serial_hds[0], 1, 1); + serial_hds[0], 1, DEVICE_BIG_ENDIAN); } if (serial_hds[1] != NULL) { serial_mm_init(0xef600400, 0, pic[1], PPC_SERIAL_MM_BAUDBASE, - serial_hds[1], 1, 1); + serial_hds[1], 1, DEVICE_BIG_ENDIAN); } return env; diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c index 43e0bd9..ae72612 100644 --- a/hw/ppce500_mpc8544ds.c +++ b/hw/ppce500_mpc8544ds.c @@ -278,13 +278,13 @@ static void mpc8544ds_init(MemoryRegion *address_space_mem, if (serial_hds[0]) { serial_mm_init(MPC8544_SERIAL0_REGS_BASE, 0, mpic[12+26], 399193, - serial_hds[0], 1, 1); + serial_hds[0], 1, DEVICE_BIG_ENDIAN); } if (serial_hds[1]) { serial_mm_init(MPC8544_SERIAL1_REGS_BASE, 0, mpic[12+26], 399193, - serial_hds[0], 1, 1); + serial_hds[0], 1, DEVICE_BIG_ENDIAN); } /* General Utility device */ diff --git a/hw/pxa2xx.c b/hw/pxa2xx.c index cf93110..a30e714 100644 --- a/hw/pxa2xx.c +++ b/hw/pxa2xx.c @@ -2113,19 +2113,16 @@ PXA2xxState *pxa270_init(unsigned int sdram_size, const char *revision) qdev_get_gpio_in(s->dma, PXA2XX_RX_RQ_MMCI), qdev_get_gpio_in(s->dma, PXA2XX_TX_RQ_MMCI)); - for (i = 0; pxa270_serial[i].io_base; i ++) - if (serial_hds[i]) -#ifdef TARGET_WORDS_BIGENDIAN - serial_mm_init(pxa270_serial[i].io_base, 2, - qdev_get_gpio_in(s->pic, pxa270_serial[i].irqn), - 14857000 / 16, serial_hds[i], 1, 1); -#else + for (i = 0; pxa270_serial[i].io_base; i++) { + if (serial_hds[i]) { serial_mm_init(pxa270_serial[i].io_base, 2, - qdev_get_gpio_in(s->pic, pxa270_serial[i].irqn), - 14857000 / 16, serial_hds[i], 1, 0); -#endif - else + qdev_get_gpio_in(s->pic, pxa270_serial[i].irqn), + 14857000 / 16, serial_hds[i], 1, + DEVICE_NATIVE_ENDIAN); + } else { break; + } + } if (serial_hds[i]) s->fir = pxa2xx_fir_init(0x40800000, qdev_get_gpio_in(s->pic, PXA2XX_PIC_ICP), @@ -2248,20 +2245,16 @@ PXA2xxState *pxa255_init(unsigned int sdram_size) qdev_get_gpio_in(s->dma, PXA2XX_RX_RQ_MMCI), qdev_get_gpio_in(s->dma, PXA2XX_TX_RQ_MMCI)); - for (i = 0; pxa255_serial[i].io_base; i ++) + for (i = 0; pxa255_serial[i].io_base; i++) { if (serial_hds[i]) { -#ifdef TARGET_WORDS_BIGENDIAN - serial_mm_init(pxa255_serial[i].io_base, 2, - qdev_get_gpio_in(s->pic, pxa255_serial[i].irqn), - 14745600 / 16, serial_hds[i], 1, 1); -#else serial_mm_init(pxa255_serial[i].io_base, 2, - qdev_get_gpio_in(s->pic, pxa255_serial[i].irqn), - 14745600 / 16, serial_hds[i], 1, 0); -#endif + qdev_get_gpio_in(s->pic, pxa255_serial[i].irqn), + 14745600 / 16, serial_hds[i], 1, + DEVICE_NATIVE_ENDIAN); } else { break; } + } if (serial_hds[i]) s->fir = pxa2xx_fir_init(0x40800000, qdev_get_gpio_in(s->pic, PXA2XX_PIC_ICP), diff --git a/hw/serial.c b/hw/serial.c index 1fb9e9c..2954a48 100644 --- a/hw/serial.c +++ b/hw/serial.c @@ -858,10 +858,9 @@ static const MemoryRegionOps serial_mm_ops[3] = { SerialState *serial_mm_init (target_phys_addr_t base, int it_shift, qemu_irq irq, int baudbase, CharDriverState *chr, int ioregister, - int be) + enum device_endian end) { SerialState *s; - enum device_endian end; s = qemu_mallocz(sizeof(SerialState)); @@ -873,7 +872,6 @@ SerialState *serial_mm_init (target_phys_addr_t base, int it_shift, serial_init_core(s); vmstate_register(NULL, base, &vmstate_serial, s); - end = (be ? DEVICE_BIG_ENDIAN : DEVICE_LITTLE_ENDIAN); memory_region_init_io(&s->io, &serial_mm_ops[end], s, "serial", 8 << it_shift); if (ioregister) { diff --git a/hw/sm501.c b/hw/sm501.c index 0f0bf96..de57186 100644 --- a/hw/sm501.c +++ b/hw/sm501.c @@ -1440,15 +1440,9 @@ void sm501_init(uint32_t base, uint32_t local_mem_bytes, qemu_irq irq, /* bridge to serial emulation module */ if (chr) { -#ifdef TARGET_WORDS_BIGENDIAN serial_mm_init(base + MMIO_BASE_OFFSET + SM501_UART0, 2, NULL, /* TODO : chain irq to IRL */ - 115200, chr, 1, 1); -#else - serial_mm_init(base + MMIO_BASE_OFFSET + SM501_UART0, 2, - NULL, /* TODO : chain irq to IRL */ - 115200, chr, 1, 0); -#endif + 115200, chr, 1, DEVICE_NATIVE_ENDIAN); } /* create qemu graphic console */ diff --git a/hw/sun4u.c b/hw/sun4u.c index b6421cb..d9096fc 100644 --- a/hw/sun4u.c +++ b/hw/sun4u.c @@ -768,7 +768,7 @@ static void sun4uv_init(ram_addr_t RAM_size, i = 0; if (hwdef->console_serial_base) { serial_mm_init(hwdef->console_serial_base, 0, NULL, 115200, - serial_hds[i], 1, 1); + serial_hds[i], 1, DEVICE_BIG_ENDIAN); i++; } for(; i < MAX_SERIAL_PORTS; i++) { diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c index 15d37b5..d9a2758 100644 --- a/hw/virtex_ml507.c +++ b/hw/virtex_ml507.c @@ -232,7 +232,8 @@ static void virtex_init(MemoryRegion *address_space_mem, irq[i] = qdev_get_gpio_in(dev, i); } - serial_mm_init(0x83e01003ULL, 2, irq[9], 115200, serial_hds[0], 1, 0); + serial_mm_init(0x83e01003ULL, 2, irq[9], 115200, serial_hds[0], + 1, DEVICE_LITTLE_ENDIAN); /* 2 timers at irq 2 @ 62 Mhz. */ xilinx_timer_create(0x83c00000, irq[3], 2, 62 * 1000000);