[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v9 0/9] ARM: Samsung Exynos4210-based boards support
From: |
Evgeny Voevodin |
Subject: |
[Qemu-devel] [PATCH v9 0/9] ARM: Samsung Exynos4210-based boards support. |
Date: |
Fri, 20 Jan 2012 14:53:40 +0400 |
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
- [Qemu-devel] [PATCH v9 0/9] ARM: Samsung Exynos4210-based boards support.,
Evgeny Voevodin <=
- [Qemu-devel] [PATCH v9 2/9] ARM: Samsung exynos4210-based boards emulation, Evgeny Voevodin, 2012/01/20
- [Qemu-devel] [PATCH v9 5/9] ARM: exynos4210: Added PMU register model., Evgeny Voevodin, 2012/01/20
- [Qemu-devel] [PATCH v9 3/9] ARM: exynos4210: UART support, Evgeny Voevodin, 2012/01/20
- [Qemu-devel] [PATCH v9 8/9] hw/exynos4210.c: Add LAN support for SMDKC210., Evgeny Voevodin, 2012/01/20
- [Qemu-devel] [PATCH v9 4/9] ARM: exynos4210: PWM support., Evgeny Voevodin, 2012/01/20