Difference between revisions of "Supported Architectures"

From gem5
Jump to: navigation, search
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
M5 is a flexible architecture simulator that supports a number of ISAs and operating systems for both full-system simulation (booting an entire operating system) and syscall emulation (running one or more applications by emulating syscalls). A complete list of supported combinations is listed below.  
+
gem5 is a flexible architecture simulator that supports a number of ISAs and operating systems for both full-system simulation (booting an entire operating system) and syscall emulation (running one or more applications by emulating syscalls). An overview of the architecture support is given in the table below.
  
 
+
{| class="wikitable"
== Syscall Emulation ==
+
! ISA
Modifying M5 to support additional ISAs in syscall emulation mode is far easier than for full-system simulation. As such all new architectures to-date have used syscall emulation as a stepping stone to full-system simulation.
+
! Maintainer
 
+
! Level of ISA support
*'''ALPHA''' -- Tru64, Linux
+
! Full-system OS support
*'''SPARC''' -- Linux, Solaris
+
! Test coverage
*'''MIPS''' -- Linux
+
! Tool chain availability
*'''ARM''' -- Significant support, actively being worked on
+
! Linux kernel availability
*'''x86''' -- Linux
+
|-
 
+
| ALPHA
 
+
| style="background: LightCoral" | None
''Note:'' Newer versions of Solaris do not support static linking so Solaris syscall emulation isn't used. Implementation of a dynamic linker in M5 (or M5 executing ld.so) is possible, but it hasn't been implemented.
+
| style="background: LightGreen" | High
 
+
| style="background: Khaki" | Linux
== Full-System Simulation ==
+
| style="background: Khaki" | Medium
*'''ALPHA''' -- Linux, FreeBSD
+
| style="background: LightCoral" | Low
*'''SPARC''' -- Solaris
+
| style="background: LightCoral" | Low
*'''MIPS''' -- Linux and bare metal support started
+
|-
*'''ARM''' -- None, but support for Linux planned
+
| ARM
*'''x86/64''' -- In progress, actively being worked on
+
| style="background: LightGreen" | Andreas Sandberg
 +
| style="background: LightGreen" | High
 +
| style="background: LightGreen" | Linux, BSD, Android
 +
| style="background: LightGreen" | High
 +
| style="background: LightGreen" | High
 +
| style="background: LightGreen" | High
 +
|-
 +
| MIPS
 +
| style="background: LightCoral" | None
 +
| style="background: LightCoral" | Low
 +
| style="background: LightCoral" | None
 +
| style="background: LightCoral" | Low
 +
| style="background: Khaki" | Medium
 +
| style="background: Khaki" | Medium
 +
|-
 +
| POWER
 +
| style="background: LightCoral" | None
 +
| style="background: LightCoral" | Low
 +
| style="background: LightCoral" | None
 +
| style="background: LightCoral" | Low
 +
| style="background: Khaki" | Medium
 +
| style="background: Khaki" | Medium
 +
|-
 +
| RISC-V
 +
| style="background: LightGreen" | Alec Roelke
 +
| style="background: Khaki" | Medium
 +
| style="background: LightCoral" | None
 +
| style="background: LightCoral" | Low
 +
| style="background: Khaki" | Medium
 +
| style="background: Khaki" | Medium
 +
|-
 +
| SPARC
 +
| style="background: LightGreen" | Gabe Black
 +
| style="background: LightCoral" | Low
 +
| style="background: LightCoral" | None
 +
| style="background: LightCoral" | Low
 +
| style="background: LightCoral" | Low
 +
| style="background: LightCoral" | Low
 +
|-
 +
| X86
 +
| style="background: LightGreen" | Gabe Black
 +
| style="background: Khaki" | Medium
 +
| style="background: Khaki" | Linux, BSD
 +
| style="background: Khaki" | Medium
 +
| style="background: LightGreen" | High
 +
| style="background: LightGreen" | High
 +
|}

Latest revision as of 16:46, 18 April 2017

gem5 is a flexible architecture simulator that supports a number of ISAs and operating systems for both full-system simulation (booting an entire operating system) and syscall emulation (running one or more applications by emulating syscalls). An overview of the architecture support is given in the table below.

ISA Maintainer Level of ISA support Full-system OS support Test coverage Tool chain availability Linux kernel availability
ALPHA None High Linux Medium Low Low
ARM Andreas Sandberg High Linux, BSD, Android High High High
MIPS None Low None Low Medium Medium
POWER None Low None Low Medium Medium
RISC-V Alec Roelke Medium None Low Medium Medium
SPARC Gabe Black Low None Low Low Low
X86 Gabe Black Medium Linux, BSD Medium High High