All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v9 0/9] ARM: Samsung Exynos4210-based boards support.
@ 2012-01-20 10:53 Evgeny Voevodin
  2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 1/9] ARM: exynos4210: IRQ subsystem support Evgeny Voevodin
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Evgeny Voevodin @ 2012-01-20 10:53 UTC (permalink / raw)
  To: qemu-devel
  Cc: kyungmin.park, m.kozlov, jehyung.lee, d.solodkiy, Evgeny Voevodin

This set of patches adds support for Samsung S5PC210-based boards NURI and SMDKC210.
Tested on Linux kernel v3.x series.

Usage:
"-smp 2" option is obligatory for now.
To test emulation models user can launch Linux kernel v3.x configured with exynos4_defconfig configuration.
This will allow to boot kernel with initrd.

To get support of framebuffer by kernel, enable Samsung S3C framebuffer driver  in configuration file.
    Note: at current time mainline kernel does not support framebuffer properly
    and to get it worked kernel must be patched a little. This problem will be solved soon
    by Samsung kernel developers

To get support of ethernet for smdkc210 board by kernel, enable SMSC LAN911x/LAN921x families
embedded ethernet driver in configuration file.
    Note: NURI board does not emulate ethernet adapter since it is a mobile device. 


Examples:
Boot smdkc210 with NFS root support.
qemu-system-arm -kernel ./zImage -append "ip=dhcp root=/dev/nfs nfsroot=10.0.2.2:/srv/nfs/ rw " -M smdkc210 -smp 2

Boot smdkc210 with NFS root support and serial 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 -smp 2

Boot NURI with initrd root support and serial redirected to terminal
qemu-system-arm -kernel ./zImage -append "console=ttySAC0,115200n8 root=/dev/ram rw " -serial stdio -M nuri -smp 2 -initrd ./rootfs.ext2


Changelog:
 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 (6):
  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.

Maksim Kozlov (2):
  ARM: exynos4210: UART support
  ARM: exynos4210: Added PMU register model.

Mitsyanko Igor (1):
  Exynos4210: added display controller implementation

 Makefile.target          |    3 +
 hw/exynos4210.c          |  272 +++++++
 hw/exynos4210.h          |  131 ++++
 hw/exynos4210_combiner.c |  472 ++++++++++++
 hw/exynos4210_fimd.c     | 1924 ++++++++++++++++++++++++++++++++++++++++++++++
 hw/exynos4210_gic.c      |  436 +++++++++++
 hw/exynos4210_mct.c      | 1479 +++++++++++++++++++++++++++++++++++
 hw/exynos4210_pmu.c      |  549 +++++++++++++
 hw/exynos4210_pwm.c      |  413 ++++++++++
 hw/exynos4210_uart.c     |  661 ++++++++++++++++
 hw/exynos4_boards.c      |  166 ++++
 hw/lan9118.c             |  122 +++-
 12 files changed, 6623 insertions(+), 5 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

-- 
1.7.4.1

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-01-25 17:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-20 10:53 [Qemu-devel] [PATCH v9 0/9] ARM: Samsung Exynos4210-based boards support Evgeny Voevodin
2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 1/9] ARM: exynos4210: IRQ subsystem support Evgeny Voevodin
2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 2/9] ARM: Samsung exynos4210-based boards emulation Evgeny Voevodin
2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 3/9] ARM: exynos4210: UART support Evgeny Voevodin
2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 4/9] ARM: exynos4210: PWM support Evgeny Voevodin
2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 5/9] ARM: exynos4210: Added PMU register model Evgeny Voevodin
2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 6/9] ARM: exynos4210: MCT support Evgeny Voevodin
2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 7/9] hw/lan9118: Add basic 16-bit mode support Evgeny Voevodin
2012-01-25 16:35   ` Peter Maydell
2012-01-25 17:04     ` Andreas Färber
2012-01-25 17:20       ` Peter Maydell
2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 8/9] hw/exynos4210.c: Add LAN support for SMDKC210 Evgeny Voevodin
2012-01-20 10:53 ` [Qemu-devel] [PATCH v9 9/9] Exynos4210: added display controller implementation Evgeny Voevodin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.