acrn-hypervisor/hypervisor
Shuo A Liu 7602304692 hv: Fix thread status mess if wake_thread() happens in transition stage
2abbb99f6a ("hv: make thread status more accurate") introduced a
transition stage, marked as var be_blocking, between RUNNING->BLOCKED
of thread status. wake_thread() does not work in this transition stage
because it only checks thread->status.

Need to check thread->be_blocking as well in wake_thread(). When
wake_thread() happens in the transition stage, the previous sleep
operation rolled back.

Tracked-On: #5190
Fixes: 2abbb99f6a ("hv: make thread status more accurate")
Signed-off-by: Conghui Chen <conghui.chen@intel.com>
Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com>
2020-08-20 10:32:31 +08:00
..
acpi_parser hv: Change to a permissive check with broken DMAR table 2020-06-30 13:59:38 +08:00
arch/x86 hv: implement ivshmem memory regions initialization 2020-08-19 15:06:15 +08:00
boot HV: Make: enable build for new configs layout 2020-07-24 16:16:06 +08:00
bsp/ld HV: add a specific stack space used in CPU booting 2020-04-29 13:56:40 +08:00
common hv: Fix thread status mess if wake_thread() happens in transition stage 2020-08-20 10:32:31 +08:00
debug hv:use spinlock_irqsave_obtain api for uart 2020-07-03 17:41:17 +08:00
dm hv: change log level for find_match_mmio_node 2020-08-19 15:06:15 +08:00
hw HV: vdev passthough hidding SRIOV 2020-07-16 17:27:18 +08:00
include hv: implement ivshmem device-specific registers emulation 2020-08-19 15:06:15 +08:00
lib HV: replace merge_cmdline api with strncat_s 2020-06-08 13:30:04 +08:00
release HV: makefile: to avoid duplicated build libs 2020-05-21 15:12:21 +08:00
scripts Makefile: modify the realpath to abspath function 2020-08-08 17:07:48 +08:00
Kconfig
MAINTAINERS
Makefile hv: implement ivshmem memory regions initialization 2020-08-19 15:06:15 +08:00
README.rst doc: fix utf-8 punctuation, branding, spelling 2019-03-14 09:13:58 -07:00

README.rst

ACRN Hypervisor
###############

The open source `Project ACRN`_ defines a device hypervisor reference stack and
an architecture for running multiple software subsystems, managed securely, on
a consolidated system by means of a virtual machine manager. It also defines a
reference framework implementation for virtual device emulation, called the
"ACRN Device Model".

The ACRN Hypervisor is a Type 1 reference hypervisor stack, running directly on
the bare-metal hardware, and is suitable for a variety of IoT and embedded
device solutions. The ACRN hypervisor addresses the gap that currently exists
between datacenter hypervisors, and hard partitioning hypervisors. The ACRN
hypervisor architecture partitions the system into different functional
domains, with carefully selected guest OS sharing optimizations for IoT and
embedded devices.

You can find out more about Project ACRN on the `Project ACRN documentation`_
website.

.. _`Project ACRN`: https://projectacrn.org
.. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor
.. _`Project ACRN documentation`: https://projectacrn.github.io/