.. _qemu_x86: X86 Emulation (QEMU) #################### Overview ******** The Zephyr Kernel uses the qemu_x86 board configuration to emulate pentium-class systems running on QEMU. It provides support for an x86 Minute IA CPU and the following devices: * HPET * Advanced Programmable Interrupt Controller (APIC) * NS16550 UART .. note:: This board configuration makes no claims about its suitability for use with actual galileo hardware, or any other hardware. The qemu_x86 board configuration has been tested on QEMU 2.1. Supported Features ****************** The qemu_x86 board configuration supports the following hardware features: +--------------+------------+-----------------------+ | Interface | Controller | Driver/Component | +==============+============+=======================+ | HPET | on-chip | system clock | +--------------+------------+-----------------------+ | APIC | on-chip | interrupt controller | +--------------+------------+-----------------------+ | NS16550 | on-chip | serial port | | UART | | | +--------------+------------+-----------------------+ The kernel currently does not support other hardware features on this platform. HPET System Clock Support ========================= The qemu_x86 board configuration uses an HPET clock frequency of 25 MHz. Serial Port =========== The qemu_x86 board configuration uses a single serial communication channel that uses the NS16550 serial driver operating in polling mode. To override, enable the UART_INTERRUPT_DRIVEN Kconfig option, which allows the system to be interrupt-driven. Known Problems or Limitations ***************************** The following platform features are unsupported: * Isolated Memory Regions * Serial port in Direct Memory Access (DMA) mode * Serial Peripheral Interface (SPI) flash * General-Purpose Input/Output (GPIO) * Inter-Integrated Circuit (I2C) * Ethernet * Supervisor Mode Execution Protection (SMEP)