@node recommendations_cpu_models_MIPS
@section Supported CPU model configurations on MIPS hosts

QEMU supports variety of MIPS CPU models:

@menu
* cpu_models_MIPS32::               Supported CPU models for MIPS32 hosts
* cpu_models_MIPS64::               Supported CPU models for MIPS64 hosts
* cpu_models_nanoMIPS::             Supported CPU models for nanoMIPS hosts
* preferred_cpu_models_MIPS::       Preferred CPU models for MIPS hosts
@end menu

@node cpu_models_MIPS32
@subsection Supported CPU models for MIPS32 hosts

The following CPU models are supported for use on MIPS32 hosts. Administrators /
applications are recommended to use the CPU model that matches the generation
of the host CPUs in use. In a deployment with a mixture of host CPU models
between machines, if live migration compatibility is required, use the newest
CPU model that is compatible across all desired hosts.

@table @option
@item @code{mips32r6-generic}

MIPS32 Processor (Release 6, 2015)


@item @code{P5600}

MIPS32 Processor (P5600, 2014)


@item @code{M14K}
@item @code{M14Kc}

MIPS32 Processor (M14K, 2009)


@item @code{74Kf}

MIPS32 Processor (74K, 2007)


@item @code{34Kf}

MIPS32 Processor (34K, 2006)


@item @code{24Kc}
@item @code{24KEc}
@item @code{24Kf}

MIPS32 Processor (24K, 2003)


@item @code{4Kc}
@item @code{4Km}
@item @code{4KEcR1}
@item @code{4KEmR1}
@item @code{4KEc}
@item @code{4KEm}

MIPS32 Processor (4K, 1999)
@end table

@node cpu_models_MIPS64
@subsection Supported CPU models for MIPS64 hosts

The following CPU models are supported for use on MIPS64 hosts. Administrators /
applications are recommended to use the CPU model that matches the generation
of the host CPUs in use. In a deployment with a mixture of host CPU models
between machines, if live migration compatibility is required, use the newest
CPU model that is compatible across all desired hosts.

@table @option
@item @code{I6400}

MIPS64 Processor (Release 6, 2014)


@item @code{Loongson-2F}

MIPS64 Processor (Loongson 2, 2008)


@item @code{Loongson-2E}

MIPS64 Processor (Loongson 2, 2006)


@item @code{mips64dspr2}

MIPS64 Processor (Release 2, 2006)


@item @code{MIPS64R2-generic}
@item @code{5KEc}
@item @code{5KEf}

MIPS64 Processor (Release 2, 2002)


@item @code{20Kc}

MIPS64 Processor (20K, 2000)


@item @code{5Kc}
@item @code{5Kf}

MIPS64 Processor (5K, 1999)


@item @code{VR5432}

MIPS64 Processor (VR, 1998)


@item @code{R4000}

MIPS64 Processor (MIPS III, 1991)
@end table

@node cpu_models_nanoMIPS
@subsection Supported CPU models for nanoMIPS hosts

The following CPU models are supported for use on nanoMIPS hosts. Administrators /
applications are recommended to use the CPU model that matches the generation
of the host CPUs in use. In a deployment with a mixture of host CPU models
between machines, if live migration compatibility is required, use the newest
CPU model that is compatible across all desired hosts.

@table @option
@item @code{I7200}

MIPS I7200 (nanoMIPS, 2018)

@end table

@node preferred_cpu_models_MIPS
@subsection Preferred CPU models for MIPS hosts

The following CPU models are preferred for use on different MIPS hosts:

@table @option
@item @code{MIPS III}
R4000

@item @code{MIPS32R2}
34Kf

@item @code{MIPS64R6}
I6400

@item @code{nanoMIPS}
I7200
@end table
