acrn-hypervisor/misc
Junjie Mao d96ab7ec90 board_inspector/pcieparser: check config space size of PCIe devices
According to PCIe specification (since 2.0), absence of any extended
capabilities is required to be indicated by an extended capability header
with a capability ID of FFFFh and a next capability offset of 000h. Thus,
the board inspector today accesses the first extended capability header at
100h in the configuration space of a PCIe function unconditionally.

However, in practice we have seen real PCI functions which has a PCIe
capability but no extended capability header. This will cause the board
inspector to crash due to invalid configuration space accesses.

To fix that, this patch adds a check to the size of the configuration space
before walking the extended capabilities of a PCIe function.

Tracked-On: #6411
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2022-01-07 19:32:20 +08:00
..
config_tools board_inspector/pcieparser: check config space size of PCIe devices 2022-01-07 19:32:20 +08:00
debug_tools Removed command prompts per feedback 2021-11-04 14:11:42 -07:00
efi-stub ACRN: misc: Unify terminology for service vm/user vm 2021-11-02 10:00:55 +08:00
hv_prebuild hv_prebuild: Support LAPIC-PT only VM 2021-12-14 09:55:02 +08:00
packaging deb-pkg: rename acrn-sos to acrn-service-vm 2022-01-06 14:41:41 +08:00
services Misc: acrnd: fix acrnd start failure 2022-01-04 18:47:32 +08:00
Makefile tools: do not build life_mngr by default 2021-03-29 15:38:29 +08:00
README.rst doc: fix all headings to use title case 2021-02-13 12:37:49 -08:00

README.rst

ACRN Tools
##########

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".

This folder holds the source to a number of tools that facilitate the
management, debugging, profiling, and logging of multi-OS systems based on
ACRN.

You can find out more about Project ACRN and its set of tools on the
`Project ACRN documentation`_ website.

.. _`Project ACRN`: https://projectacrn.org
.. _`Project ACRN documentation`: https://projectacrn.github.io/