38e8059ce9
For Linux kernel, the UART driver will disable IER.THRE. But for Windows, it will keep IER.THRE turn on then cause interrupt storm. From pc16550d UART spec, INTR PIN description: "Interrupt. This pin goes high whenever any one of the following interrupt types has an active high condition and is enabled through the IER Receiver Error Flag; Received Data Available timeout (FIFO Mode only); Transmitter Holding Register Empty; and MODEM Status. The INTR signal is reset low upon the appropriate interrupt service or a Master Reset operation." And Interrupt Reset Control of Transmitter Holding Register Empty Interrupt description: "Reading the IIR Register (if source of interrupt) or Writing into the Transmitter Holding Register" The datasheet hasn't describe very clear if the THRE interrupt will be re-generate after "Reading the IIR Register". We assume it will not do that, so the THRE interrupt only generate when THR turn to empty. This patch follows above assumption to resolve the interrupt storm cause WaaG boot failed issue. Tracked-On: #2713 Signed-off-by: Yuan Liu <yuan1.liu@intel.com> Acked-by: Yu Wang <yu1.wang@intel.com> |
||
---|---|---|
.. | ||
arch/x86 | ||
bios | ||
core | ||
hw | ||
include | ||
lib | ||
samples | ||
vmcfg | ||
MAINTAINERS | ||
Makefile | ||
README.rst |
README.rst
ACRN Device Model ################# Introduction ============ The ACRN Device Model provides **device sharing** capabilities between the Service OS and Guest OSs. It is a component that is used in conjunction with the `ACRN Hypervisor`_ and this is installed within the Service OS. You can find out more about Project ACRN on the `Project ACRN documentation`_ website. .. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor .. _`Project ACRN documentation`: https://projectacrn.github.io/