On Mon, Jun 29, 2015 at 1:12 PM, Jean-Christophe Dubois <j...@tribudubois.net> wrote: > Use modified AVIC, CCM, UART, GPT, EPIT emultors. >
"emulators" > Tested by booting Linux one KZM emulator. > "on"? > Signed-off-by: Jean-Christophe Dubois <j...@tribudubois.net> > --- > > Changes since v1: > * not present on v1 > > Changes since v2: > * not present on v2 > > Changes since v3: > * not present on v3 > > Changes since v4: > * not present on v4 > > Changes since v5: > * not present on v5 > > Changes since v6: > * not present on v6 > > Changes since v7: > * update KZM target to use new emulators > > hw/arm/kzm.c | 86 > +++++++++++++++++++++++++++------------------------- > include/hw/arm/imx.h | 34 --------------------- > 2 files changed, 45 insertions(+), 75 deletions(-) > delete mode 100644 include/hw/arm/imx.h > > diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c > index 5be0369..485e745 100644 > --- a/hw/arm/kzm.c > +++ b/hw/arm/kzm.c > @@ -22,45 +22,49 @@ > #include "sysemu/sysemu.h" > #include "hw/boards.h" > #include "hw/char/serial.h" > -#include "hw/arm/imx.h" > - > - /* Memory map for Kzm Emulation Baseboard: > - * 0x00000000-0x00003fff 16k secure ROM IGNORED > - * 0x00004000-0x00407fff Reserved IGNORED > - * 0x00404000-0x00407fff ROM IGNORED > - * 0x00408000-0x0fffffff Reserved IGNORED > - * 0x10000000-0x1fffbfff RAM aliasing IGNORED > - * 0x1fffc000-0x1fffffff RAM EMULATED > - * 0x20000000-0x2fffffff Reserved IGNORED > - * 0x30000000-0x7fffffff I.MX31 Internal Register Space > - * 0x43f00000 IO_AREA0 > - * 0x43f90000 UART1 EMULATED > - * 0x43f94000 UART2 EMULATED > - * 0x68000000 AVIC EMULATED > - * 0x53f80000 CCM EMULATED > - * 0x53f94000 PIT 1 EMULATED > - * 0x53f98000 PIT 2 EMULATED > - * 0x53f90000 GPT EMULATED > - * 0x80000000-0x87ffffff RAM EMULATED > - * 0x88000000-0x8fffffff RAM Aliasing EMULATED > - * 0xa0000000-0xafffffff NAND Flash IGNORED > - * 0xb0000000-0xb3ffffff Unavailable IGNORED > - * 0xb4000000-0xb4000fff 8-bit free space IGNORED > - * 0xb4001000-0xb400100f Board control IGNORED > - * 0xb4001003 DIP switch > - * 0xb4001010-0xb400101f 7-segment LED IGNORED > - * 0xb4001020-0xb400102f LED IGNORED > - * 0xb4001030-0xb400103f LED IGNORED > - * 0xb4001040-0xb400104f FPGA, UART EMULATED > - * 0xb4001050-0xb400105f FPGA, UART EMULATED > - * 0xb4001060-0xb40fffff FPGA IGNORED > - * 0xb6000000-0xb61fffff LAN controller EMULATED > - * 0xb6200000-0xb62fffff FPGA NAND Controller IGNORED > - * 0xb6300000-0xb7ffffff Free IGNORED > - * 0xb8000000-0xb8004fff Memory control registers IGNORED > - * 0xc0000000-0xc3ffffff PCMCIA/CF IGNORED > - * 0xc4000000-0xffffffff Reserved IGNORED > - */ > +#include "hw/misc/imx_ccm.h" > +#include "hw/intc/imx_avic.h" > +#include "hw/timer/imx_epit.h" > +#include "hw/timer/imx_gpt.h" > +#include "hw/char/imx_serial.h" > + > +/* Memory map for Kzm Emulation Baseboard: > + * 0x00000000-0x00003fff 16k secure ROM IGNORED > + * 0x00004000-0x00407fff Reserved IGNORED > + * 0x00404000-0x00407fff ROM IGNORED > + * 0x00408000-0x0fffffff Reserved IGNORED > + * 0x10000000-0x1fffbfff RAM aliasing IGNORED > + * 0x1fffc000-0x1fffffff RAM EMULATED > + * 0x20000000-0x2fffffff Reserved IGNORED > + * 0x30000000-0x7fffffff I.MX31 Internal Register Space > + * 0x43f00000 IO_AREA0 > + * 0x43f90000 UART1 EMULATED > + * 0x43f94000 UART2 EMULATED > + * 0x68000000 AVIC EMULATED > + * 0x53f80000 CCM EMULATED > + * 0x53f94000 PIT 1 EMULATED > + * 0x53f98000 PIT 2 EMULATED > + * 0x53f90000 GPT EMULATED > + * 0x80000000-0x87ffffff RAM EMULATED > + * 0x88000000-0x8fffffff RAM Aliasing EMULATED > + * 0xa0000000-0xafffffff NAND Flash IGNORED > + * 0xb0000000-0xb3ffffff Unavailable IGNORED > + * 0xb4000000-0xb4000fff 8-bit free space IGNORED > + * 0xb4001000-0xb400100f Board control IGNORED > + * 0xb4001003 DIP switch > + * 0xb4001010-0xb400101f 7-segment LED IGNORED > + * 0xb4001020-0xb400102f LED IGNORED > + * 0xb4001030-0xb400103f LED IGNORED > + * 0xb4001040-0xb400104f FPGA, UART EMULATED > + * 0xb4001050-0xb400105f FPGA, UART EMULATED > + * 0xb4001060-0xb40fffff FPGA IGNORED > + * 0xb6000000-0xb61fffff LAN controller EMULATED > + * 0xb6200000-0xb62fffff FPGA NAND Controller IGNORED > + * 0xb6300000-0xb7ffffff Free IGNORED > + * 0xb8000000-0xb8004fff Memory control registers IGNORED > + * 0xc0000000-0xc3ffffff PCMCIA/CF IGNORED > + * 0xc4000000-0xffffffff Reserved IGNORED > + */ > Split off style sweep, although this one may be not worth it. Out of scope style changes do reduce the utility of git-blame so unless they are local to, or prepare for a functional change they are discouraged. Regards, Peter > #define KZM_RAMADDRESS (0x80000000) > #define KZM_FPGA (0xb4001040) > @@ -106,7 +110,7 @@ static void kzm_init(MachineState *machine) > memory_region_init_ram(sram, NULL, "kzm.sram", 0x4000, &error_abort); > memory_region_add_subregion(address_space_mem, 0x1FFFC000, sram); > > - dev = sysbus_create_varargs("imx_avic", 0x68000000, > + dev = sysbus_create_varargs(TYPE_IMX_AVIC, 0x68000000, > qdev_get_gpio_in(DEVICE(cpu), ARM_CPU_IRQ), > qdev_get_gpio_in(DEVICE(cpu), ARM_CPU_FIQ), > NULL); > @@ -114,7 +118,7 @@ static void kzm_init(MachineState *machine) > imx_serial_create(0, 0x43f90000, qdev_get_gpio_in(dev, 45)); > imx_serial_create(1, 0x43f94000, qdev_get_gpio_in(dev, 32)); > > - ccm = sysbus_create_simple("imx_ccm", 0x53f80000, NULL); > + ccm = sysbus_create_simple(TYPE_IMX_CCM, 0x53f80000, NULL); > > imx_timerp_create(0x53f94000, qdev_get_gpio_in(dev, 28), ccm); > imx_timerp_create(0x53f98000, qdev_get_gpio_in(dev, 27), ccm); > diff --git a/include/hw/arm/imx.h b/include/hw/arm/imx.h > deleted file mode 100644 > index ea9e093..0000000 > --- a/include/hw/arm/imx.h > +++ /dev/null > @@ -1,34 +0,0 @@ > -/* > - * i.MX31 emulation > - * > - * Copyright (C) 2012 Peter Chubb > - * NICTA > - * > - * This code is released under the GPL, version 2.0 or later > - * See the file `../COPYING' for details. > - */ > - > -#ifndef IMX_H > -#define IMX_H > - > -void imx_serial_create(int uart, const hwaddr addr, qemu_irq irq); > - > -typedef enum { > - NOCLK, > - MCU, > - HSP, > - IPG, > - CLK_32k > -} IMXClk; > - > -uint32_t imx_clock_frequency(DeviceState *s, IMXClk clock); > - > -void imx_timerp_create(const hwaddr addr, > - qemu_irq irq, > - DeviceState *ccm); > -void imx_timerg_create(const hwaddr addr, > - qemu_irq irq, > - DeviceState *ccm); > - > - > -#endif /* IMX_H */ > -- > 2.1.4 > >