qemu-e2k/default-configs
Paul Burton df1d8a1f29 hw/mips: MIPS Boston board support
Introduce support for emulating the MIPS Boston development board. The
Boston board is built around an FPGA & 3 PCIe controllers, one of which
is connected to an Intel EG20T Platform Controller Hub. It is used
during the development & debug of new CPUs and the software intended to
run on them, and is essentially the successor to the older MIPS Malta
board.

This patch does not implement the EG20T, instead connecting an already
supported ICH-9 AHCI controller. Whilst this isn't accurate it's enough
for typical stock Boston software (eg. Linux kernels) to work with hard
disks given that both the ICH-9 & EG20T implement the AHCI
specification.

Boston boards typically boot kernels in the FIT image format, and this
patch will treat kernels provided to QEMU as such. When loading a kernel
directly, the board code will generate minimal firmware much as the
Malta board code does. This firmware will set up the CM, CPC & GIC
register base addresses then set argument registers & jump to the kernel
entry point. Alternatively, bootloader code may be loaded using the bios
argument in which case no firmware will be generated & execution will
proceed from the start of the boot code at the default MIPS boot
exception vector (offset 0x1fc00000 into (c)kseg1).

Currently real Boston boards are always used with FPGA bitfiles that
include a Global Interrupt Controller (GIC), so the interrupt
configuration is only defined for such cases. Therefore the board will
only allow use of CPUs which implement the CPS components, including the
GIC, and will otherwise exit with a message.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Reviewed-by: Yongbok Kim <yongbok.kim@imgtec.com>
[yongbok.kim@imgtec.com:
  isolated boston machine support for mips64el.
  updated for recent Chardev changes.
  ignore missing bios/kernel for qtest.
  added default -drive to if=ide explicitly.
  changed default memory size into 1G due to make check failure
  on 32-bit hosts]
Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>
2017-02-24 10:37:21 +00:00
..
aarch64-linux-user.mak default-configs/aarch64-linux-user.mak: Remove unused define 2015-11-24 14:12:15 +00:00
aarch64-softmmu.mak hw/i2c-ddc.c: Implement DDC I2C slave 2016-06-14 15:59:15 +01:00
alpha-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
alpha-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
arm-linux-user.mak default-configs/: CONFIG_GDBSTUB_XML removed 2013-10-16 18:21:01 +02:00
arm-softmmu.mak hw/vfio: Add CONFIG switches for calxeda-xgmac and amd-xgbe 2017-02-10 13:12:03 -07:00
armeb-linux-user.mak default-configs/: CONFIG_GDBSTUB_XML removed 2013-10-16 18:21:01 +02:00
cris-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
cris-softmmu.mak hw: move NICs to hw/net/, configure via default-configs/ 2013-04-08 18:13:13 +02:00
hppa-linux-user.mak target-hppa: Add framework and enable compilation 2017-01-23 09:52:40 -08:00
i386-bsd-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
i386-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
i386-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
lm32-softmmu.mak configure: opengl overhaul 2015-03-12 15:49:57 +01:00
m68k-linux-user.mak default-configs/: CONFIG_GDBSTUB_XML removed 2013-10-16 18:21:01 +02:00
m68k-softmmu.mak m68k: Remove PCI and USB from config file 2017-01-14 10:06:21 +01:00
microblaze-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
microblaze-softmmu.mak hw: move SSI controllers to hw/ssi/, configure via default-configs/ 2013-04-08 18:13:13 +02:00
microblazeel-linux-user.mak microblaze: Correct copy+paste:o in defconfigs 2011-03-01 22:17:52 +01:00
microblazeel-softmmu.mak defconfigs: Piggyback microblazeel on microblaze 2015-04-30 16:05:48 +03:00
mips64-linux-user.mak linux-user: Add default configs for mips64[el] 2012-02-02 17:51:20 +02:00
mips64-softmmu.mak default-configs: add mips-softmmu-common.mak 2016-03-23 13:36:56 +00:00
mips64el-linux-user.mak linux-user: Add default configs for mips64[el] 2012-02-02 17:51:20 +02:00
mips64el-softmmu.mak hw/mips: MIPS Boston board support 2017-02-24 10:37:21 +00:00
mips-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
mips-softmmu-common.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
mips-softmmu.mak default-configs: add mips-softmmu-common.mak 2016-03-23 13:36:56 +00:00
mipsel-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
mipsel-softmmu.mak default-configs: add mips-softmmu-common.mak 2016-03-23 13:36:56 +00:00
mipsn32-linux-user.mak linux-user: Add default-configs for mipsn32[el] 2012-02-02 17:51:20 +02:00
mipsn32el-linux-user.mak linux-user: Add default-configs for mipsn32[el] 2012-02-02 17:51:20 +02:00
moxie-softmmu.mak Allow ISA bus to be configured out 2017-02-06 12:33:21 +11:00
nios2-linux-user.mak nios2: Add support for Nios-II R1 2017-01-24 13:10:36 -08:00
nios2-softmmu.mak nios2: Add support for Nios-II R1 2017-01-24 13:10:36 -08:00
or1k-linux-user.mak target/openrisc: Rename the cpu from or32 to or1k 2017-02-14 08:14:58 +11:00
or1k-softmmu.mak target/openrisc: Rename the cpu from or32 to or1k 2017-02-14 08:14:58 +11:00
pci.mak Allow ISA bus to be configured out 2017-02-06 12:33:21 +11:00
ppc64-linux-user.mak target-ppc: Enable Building of libdecnumber 2014-06-16 13:24:29 +02:00
ppc64-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
ppc64abi32-linux-user.mak target-ppc: Enable Building of libdecnumber 2014-06-16 13:24:29 +02:00
ppc64le-linux-user.mak target-ppc: Add a new user mode target for little-endian PPC64. 2014-06-16 13:24:40 +02:00
ppc-linux-user.mak target-ppc: Enable Building of libdecnumber 2014-06-16 13:24:29 +02:00
ppc-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
ppcemb-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
s390x-linux-user.mak s390x: build s390x by default 2011-05-20 17:35:12 +02:00
s390x-softmmu.mak s390x/watchdog: introduce diag288 watchdog device 2015-06-11 17:45:49 +02:00
sh4-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sh4-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
sh4eb-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sh4eb-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
sound.mak audio: Enable all cards 2013-05-03 12:04:49 -05:00
sparc32plus-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc64-bsd-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc64-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc64-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
sparc-bsd-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
sparc-softmmu.mak Allow ISA bus to be configured out 2017-02-06 12:33:21 +11:00
tilegx-linux-user.mak target-tilegx: Add TILE-Gx building files 2015-09-15 07:45:32 -07:00
tricore-softmmu.mak target-tricore: Add initialization for translation and activate target 2014-09-01 14:49:20 +01:00
unicore32-softmmu.mak Allow ISA bus to be configured out 2017-02-06 12:33:21 +11:00
usb.mak hw/usb: Include USB files only if necessary 2015-03-18 11:50:47 +01:00
x86_64-bsd-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
x86_64-linux-user.mak Add new config-devices.mak for each target 2009-10-08 21:17:10 -05:00
x86_64-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
xtensa-softmmu.mak xtensa_lx60: add FLASH support 2011-11-02 05:05:52 +04:00
xtensaeb-softmmu.mak xtensa_lx60: add FLASH support 2011-11-02 05:05:52 +04:00