From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:35895) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RxFcQ-0005C1-Ll for qemu-devel@nongnu.org; Tue, 14 Feb 2012 05:28:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RxFcK-0006gH-0d for qemu-devel@nongnu.org; Tue, 14 Feb 2012 05:28:18 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:65001) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RxFcJ-0006fy-P9 for qemu-devel@nongnu.org; Tue, 14 Feb 2012 05:28:11 -0500 Received: from euspt2 (mailout2.w1.samsung.com [210.118.77.12]) by mailout2.w1.samsung.com (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTP id <0LZD00JQQP2UZE@mailout2.w1.samsung.com> for qemu-devel@nongnu.org; Tue, 14 Feb 2012 10:28:06 +0000 (GMT) Received: from [106.109.9.191] by spt2.w1.samsung.com (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTPA id <0LZD004VEP2JNK@spt2.w1.samsung.com> for qemu-devel@nongnu.org; Tue, 14 Feb 2012 10:28:06 +0000 (GMT) Date: Tue, 14 Feb 2012 14:27:55 +0400 From: Evgeny Voevodin In-reply-to: <1328852175-12119-1-git-send-email-e.voevodin@samsung.com> Message-id: <4F3A372B.5000006@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT References: <1328852175-12119-1-git-send-email-e.voevodin@samsung.com> Subject: Re: [Qemu-devel] [PATCH v15 00/10] ARM: Samsung Exynos4210-based boards support. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Evgeny Voevodin Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org, kyungmin.park@samsung.com, d.solodkiy@samsung.com, m.kozlov@samsung.com, jehyung.lee@samsung.com, paul@codesourcery.com On 10.02.2012 09:36, Evgeny Voevodin wrote: > This set of patches adds support for Samsung Exynos4210-based boards NURI and SMDKC210. > Tested on Linux kernel v3.x series. > > Usage: > Exynos4210 SOC boards are modelled to run two CPU cores.. > Linux kernel v3.x configured with exynos4_defconfig can be used for boards models testing with rootfs > on initrd. > > To enable support of framebuffer in kernel, enable Samsung S3C framebuffer driver in kernel configuration. > Note: at present time (26.01.2012) Samsung S3C framebuffer support in mainline kernel is broken. This > problem will be solved soon by Samsung kernel developers. People interested in enabling framebuffer right > now can patch Linux kernel source files a bit to fix S3C framebuffer support: > - in array init_clocks_off (file arch/arm/mach-exynos/clock.c) for a member with .devname = "exynos4-fb.0" > replace .name from "fimd" to "lcd"; > - for framebuffer support on nuri board you need to additionally change file arch/arm/mach-exynos/common.c: > add include file > "#include" > and add string > init_consistent_dma_size(SZ_2M + SZ_4M); > at the very beginning of function "void __init exynos4_map_io(void)". > > To enable support of ethernet on smdkc210 board, enable SMSC LAN911x/LAN921x families > embedded ethernet driver in Linux kernel configuration file. > Note: NURI board does not have ethernet adapter and currently has no net support. > > > Example usage: > Boot smdkc210 board with root filesystem on NFS disk. > # qemu-system-arm -kernel ./zImage -append "ip=dhcp root=/dev/nfs nfsroot=10.0.2.2:/srv/nfs/ rw rootwait" -M smdkc210 > > Boot smdkc210 board with root filesystem on NFS disk and serial port #0 redirected to terminal > # qemu-system-arm -kernel ./zImage -append "console=ttySAC0,115200n8 ip=dhcp root=/dev/nfs nfsroot=10.0.2.2:/srv/nfs/ rw " -serial stdio -M smdkc210 > > Boot NURI with rootfs on inird and serial port #0 redirected to terminal > # qemu-system-arm -kernel ./zImage -append "console=ttySAC0,115200n8 root=/dev/ram rw " -serial stdio -M nuri -initrd ./rootfs.ext2 > > > Changelog: > v14->v15 > Fixed "unused variable" warning while compiling by gcc_4.6. > - hw/exynos4210.c: removed irq_table local variable. > Touched patches: Boards, UART, PWM, MCT, FIMD > v13->v14 > Rebased. > - hw/exynos4210_combiner.c: qdev_prop_set_uint32() moved before qdev_init_nofail(). > - hw/exynos4210_uart.c: device label fixed. > - ./MAINTAINERS: Move Exynos according to alphabetical order. > v12->v13 > Converted to TypeInfo: hw/exynos4210_combiner.c, hw/exynos4210_gic.c, hw/exynos4210_mct.c, hw/exynos4210_pwm.c, > hw/exynos4210_uart.c, hw/exynos4210_fimd.c, hw/exynos4210_pmu.c > - hw/exynos4210_mct.c: CamelCase fixes. > - hw/exynos4210_fimd.c: converted to new memory dirty getting API > v11->v12 > Hardcoded amount of SOC's CPU cores to two. > Updated ./MAINTAINERS. > Rebased on current master. > Removed "Reviewed-by:" from IRQ, PWM, MCT since following changes: > - hw/exynos4210_gic.c: Spaces, CamelCase fixes, definitions converted to enum > - hw/exynos4210_pwm.c, hw/exynos4210_mct.c: CamelCase fixes > - hw/exynos4210_combiner.c: CamelCase fixes, removed useless structure definition > - hw/exynos4_boards.c: Slightly reorganized machines, added warning message if smp_cpus != 2 > v10->v11 > - rebased and converted to QOM: hw/exynos4210_combiner.c, hw/exynos4210_gic.c, hw/exynos4210_fimd.c, hw/exynos4210_mct.c, hw/exynos4210_pmu.c, > hw/exynos4210_pwm.c, hw/exynos4210_uart.c. > Also we have removed "Reviewed-by:" from those patches touched by conversion to QOM. > v9->v10 > - hw/lan9118.c: fixed migration-breaking bug in previous patch version; > - hw/exynos4210_pmu.c: we do not waste space for non-existing registers in PMU state anymore; > non-existing registers are now RAZ/WI; > added vmstate structure; > > v8->v9 > - exynos4210.c: secondary cpu bootloader memory region allocation is removed (it resides in already allocated IROM), > removed hack memory region for secondary CPU boot loader (PMU device added). > added l2x0 cache controller > - exynos4210_pmu.c: PMU registers modelling device added to emulation. It is needed since PMU contains > INFORM5 register which is used to boot the secondary CPUs. > - exynos4_boards.c: indentation fix > - exynos4210_uart.c: indentation fix, BREAK event handling code added, fixed size of allocated registers region > - exynos4210_gic.c: number of IRQs passed to gic_init() due to last mainline update. > - lan9118.: added VMSTATE fields due to last mainline update. > v7->v8 > - exynos4_boards.c: lack of spaces fix > - exynos4210_gic.c: lack of spaces fix > - exynos4210_combiner.c: lack of spaces fix > - exynos4210_uart.c: lack of spaces fix, indentation fix > - exynos4210_mct.c: ULL suffix fix > v6->v7 > - exynos4210_pwm.c: added usage of "ptimer.h" > - exynos4210_mct.c: added usage of "ptimer.h" > v5->v6 > - arm_boot.c, vexpress.c, realview.c: board should specify smp_bootreg_addr if its ncpu> 1 > - patch order changed, "boot secondary CPU" is included in "exynos boards" patch. > - exynos4210_mct.c: usage of UINTX_MAX, removed excessive property list, fixed indentation, > fixed comments > - exynos4210_pwm.c: spaces and brakcets in macros, removed excessive property list, > fixed indentation, > - exynos4210_combiner.c: removed excessive reset, fixed indentation, fixed comments > - exynos4210_gic.c: fixed indentation, fixed syntax > - exynos4210_uart.c: fixed indentation, fixed syntax > - exynos4210.c: fixed comments > - Makefile.target: removed "\" > - hw/exynos4210_fimd.c: rebased against current master: all manipulation with physical pages are dropped and > replaced with new memory API functions; > > added three new members to winow's state: MemoryRegionSection to describe section > of system RAM containing current framebuffer, host pointer to framebuffer data and > framebuffer length; > > mapping of framebuffer now performed only on framebuffer settings change > instead on every display update; > > bytes swap in uint64 variable now performed with standard QEMU bswap64 function; > > blencon register type changed to uint32_t; > > fixed incorrect spelling of "palette" word; > > if ... else statements in exynos4210_fimd_read() and exynos4210_fimd_write() are > replaced with switch() {} statement. > > > > v4->v5 > - hw/exynos4210_gic.c: Use memory aliases for CPU interface and Distributer. > Excessive RW functions are removed. > - hw/exynos4210_pwm.c and hw/exynos4210_mct.c: Saving of timers added. > - hw/exynos4210_uart.c: VMSTATE version_id fixed. > v3->v4 > - Split Exynos SOC and boards. > - Temporary removed SD and CMU support to post later. > - Lan9118 remarks took into account. > - Secondary CPU bootloader remarks took into account. > - PWM remarks took into account. > - UART remarks took into account. > v2->v3 > - Reverted hw/arm_gic.c modification > - Added IRQ Gate to Exynos4210 board. > > Evgeny Voevodin (7): > ARM: exynos4210: IRQ subsystem support. > ARM: Samsung exynos4210-based boards emulation > ARM: exynos4210: PWM support. > ARM: exynos4210: MCT support. > hw/lan9118: Add basic 16-bit mode support. > hw/exynos4210.c: Add LAN support for SMDKC210. > MAINTAINERS: Add maintainers for Exynos SOC. > > Maksim Kozlov (2): > ARM: exynos4210: UART support > ARM: exynos4210: basic Power Management Unit implementation > > Mitsyanko Igor (1): > Exynos4210: added display controller implementation > > MAINTAINERS | 8 + > Makefile.target | 3 + > hw/exynos4210.c | 270 +++++++ > hw/exynos4210.h | 131 ++++ > hw/exynos4210_combiner.c | 469 +++++++++++ > hw/exynos4210_fimd.c | 1928 ++++++++++++++++++++++++++++++++++++++++++++++ > hw/exynos4210_gic.c | 458 +++++++++++ > hw/exynos4210_mct.c | 1488 +++++++++++++++++++++++++++++++++++ > hw/exynos4210_pmu.c | 499 ++++++++++++ > hw/exynos4210_pwm.c | 422 ++++++++++ > hw/exynos4210_uart.c | 676 ++++++++++++++++ > hw/exynos4_boards.c | 176 +++++ > hw/lan9118.c | 124 +++- > 13 files changed, 6646 insertions(+), 6 deletions(-) > create mode 100644 hw/exynos4210.c > create mode 100644 hw/exynos4210.h > create mode 100644 hw/exynos4210_combiner.c > create mode 100644 hw/exynos4210_fimd.c > create mode 100644 hw/exynos4210_gic.c > create mode 100644 hw/exynos4210_mct.c > create mode 100644 hw/exynos4210_pmu.c > create mode 100644 hw/exynos4210_pwm.c > create mode 100644 hw/exynos4210_uart.c > create mode 100644 hw/exynos4_boards.c > Ping... Is somebody going to review? -- Kind regards, Evgeny Voevodin, Leading Software Engineer, ASWG, Moscow R&D center, Samsung Electronics e-mail: e.voevodin@samsung.com