Message ID | d4cc3ac905e6b22b5fcd33fb0ec4ef5a1dfa2ada.1435595414.git.jcd@tribudubois.net |
---|---|
State | New |
Headers | show |
On Mon, Jun 29, 2015 at 1:12 PM, Jean-Christophe Dubois <jcd@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 <jcd@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 > >
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 + */ #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 */
Use modified AVIC, CCM, UART, GPT, EPIT emultors. Tested by booting Linux one KZM emulator. Signed-off-by: Jean-Christophe Dubois <jcd@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