[RFC PATCH 0/4] xen/arm: Sanitize cpuinfo

Bertrand Marquis posted 4 patches 2 years, 10 months ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/cover.1624974370.git.bertrand.marquis@arm.com
There is a newer version of this series
xen/arch/arm/arm64/Makefile         |   1 +
xen/arch/arm/arm64/cpusanitize.c    | 628 ++++++++++++++++++++++++++++
xen/arch/arm/p2m.c                  |  30 +-
xen/arch/arm/smpboot.c              |   5 +-
xen/include/asm-arm/arm64/sysregs.h | 312 ++++++++++++++
xen/include/asm-arm/cpufeature.h    |   9 +
xen/include/xen/lib.h               |   1 +
7 files changed, 965 insertions(+), 21 deletions(-)
create mode 100644 xen/arch/arm/arm64/cpusanitize.c
[RFC PATCH 0/4] xen/arm: Sanitize cpuinfo
Posted by Bertrand Marquis 2 years, 10 months ago
On arm architecture we might have heterogeneous platforms with different
types of cores. As a guest can potentialy run on any of those cores we
have to present them cpu features which are compatible with all cores
and discard the features which are only available on some cores.

As the features can be fairly complex, the way to deduce from 2
different features, what should be the acceptable minimal feature can be
complex (and sometime impossible).

This RFC is a first attempt for a solution to start a discussion and get
inputs from the community.

To reduce the implementation effort in Xen, this serie is importing the
structures and filtering system used by Linux in order to build a
cpuinfo containing the best values compatible with all cores on the
platform.

The serie start by importing the necessary code and structure from Linux
and then use it to sanitize the boot cpuinfo.
Finally it is simplifying some Xen code which was doing the same in p2m
and allows to use heterogeneous platforms on arm64.


Bertrand Marquis (4):
  xen/arm: Import ID registers definitions from Linux
  xen/arm: Import ID features sanitize from linux
  xen/arm: Sanitize cpuinfo ID registers fields
  xen/arm: Use sanitize values for p2m

 xen/arch/arm/arm64/Makefile         |   1 +
 xen/arch/arm/arm64/cpusanitize.c    | 628 ++++++++++++++++++++++++++++
 xen/arch/arm/p2m.c                  |  30 +-
 xen/arch/arm/smpboot.c              |   5 +-
 xen/include/asm-arm/arm64/sysregs.h | 312 ++++++++++++++
 xen/include/asm-arm/cpufeature.h    |   9 +
 xen/include/xen/lib.h               |   1 +
 7 files changed, 965 insertions(+), 21 deletions(-)
 create mode 100644 xen/arch/arm/arm64/cpusanitize.c

-- 
2.17.1