• P
    hw/mips: MIPS Boston board support · d3473e14
    Paul Burton 提交于
    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: NPaul Burton <paul.burton@imgtec.com>
    Reviewed-by: NYongbok 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]
    Signed-off-by: NYongbok Kim <yongbok.kim@imgtec.com>
    d3473e14
boston.c 18.4 KB