add support for allwinner A10 SoC with a cortex-a8 processor. and will add more devices later.
v2: split timer and interrupt controller emulation into their corresponding files. v3: 1. change loader_start address 2. add 64-bit counter 3. fixup fail to clear interrup status issue v4: 1. add VMSD 2. use defines of magic number for readability 3. code cleanup v5: 1. add VMSTATE_PTIMER_ARRAY 2. code cleanup v6: 1. fix a fiq lost issue pointed out by Peter Crosthwaite 2. code cleanup v7: model allwinner A10 as a SoC device, and add cubieboard. TODO: 1. add BROM support 2. add more devices test: can boot-up officially released linux kernel build with PLL disabled. reference: http://linux-sunxi.org/Main_Page Li Guang (5) vmstate: add VMSTATE_PTIMER_ARRAY hw/timer: add allwinner a10 timer hw/intc: add allwinner A10 interrupt controller hw/arm: add allwinner a10 SoC support hw/arm: add cubieboard support default-configs/arm-softmmu.mak | 2 + hw/arm/Makefile.objs | 4 +- hw/arm/allwinner-a10.c | 39 +++++++++++++++++++++++++++++++++++++++ hw/arm/cubieboard.c | 33 +++++++++++++++++++++++++++++++++ hw/intc/Makefile.objs | 1 + hw/intc/allwinner-a10_pic.c | 218 +++++++++++++++++++++++++++++++++++ hw/timer/Makefile.objs | 2 + hw/timer/allwinner-a10_pit.c | 253 ++++++++++++++++++++++++++++++++++ include/hw/arm/allwinner-a10.h | 27 +++++++++++++++++++++++++++ include/hw/intc/allwinner-a10_pic.h | 40 +++++++ include/hw/timer/allwinner-a10_pit.h | 57 ++++++++ include/migration/vmstate.h | 4 ++++ savevm.c | 31 +++++++++++++++++++++++++++++++ 13 files changed, 709 insertions(+), 2 deletions(-) create mode 100644 hw/timer/allwinner-a10_pit.c create mode 100644 include/hw/timer/allwinner-a10_pit.h create mode 100644 hw/intc/allwinner-a10_pic.c create mode 100644 include/hw/intc/allwinner-a10_pic.h create mode 100644 hw/arm/allwinner-a10.c create mode 100644 include/hw/arm/allwinner-a10.h create mode 100644 hw/arm/cubieboard.c