2017-01-15 05:58:20 +08:00
|
|
|
.. _qemu_x86:
|
|
|
|
|
|
|
|
X86 Emulation (QEMU)
|
|
|
|
####################
|
|
|
|
|
|
|
|
Overview
|
2017-01-21 07:58:05 +08:00
|
|
|
********
|
2017-01-15 05:58:20 +08:00
|
|
|
|
2017-06-13 05:30:03 +08:00
|
|
|
The Zephyr Kernel uses the qemu_x86 board configuration to emulate Pentium-class
|
2017-01-15 05:58:20 +08:00
|
|
|
systems running on QEMU.
|
|
|
|
This board configuration provides support for an x86 Minute IA CPU and the
|
|
|
|
following devices:
|
|
|
|
|
|
|
|
* HPET
|
|
|
|
* Advanced Programmable Interrupt Controller (APIC)
|
|
|
|
* NS16550 UART
|
|
|
|
|
|
|
|
|
|
|
|
Hardware
|
2017-01-21 07:58:05 +08:00
|
|
|
********
|
2017-01-15 05:58:20 +08:00
|
|
|
|
|
|
|
Supported Features
|
2017-01-21 07:58:05 +08:00
|
|
|
==================
|
2017-01-15 05:58:20 +08:00
|
|
|
|
|
|
|
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 | | |
|
|
|
|
+--------------+------------+-----------------------+
|
|
|
|
|
|
|
|
Devices
|
2017-01-21 07:58:05 +08:00
|
|
|
=======
|
2017-01-15 05:58:20 +08:00
|
|
|
|
|
|
|
HPET System Clock Support
|
2017-01-21 07:58:05 +08:00
|
|
|
-------------------------
|
2017-01-15 05:58:20 +08:00
|
|
|
|
|
|
|
The qemu_x86 board configuration uses an HPET clock frequency of 25 MHz.
|
|
|
|
|
|
|
|
Serial Port
|
2017-01-21 07:58:05 +08:00
|
|
|
-----------
|
2017-01-15 05:58:20 +08:00
|
|
|
|
|
|
|
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
|
2017-01-21 07:58:05 +08:00
|
|
|
=============================
|
2017-01-15 05:58:20 +08:00
|
|
|
|
|
|
|
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)
|