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
alpha-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
arm-linux-user.mak
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
cris-linux-user.mak
cris-softmmu.mak
hppa-linux-user.mak target-hppa: Add framework and enable compilation 2017-01-23 09:52:40 -08:00
i386-bsd-user.mak
i386-linux-user.mak
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
m68k-softmmu.mak m68k: Remove PCI and USB from config file 2017-01-14 10:06:21 +01:00
microblaze-linux-user.mak
microblaze-softmmu.mak
microblazeel-linux-user.mak
microblazeel-softmmu.mak defconfigs: Piggyback microblazeel on microblaze 2015-04-30 16:05:48 +03:00
mips64-linux-user.mak
mips64-softmmu.mak default-configs: add mips-softmmu-common.mak 2016-03-23 13:36:56 +00:00
mips64el-linux-user.mak
mips64el-softmmu.mak hw/mips: MIPS Boston board support 2017-02-24 10:37:21 +00:00
mips-linux-user.mak
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
mipsel-softmmu.mak default-configs: add mips-softmmu-common.mak 2016-03-23 13:36:56 +00:00
mipsn32-linux-user.mak
mipsn32el-linux-user.mak
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
ppc64-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
ppc64abi32-linux-user.mak
ppc64le-linux-user.mak
ppc-linux-user.mak
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-softmmu.mak s390x/watchdog: introduce diag288 watchdog device 2015-06-11 17:45:49 +02:00
sh4-linux-user.mak
sh4-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
sh4eb-linux-user.mak
sh4eb-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
sound.mak
sparc32plus-linux-user.mak
sparc64-bsd-user.mak
sparc64-linux-user.mak
sparc64-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
sparc-bsd-user.mak
sparc-linux-user.mak
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
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
x86_64-linux-user.mak
x86_64-softmmu.mak Split serial-isa into its own config option 2017-02-06 12:33:21 +11:00
xtensa-softmmu.mak
xtensaeb-softmmu.mak