2019-01-23 09:56:00 +03:00
|
|
|
config MALTA
|
|
|
|
bool
|
2019-03-10 04:25:07 +03:00
|
|
|
select GT64120
|
2019-09-30 18:04:36 +03:00
|
|
|
select ISA_SUPERIO
|
2023-10-07 15:38:27 +03:00
|
|
|
select PIIX
|
2019-01-23 09:56:00 +03:00
|
|
|
|
|
|
|
config MIPSSIM
|
|
|
|
bool
|
2019-07-01 14:26:10 +03:00
|
|
|
select ISA_BUS
|
|
|
|
select SERIAL_ISA
|
|
|
|
select MIPSNET
|
2019-01-23 09:56:00 +03:00
|
|
|
|
|
|
|
config JAZZ
|
|
|
|
bool
|
2019-07-01 14:26:11 +03:00
|
|
|
select ISA_BUS
|
|
|
|
select RC4030
|
|
|
|
select I8259
|
|
|
|
select I8254
|
|
|
|
select I8257
|
|
|
|
select PCSPK
|
2021-12-07 01:45:25 +03:00
|
|
|
select VGA_MMIO
|
2019-07-01 14:26:11 +03:00
|
|
|
select G364FB
|
|
|
|
select DP8393X
|
|
|
|
select ESP
|
2021-06-14 22:32:19 +03:00
|
|
|
select FDC_SYSBUS
|
2019-07-01 14:26:11 +03:00
|
|
|
select MC146818RTC
|
|
|
|
select PCKBD
|
|
|
|
select SERIAL
|
|
|
|
select PARALLEL
|
|
|
|
select DS1225Y
|
|
|
|
select JAZZ_LED
|
2019-01-23 09:56:00 +03:00
|
|
|
|
2020-04-26 13:16:37 +03:00
|
|
|
config FULOONG
|
2019-01-23 09:56:00 +03:00
|
|
|
bool
|
2019-02-04 00:37:26 +03:00
|
|
|
select PCI_BONITO
|
2023-11-04 14:37:19 +03:00
|
|
|
select VT82C686
|
2019-01-23 09:56:00 +03:00
|
|
|
|
hw/mips: Add Loongson-3 machine support
Add Loongson-3 based machine support, it use liointc as the interrupt
controler and use GPEX as the pci controller. Currently it can work with
both TCG and KVM.
As the machine model is not based on any exiting physical hardware, the
name of the machine is "loongson3-virt". It may be superseded in future
by a real machine model. If this happens, then a regular deprecation
procedure shall occur for "loongson3-virt" machine.
We now already have a full functional Linux kernel (based on Linux-5.4.x
LTS) here:
https://github.com/chenhuacai/linux
Of course the upstream kernel is also usable (the kvm host side and
guest side have both been upstream in Linux-5.9):
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
How to use QEMU/Loongson-3?
1, Download kernel source from the above URL;
2, Build a kernel with arch/mips/configs/loongson3_defconfig;
3, Boot a Loongson-3A4000 host with this kernel (for KVM mode);
4, Build QEMU-master with this patchset;
5, modprobe kvm (only necessary for KVM mode);
6, Use QEMU with TCG:
qemu-system-mips64el -M loongson3-virt,accel=tcg -cpu Loongson-3A1000 -kernel <path_to_kernel> -append ...
Use QEMU with KVM:
qemu-system-mips64el -M loongson3-virt,accel=kvm -cpu Loongson-3A4000 -kernel <path_to_kernel> -append ...
The "-cpu" parameter is optional here and QEMU will use the correct type for TCG/KVM automatically.
Co-developed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Huacai Chen <chenhuacai@kernel.org>
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Message-Id: <20201221110538.3186646-5-chenhuacai@kernel.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
[PMD: Set TYPE_LOONGSON_MACHINE instance_size in TypeInfo,
select FW_CFG_MIPS in Kconfig]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2020-04-27 12:33:14 +03:00
|
|
|
config LOONGSON3V
|
|
|
|
bool
|
|
|
|
imply VIRTIO_VGA
|
|
|
|
imply QXL if SPICE
|
|
|
|
select SERIAL
|
|
|
|
select GOLDFISH_RTC
|
|
|
|
select LOONGSON_LIOINTC
|
|
|
|
select PCI_DEVICES
|
|
|
|
select PCI_EXPRESS_GENERIC_BRIDGE
|
|
|
|
select MSI_NONBROKEN
|
|
|
|
select FW_CFG_MIPS
|
2023-11-07 17:06:15 +03:00
|
|
|
select UNIMP
|
hw/mips: Add Loongson-3 machine support
Add Loongson-3 based machine support, it use liointc as the interrupt
controler and use GPEX as the pci controller. Currently it can work with
both TCG and KVM.
As the machine model is not based on any exiting physical hardware, the
name of the machine is "loongson3-virt". It may be superseded in future
by a real machine model. If this happens, then a regular deprecation
procedure shall occur for "loongson3-virt" machine.
We now already have a full functional Linux kernel (based on Linux-5.4.x
LTS) here:
https://github.com/chenhuacai/linux
Of course the upstream kernel is also usable (the kvm host side and
guest side have both been upstream in Linux-5.9):
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
How to use QEMU/Loongson-3?
1, Download kernel source from the above URL;
2, Build a kernel with arch/mips/configs/loongson3_defconfig;
3, Boot a Loongson-3A4000 host with this kernel (for KVM mode);
4, Build QEMU-master with this patchset;
5, modprobe kvm (only necessary for KVM mode);
6, Use QEMU with TCG:
qemu-system-mips64el -M loongson3-virt,accel=tcg -cpu Loongson-3A1000 -kernel <path_to_kernel> -append ...
Use QEMU with KVM:
qemu-system-mips64el -M loongson3-virt,accel=kvm -cpu Loongson-3A4000 -kernel <path_to_kernel> -append ...
The "-cpu" parameter is optional here and QEMU will use the correct type for TCG/KVM automatically.
Co-developed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Huacai Chen <chenhuacai@kernel.org>
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Message-Id: <20201221110538.3186646-5-chenhuacai@kernel.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
[PMD: Set TYPE_LOONGSON_MACHINE instance_size in TypeInfo,
select FW_CFG_MIPS in Kconfig]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2020-04-27 12:33:14 +03:00
|
|
|
|
2019-01-23 09:56:00 +03:00
|
|
|
config MIPS_CPS
|
|
|
|
bool
|
2019-01-23 09:56:12 +03:00
|
|
|
select PTIMER
|
2019-03-10 04:07:58 +03:00
|
|
|
select MIPS_ITU
|
2019-01-23 09:56:00 +03:00
|
|
|
|
|
|
|
config MIPS_BOSTON
|
|
|
|
bool
|
2019-02-03 23:24:10 +03:00
|
|
|
select FITLOADER
|
|
|
|
select MIPS_CPS
|
|
|
|
select PCI_EXPRESS_XILINX
|
|
|
|
select AHCI_ICH9
|
|
|
|
select SERIAL
|
2020-09-22 05:49:25 +03:00
|
|
|
|
|
|
|
config FW_CFG_MIPS
|
|
|
|
bool
|