作者 | 日期 |
---|---|
将狼才鲸 | 2021-11-12 |
所属的Gitee源码和工程地址:才鲸嵌入式 / 开源安防摄像机(嵌入式软件)
QEMU官方文档
《Welcome to QEMU’s documentation!》
QEMU支持的开发板详细信息在源码的docs/system下各个文档中
安装git,并 clone qemu代码,代码地址:
《Gitee 极速下载 / qemu》
QEMU源码中不包含任何开发板的可执行文件,需要针对不同的开发板用不同的编译工具生成可执行文件后再进行测试
QEMU有个缺点就是没有实现任何芯片的2D显示加速、视频编解码(芯片中显卡模块的功能),可能是CPU仿这类并行计算的硬件意义不大,应该会非常慢,反而还没有直接写显存来的快,唯一的例外就是树莓派,树莓派支持上述功能。
QEMU默认支持以下架构的CPU:
target-arm
target-avr
target-m68k
target-mips
target-ppc
target-riscv
target-rx
target-s390x
target-sparc
target-sparc64
target-i386
target-xtensa
针对开发板的音视频编解码,显示加速暂不能模拟(要测试音视频可以将代码做成兼容跨平台的,在Linux或者Windows下直接调用硬件编解码器进行测试)。
以下表格不包含Intel和AMD等通用设备或者使用很少的MCU,只包含特定厂商的某一款特定开发板:
开发板 | 芯片 | 架构 | 核心 | 支持的模块 | 未实现的模块 | 编译工具 | 厂商 | 行业 |
---|---|---|---|---|---|---|---|---|
stm32vldiscovery | STM32F100RBT6 | arm | Cortex-M3 | * ARM Cortex-M3, Cortex M4F * Analog to Digital Converter (ADC) * EXTI interrupt * Serial ports (USART) * SPI controller * System configuration (SYSCFG) * Timer controller (TIMER) |
* Camera interface (DCMI) * Controller Area Network (CAN) * Cycle Redundancy Check (CRC) calculation unit * Digital to Analog Converter (DAC) * DMA controller * Ethernet controller * Flash Interface Unit * GPIO controller * I2C controller * Inter-Integrated Sound (I2S) controller * Power supply configuration (PWR) * Random Number Generator (RNG) * Real-Time Clock (RTC) controller * Reset and Clock Controller (RCC) * Secure Digital Input/Output (SDIO) interface * USB OTG * Watchdog controller (IWDG, WWDG) |
Atollic TrueSTUDIO | ST | 实验用的小板 |
netduino2 | STM32F205RFT6 | arm | Cortex-M3 | 同上 | 同上 | vs2019 + Micro .net Framework SDK + Netduino SDK + C#语言编程 | ST | 类似Arduino |
netduinoplus2 | STM32F405RGT6 | arm | Cortex-M4F | 同上 | 同上 | 同上 | ST | 同上 |
imx25-pdk | i.MX25 | arm | ARM926 | - SD controller - AVIC - CCM - GPT - EPIT timers - FEC - RNGC - I2C - GPIO controllers - Watchdog timer - USB controllers |
/ | IAR Embedded Workbench for Arm—C/C++ compiler & debugger tools | NXP | 消费类和工业类 |
Xilinx Versal Virt | 虚拟设备 | arm | Cortex-A72 * 2 | - Interrupt controller (ARM GICv3) - 2 UARTs (ARM PL011) - An RTC (Versal built-in) - 2 GEMs (Cadence MACB Ethernet MACs) - 8 ADMA (Xilinx zDMA) channels - 2 SD Controllers - OCM (256KB of On Chip Memory) - XRAM (4MB of on chip Accelerator RAM) - DDR memory |
does not yet model any other devices, including the PL and the AI Engine. | Linux + 交叉编译gcc,或者vivado | Xilinx | ARM+FPGA |
Cubietech Cubieboard | 全志A10 | arm | Cortex-A8 | - Timer - UART - RTC - EMAC - SDHCI - USB controller - SATA controller |
/ | sun-java6-jdk,安卓 | Cubietech 和全志科技 | 类似树莓派 |
Orange Pi PC | 全志H3 | arm | Cortex-A7 * 4 | * SMP (Quad Core Cortex-A7) * Generic Interrupt Controller configuration * SRAM mappings * SDRAM controller * Real Time Clock * Timer device (re-used from Allwinner A10) * UART * SD/MMC storage controller * EMAC ethernet * USB 2.0 interfaces * Clock Control Unit * System Control module * Security Identifier device |
- Graphical output via HDMI, GPU and/or the Display Engine - Audio output - Hardware Watchdog |
Linux + 交叉编译gcc | 全志科技 | 类似树莓派 |
Palm Tungsten_E PDA | OMAP310 | arm | ARM925T | - Texas Instruments OMAP310 System-on-chip (ARM925T core) - ROM and RAM memories (ROM firmware image can be loaded with -option-rom) - On-chip LCD controller - On-chip Real Time Clock - TI TSC2102i touchscreen controller / analog-digital converter / Audio CODEC, connected through MicroWire and I2S busses - GPIO-connected matrix keypad - Secure Digital card connected to OMAP MMC/SD host - Three on-chip UARTs |
/ | TI | 电纸书 PDA,带显示和音频解码 | |
Raspberry Pi boards | raspi0 raspi1ap raspi2b raspi3ap raspi3b | arm | ARM1176JZF-S Cortex-A7 Cortex-A53 | * ARM1176JZF-S, Cortex-A7 or Cortex-A53 CPU * Interrupt controller * DMA controller * Clock and reset controller (CPRMAN) * System Timer * GPIO controller * Serial ports (BCM2835 AUX - 16550 based - and PL011) * Random Number Generator (RNG) * Frame Buffer * USB host (USBH) * GPIO controller * SD/MMC host controller * SoC thermal sensor * USB2 host controller (DWC2 and MPHI) * MailBox controller (MBOX) * VideoCore firmware (property) |
* Peripheral SPI controller (SPI) * Analog to Digital Converter (ADC) * Pulse Width Modulation (PWM) |
/ | 树莓派 | 微型电脑 |
Arm Realview boards | realview-eb realview-eb-mpcore realview-pb-a8 realview-pbx-a9 | arm | / | - ARM926E, ARM1136, ARM11MPCore, Cortex-A8 or Cortex-A9 MPCore CPU - Arm AMBA Generic/Distributed Interrupt Controller - Four PL011 UARTs - SMC 91c111 or SMSC LAN9118 Ethernet adapter - PL110 LCD controller - PL050 KMI with PS/2 keyboard and mouse - PCI host bridge - PCI OHCI USB controller - LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM devices - PL181 MultiMedia Card Interface with SD card. |
/ | RealView MDK,Linux | ARM | arm官方开发板 |
Boundary Devices SABRE Lite | i.MX6 | arm | / | * Up to 4 Cortex-A9 cores * Generic Interrupt Controller * 1 Clock Controller Module * 1 System Reset Controller * 5 UARTs * 2 EPIC timers * 1 GPT timer * 2 Watchdog timers * 1 FEC Ethernet controller * 3 I2C controllers * 7 GPIO controllers * 4 SDHC storage controllers * 4 USB 2.0 host controllers * 5 ECSPI controllers * 1 SST 25VF016B flash |
/ | Linux | NXP, 飞思卡尔 | / |
Siemens SX1 | OMAP310 | arm | ARM925T | - Texas Instruments OMAP310 System-on-chip (ARM925T core) - ROM and RAM memories (ROM firmware image can be loaded with -pflash) V1 1 Flash of 16MB and 1 Flash of 8MB V2 1 Flash of 32MB - On-chip LCD controller - On-chip Real Time Clock - Secure Digital card connected to OMAP MMC/SD host - Three on-chip UARTs |
/ | / | TI | / |
还有大概一半的设备,因为芯片不常用或者和嵌入式无关,我就没有列出来了,感兴趣的直接去qemu源码docs/system/目录中的文档进行翻阅
qemu的仿真主循环位于cpu-exec.c:cpu_exec函数中
参考网址:
target-arm
target-avr
target-m68k
target-mips
target-ppc
target-riscv
target-rx
target-s390x
target-sparc
target-sparc64
target-i386
target-xtensa
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.
mips32r6-generic
MIPS32 Processor (Release 6, 2015)
P5600
MIPS32 Processor (P5600, 2014)
M14K
, M14Kc
MIPS32 Processor (M14K, 2009)
74Kf
MIPS32 Processor (74K, 2007)
34Kf
MIPS32 Processor (34K, 2006)
24Kc
, 24KEc
, 24Kf
MIPS32 Processor (24K, 2003)
4Kc
, 4Km
, 4KEcR1
, 4KEmR1
, 4KEc
, 4KEm
MIPS32 Processor (4K, 1999)
Supported CPU models for MIPS64 hosts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I6400
MIPS64 Processor (Release 6, 2014)
Loongson-2E
MIPS64 Processor (Loongson 2, 2006)
Loongson-2F
MIPS64 Processor (Loongson 2, 2008)
Loongson-3A1000
MIPS64 Processor (Loongson 3, 2010)
Loongson-3A4000
MIPS64 Processor (Loongson 3, 2018)
mips64dspr2
MIPS64 Processor (Release 2, 2006)
MIPS64R2-generic
, 5KEc
, 5KEf
MIPS64 Processor (Release 2, 2002)
20Kc
MIPS64 Processor (20K, 2000
5Kc
, 5Kf
MIPS64 Processor (5K, 1999)
VR5432
MIPS64 Processor (VR, 1998)
R4000
MIPS64 Processor (MIPS III, 1991)
Supported CPU models for nanoMIPS hosts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I7200
MIPS I7200 (nanoMIPS, 2018)
Preferred CPU models for MIPS hosts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The following CPU models are preferred for use on different MIPS hosts:
MIPS III
R4000
MIPS32R2
34Kf
MIPS64R6
I6400
nanoMIPS
I7200
EPYC
, EPYC-IBPB
AMD EPYC Processor (2017)
Opteron_G5
AMD Opteron 63xx class CPU (2012)
Opteron_G4
AMD Opteron 62xx class CPU (2011)
Opteron_G3
AMD Opteron 23xx (Gen 3 Class Opteron, 2009)
Opteron_G2
AMD Opteron 22xx (Gen 2 Class Opteron, 2006)
Opteron_G1
AMD Opteron 240 (Gen 1 Class Opteron, 2004)
Important CPU features for AMD x86 hosts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Xtensa emulator pseudo board “sim”
Avnet LX60/LX110/LX200 board
A range of Xtensa CPUs, default is the DC232B
Console and filesystem access via semihosting calls
The Avnet LX60/LX110/LX200 emulation supports:
A range of Xtensa CPUs, default is the DC232B
16550 UART
OpenCores 10/100 Mbps Ethernet MAC
UltraSparc IIi APB PCI Bridge
PCI VGA compatible card with VESA Bochs Extensions
PS/2 mouse and keyboard
Non Volatile RAM M48T59
PC-compatible serial ports
2 PCI IDE interfaces with hard disk and CD-ROM support
Floppy disk
SPARCstation 4
SPARCstation 5
SPARCstation 10
SPARCstation 20
SPARCserver 600MP
SPARCstation LX
SPARCstation Voyager
SPARCclassic
SPARCbook
QEMU emulates the following sun4m peripherals:
IOMMU
TCX or cgthree Frame buffer
Lance (Am7990) Ethernet
Non Volatile RAM M48T02/M48T08
Slave I/O: timers, interrupt controllers, Zilog serial ports,
keyboard and power/reset logic
ESP SCSI controller with hard disk and CD-ROM support
Floppy drive (not on SS-600MP)
CS4231 sound device (only on SS-5, not working yet)
… toctree::
s390x/vfio-ap
s390x/css
s390x/3270
s390x/vfio-ccw
Architectural features
… toctree::
s390x/bootdevices
s390x/protvirt
R5F562N8 MCU
External memory 16MByte
… toctree::
:maxdepth: 1
riscv/microchip-icicle-kit
riscv/shakti-c
riscv/sifive_u
riscv/virt
RISC-V CPU firmware
… toctree::
:maxdepth: 1
ppc/embedded
ppc/powermac
ppc/powernv
ppc/ppce500
ppc/prep
ppc/pseries
A range of MIPS CPUs, default is the 24Kf
PC style serial port
PC style IDE disk
NE2000 network card
The Malta emulation supports the following devices:
Core board with MIPS 24Kf CPU and Galileo system controller
PIIX4 PCI/USB/SMbus controller
The Multi-I/O chip’s serial device
PCI network cards (PCnet32 and others)
Malta FPGA serial device
Cirrus (default) or any other PCI VGA graphics card
The Boston board emulation supports the following devices:
Xilinx FPGA, which includes a PCIe root port and an UART
Intel EG20T PCH connects the I/O peripherals, but only the SATA bus
is emulated
The ACER Pica emulation supports:
MIPS R4000 CPU
PC-style IRQ and DMA controllers
PC Keyboard
IDE controller
The MIPS Magnum R4000 emulation supports:
MIPS R4000 CPU
PC-style IRQ controller
PC Keyboard
SCSI controller
G364 framebuffer
The Fuloong 2E emulation supports:
Loongson 2E CPU
Bonito64 system controller as North Bridge
VT82C686 chipset as South Bridge
RTL8139D as a network card chipset
The Loongson-3 virtual platform emulation supports:
Loongson 3A CPU
LIOINTC as interrupt controller
GPEX and virtio as peripheral devices
Both KVM and TCG supported
A range of MIPS CPUs, default is the 24Kf
PC style serial port
MIPSnet network emulation
nanoMIPS I7200 CPU
The M5208EVB emulation includes the following devices:
MCF5208 ColdFire V2 Microprocessor (ISA A+ with EMAC).
Three Two on-chip UARTs.
Fast Ethernet Controller (FEC)
The AN5206 emulation includes the following devices:
MCF5206 ColdFire V2 Microprocessor.
Two on-chip UARTs.
Continuous non interrupted execution::
qemu-system-avr -machine mega2560 -bios demo.elf
… toctree::
:maxdepth: 1
arm/integratorcp
arm/mps2
arm/musca
arm/realview
arm/sbsa
arm/versatile
arm/vexpress
arm/aspeed
arm/sabrelite
arm/digic
arm/cubieboard
arm/emcraft-sf2
arm/highbank
arm/musicpal
arm/gumstix
arm/mainstone
arm/kzm
arm/nrf
arm/nseries
arm/nuvoton
arm/imx25-pdk
arm/orangepi
arm/palm
arm/raspi
arm/xscale
arm/collie
arm/sx1
arm/stellaris
arm/stm32
arm/virt
arm/xlnx-versal-virt
The Sharp Zaurus are PDAs based on XScale, able to run Linux (‘SL series’).
The SL-6000 (“Tosa”), released in 2005, uses a PXA255 System-on-chip.
The SL-C3000 (“Spitz”), SL-C1000 (“Akita”), SL-C3100 (“Borzoi”) and
SL-C3200 (“Terrier”) use a PXA270.
The clamshell PDA models emulation includes the following peripherals:
Intel PXA255/PXA270 System-on-chip (ARMv5TE core)
NAND Flash memory - not in “Tosa”
IBM/Hitachi DSCM microdrive in a PXA PCMCIA slot - not in “Akita”
On-chip OHCI USB controller - not in “Tosa”
On-chip LCD controller
On-chip Real Time Clock
TI ADS7846 touchscreen controller on SSP bus
Maxim MAX1111 analog-digital converter on |I2C| bus
GPIO-connected keyboard controller and LEDs
Secure Digital card connected to PXA MMC/SD host
Three on-chip UARTs
WM8750 audio CODEC on |I2C| and |I2S| busses
Implemented CPU cores:
Implemented devices:
The virt board supports:
PCI/PCIe devices
Flash memory
One PL011 UART
An RTC
The fw_cfg device that allows a guest to obtain data from QEMU
A PL061 GPIO controller
An optional SMMUv3 IOMMU
hotpluggable DIMMs
hotpluggable NVDIMMs
An MSI controller (GICv2M or ITS). GICv2M is selected by default along
with GICv2. ITS is selected by default with GICv3 (>= virt-2.7). Note
that ITS is not modeled in TCG mode.
32 virtio-mmio transport devices
running guests using the KVM accelerator on aarch64 hardware
large amounts of RAM (at least 255GB, and more if using highmem)
many CPUs (up to 512 if using a GICv3 and highmem)
Secure-World-only devices if the CPU has TrustZone:
Supported guest CPU types:
cortex-a7
(32-bit)cortex-a15
(32-bit; the default)cortex-a53
(64-bit)cortex-a57
(64-bit)cortex-a72
(64-bit)a64fx
(64-bit)host
(with KVM only)max
(same as host
for KVM; best possible emulation with TCG)Implemented devices:
Unimplemented devices:
vexpress-a15
)ARM926E, ARM1136 or Cortex-A8 CPU
PL190 Vectored Interrupt Controller
Four PL011 UARTs
SMC 91c111 Ethernet adapter
PL110 LCD controller
PL050 KMI with PS/2 keyboard and mouse.
PCI host bridge. Note the emulated PCI bridge only provides access
to PCI memory space. It does not provide access to PCI IO space. This
means some devices (eg. ne2k_pci NIC) are not usable, and others (eg.
rtl8139 NIC) are only usable when the guest drivers use the memory
mapped control registers.
PCI OHCI USB controller.
LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM
devices.
PL181 MultiMedia Card Interface with SD card.
Texas Instruments OMAP310 System-on-chip (ARM925T core)
ROM and RAM memories (ROM firmware image can be loaded with
-pflash) V1 1 Flash of 16MB and 1 Flash of 8MB V2 1 Flash of 32MB
On-chip LCD controller
On-chip Real Time Clock
Secure Digital card connected to OMAP MMC/SD host
Three on-chip UARTs
The STM32F1 series is based on ARM Cortex-M3 core. The following machines are
based on this chip :
stm32vldiscovery
STM32VLDISCOVERY board with STM32F100RBT6 microcontrollerThe STM32F2 series is based on ARM Cortex-M3 core. The following machines are
based on this chip :
netduino2
Netduino 2 board with STM32F205RFT6 microcontrollerThe STM32F4 series is based on ARM Cortex-M4F core. This series is pin-to-pin
compatible with STM32F2 series. The following machines are based on this chip :
netduinoplus2
Netduino Plus 2 board with STM32F405RGT6 microcontrollerSupported devices
Missing devices
Cortex-M3 CPU core.
64k Flash and 8k SRAM.
Timers, UARTs, ADC and |I2C| interface.
OSRAM Pictiva 96x16 OLED with SSD0303 controller on
|I2C| bus.
The Luminary Micro Stellaris LM3S6965EVB emulation includes the
following devices:
Cortex-M3 CPU core.
256k Flash and 64k SRAM.
Timers, UARTs, ADC, |I2C| and SSI interfaces.
OSRAM Pictiva 128x64 OLED with SSD0323 controller connected via
SSI.
The sbsa-ref board supports:
The following devices are emulated:
ARM926E, ARM1136, ARM11MPCore, Cortex-A8 or Cortex-A9 MPCore CPU
Arm AMBA Generic/Distributed Interrupt Controller
Four PL011 UARTs
SMC 91c111 or SMSC LAN9118 Ethernet adapter
PL110 LCD controller
PL050 KMI with PS/2 keyboard and mouse
PCI host bridge
PCI OHCI USB controller
LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM
devices
PL181 MultiMedia Card Interface with SD card.
QEMU provides models of the following Raspberry Pi boards:
raspi0
and raspi1ap
ARM1176JZF-S core, 512 MiB of RAM
raspi2b
Cortex-A7 (4 cores), 1 GiB of RAM
raspi3ap
Cortex-A53 (4 cores), 512 MiB of RAM
raspi3b
Cortex-A53 (4 cores), 1 GiB of RAM
Implemented devices 已实现的设备
Texas Instruments OMAP310 System-on-chip (ARM925T core)
ROM and RAM memories (ROM firmware image can be loaded with
-option-rom)
On-chip LCD controller
On-chip Real Time Clock
TI TSC2102i touchscreen controller / analog-digital converter /
Audio CODEC, connected through MicroWire and |I2S| busses
GPIO-connected matrix keypad
Secure Digital card connected to OMAP MMC/SD host
Three on-chip UARTs
The Orange Pi PC machine supports the following devices:
npcm750-evb
Nuvoton NPCM750 Evaluation boardThe NPCM730 SoC has two Cortex-A9 cores and is targeted for Data Center and
Hyperscale applications. The following machines are based on this chip :
quanta-gbs-bmc
Quanta GBS server BMCquanta-gsj
Quanta GSJ server BMCkudo-bmc
Fii USA Kudo server BMCThere are also two more SoCs, NPCM710 and NPCM705, which are single-core
variants of NPCM750 and NPCM730, respectively. These are currently not
supported by QEMU.
Supported devices
Texas Instruments OMAP2420 System-on-chip (ARM1136 core)
RAM and non-volatile OneNAND Flash memories
Display connected to EPSON remote framebuffer chip and OMAP on-chip
display controller and a LS041y3 MIPI DBI-C controller
TI TSC2301 (in N800) and TI TSC2005 (in N810) touchscreen
controllers driven through SPI bus
National Semiconductor LM8323-controlled qwerty keyboard driven
through |I2C| bus
Secure Digital card connected to OMAP MMC/SD host
Three OMAP on-chip UARTs and on-chip STI debugging console
Mentor Graphics “Inventra” dual-role USB controller embedded in a
TI TUSB6010 chip - only USB host mode is supported
TI TMP105 temperature sensor driven through |I2C| bus
TI TWL92230C power management companion with an RTC on
|I2C| bus
Nokia RETU and TAHVO multi-purpose chips with an RTC, connected
through CBUS
Supported devices
Marvell MV88W8618 Arm core.
32 MB RAM, 256 KB SRAM, 8 MB flash.
Up to 2 16550 UARTs
MV88W8xx8 Ethernet controller
MV88W8618 audio controller, WM8750 CODEC and mixer
128x64 display with brightness control
2 buttons, 2 navigation wheels with button function
mps2-an385
Cortex-M3 as documented in Arm Application Note AN385
mps2-an386
Cortex-M4 as documented in Arm Application Note AN386
mps2-an500
Cortex-M7 as documented in Arm Application Note AN500
mps2-an505
Cortex-M33 as documented in Arm Application Note AN505
mps2-an511
Cortex-M3 ‘DesignStart’ as documented in Arm Application Note AN511
mps2-an521
Dual Cortex-M33 as documented in Arm Application Note AN521
mps3-an524
Dual Cortex-M33 on an MPS3, as documented in Arm Application Note AN524
mps3-an547
Cortex-M55 on an MPS3, as documented in Arm Application Note AN547
Differences between QEMU and real hardware:
which uses a PXA270 CPU.
Emulated devices:
Emulated devices:
The Arm Integrator/CP board is emulated with the following devices:
ARM926E, ARM1026E, ARM946E, ARM1136 or Cortex-A8 CPU
Two PL011 UARTs
SMC 91c111 Ethernet adapter
PL110 LCD controller
PL050 KMI with PS/2 keyboard and mouse.
PL181 MultiMedia Card Interface with SD card.
Emulated devices:
Emulated devices:
Implemented devices:
Emulated devices:
AST2400 SoC based machines :
palmetto-bmc
OpenPOWER Palmetto POWER8 BMCquanta-q71l-bmc
OpenBMC Quanta BMCAST2500 SoC based machines :
ast2500-evb
Aspeed AST2500 Evaluation boardromulus-bmc
OpenPOWER Romulus POWER9 BMCwitherspoon-bmc
OpenPOWER Witherspoon POWER9 BMCsonorapass-bmc
OCP SonoraPass BMCswift-bmc
OpenPOWER Swift BMC POWER9AST2600 SoC based machines :
ast2600-evb
Aspeed AST2600 Evaluation board (Cortex-A7)tacoma-bmc
OpenPOWER Witherspoon POWER9 AST2600 BMCSupported devices