qemu-devel.nongnu.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).